# in the "normal" case without us having to think about it.
return self.operator().minimal_polynomial()
- A = self.subalgebra_generated_by(orthonormalize_basis=False)
+ A = self.subalgebra_generated_by(orthonormalize=False)
return A(self).operator().minimal_polynomial()
[(0, f2), (1, f0)]
"""
- A = self.subalgebra_generated_by(orthonormalize_basis=True)
+ A = self.subalgebra_generated_by(orthonormalize=True)
result = []
for (evalue, proj) in A(self).operator().spectral_decomposition():
result.append( (evalue, proj(A.one()).superalgebra_element()) )
True
"""
- from mjo.eja.eja_element_subalgebra import FiniteDimensionalEJAElementSubalgebra
- return FiniteDimensionalEJAElementSubalgebra(self, **kwargs)
+ from mjo.eja.eja_subalgebra import FiniteDimensionalEJASubalgebra
+ powers = tuple( self**k for k in range(self.degree()) )
+ A = FiniteDimensionalEJASubalgebra(self.parent(),
+ powers,
+ associative=True,
+ **kwargs)
+ A.one.set_cache(A(self.parent().one()))
+ return A
def subalgebra_idempotent(self):