- def _element_constructor_(self, elt):
- r"""
- Construct an element of this algebra from an ordered tuple.
-
- We just apply the element constructor from each of our factors
- to the corresponding component of the tuple, and package up
- the result.
-
- SETUP::
-
- sage: from mjo.eja.eja_algebra import (HadamardEJA,
- ....: RealSymmetricEJA)
-
- EXAMPLES::
-
- sage: J1 = HadamardEJA(3)
- sage: J2 = RealSymmetricEJA(2)
- sage: J = cartesian_product([J1,J2])
- sage: J( (J1.matrix_basis()[1], J2.matrix_basis()[2]) )
- e(0, 1) + e(1, 2)
- """
- m = len(self.cartesian_factors())
- try:
- z = tuple( self.cartesian_factors()[i](elt[i]) for i in range(m) )
- return self._cartesian_product_of_elements(z)
- except:
- raise ValueError("not an element of this algebra")
-
- Element = CartesianProductEJAElement
-