Skip to content

Bug in ExteriorAlgebra interior product #34694

@trevorkarn

Description

@trevorkarn

The .interior_product() method of an ExteriorAlgebra element doesn't return the correct basis (a tuple rather than a FrozenBitset).

sage: E = ExteriorAlgebra(SR,'e',3)
sage: E.inject_variables()
Defining e0, e1, e2
sage: a = (e0*e1).interior_product(e0)
sage: a * e0
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [1], in <cell line: 5>()
      2 E.inject_variables()
      4 a = (e0*e1).interior_product(e0)
----> 5 a * e0

File /home/sc_serv/sage/src/sage/structure/element.pyx:1514, in sage.structure.element.Element.__mul__()
   1512 cdef int cl = classify_elements(left, right)
   1513 if HAVE_SAME_PARENT(cl):
-> 1514     return (<Element>left)._mul_(right)
   1515 if BOTH_ARE_ELEMENT(cl):
   1516     return coercion_model.bin_op(left, right, mul)

File /home/sc_serv/sage/src/sage/algebras/clifford_algebra_element.pyx:458, in sage.algebras.clifford_algebra_element.ExteriorAlgebraElement._mul_()
    456 if len(rhs._monomial_coefficients) == 1:
    457     mr, cr = next(iter(rhs._monomial_coefficients.items()))
--> 458     return self._mul_self_term(mr, cr)
    459 
    460 # Special case: self is a single term

File /home/sc_serv/sage/src/sage/algebras/clifford_algebra_element.pyx:570, in sage.algebras.clifford_algebra_element.ExteriorAlgebraElement._mul_self_term()
    568 n = self._parent.ngens()
    569 d = {}
--> 570 for ml, cl in self._monomial_coefficients.items(): # ml for "monomial on the left"
    571     if not ml.isdisjoint(supp):
    572         # if they intersect nontrivially, move along.

TypeError: Cannot convert tuple to sage.data_structures.bitset.FrozenBitset

CC: @tscrim @fchapoton

Component: algebra

Keywords: exterior-algebra interior-product

Author: Trevor K. Karn

Branch: 32cdf86

Reviewer: Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/34694

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions