Return the associative subalgebra of the parent EJA generated
by this element.
+ Since our parent algebra is unital, we want "subalgebra" to mean
+ "unital subalgebra" as well; thus the subalgebra that an element
+ generates will itself be a Euclidean Jordan algebra after
+ restricting the algebra operations appropriately. This is the
+ subalgebra that Faraut and Korányi work with in section II.2, for
+ example.
+
SETUP::
sage: from mjo.eja.eja_algebra import random_eja
sage: A(x^2) == A(x)*A(x)
True
- The subalgebra generated by the zero element is trivial::
+ By definition, the subalgebra generated by the zero element is the
+ one-dimensional algebra generated by the identity element::
sage: set_random_seed()
sage: A = random_eja().zero().subalgebra_generated_by()
- sage: A
- Euclidean Jordan algebra of dimension 0 over...
- sage: A.one()
- 0
+ sage: A.dimension()
+ 1
"""
return FiniteDimensionalEuclideanJordanElementSubalgebra(self, orthonormalize_basis)
except ValueError:
prefix = prefixen[0]
- if elt.is_zero():
- # Short circuit because 0^0 == 1 is going to make us
- # think we have a one-dimensional algebra otherwise.
- natural_basis = tuple()
- mult_table = tuple()
- rank = 0
- self._vector_space = V.zero_subspace()
- self._superalgebra_basis = []
- fdeja = super(FiniteDimensionalEuclideanJordanElementSubalgebra,
- self)
- return fdeja.__init__(field,
- mult_table,
- rank,
- prefix=prefix,
- category=category,
- natural_basis=natural_basis)
-
-
# This list is guaranteed to contain all independent powers,
# because it's the maximal set of powers that could possibly
# be independent (by a dimension argument).