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
The
.interior_product()
method of anExteriorAlgebra
element doesn't return the correct basis (atuple
rather than aFrozenBitset
).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