X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=7451e47bdbbbf2d58ce598aa3bb4e17ec42d5dae;hb=ec7dbfb6ce0054f55280412e43870b4019abc40c;hp=22fa870fb551624f9b9c47f181cd8aa023944cb6;hpb=120a0fdb88c5e41b07c23715b928c72c07c4e2ce;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index 22fa870..7451e47 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -162,6 +162,62 @@ class FiniteDimensionalEuclideanJordanElementSubalgebra(FiniteDimensionalEuclide return self.from_vector(coords) + def one_basis(self): + """ + Return the basis-element-index of this algebra's unit element. + """ + return 0 + + + def one(self): + """ + Return the multiplicative identity element of this algebra. + + The superclass method computes the identity element, which is + beyond overkill in this case: the algebra identity should be our + first basis element. We implement this via :meth:`one_basis` + because that method can optionally be used by other parts of the + category framework. + + SETUP:: + + sage: from mjo.eja.eja_algebra import (RealCartesianProductEJA, + ....: random_eja) + + EXAMPLES:: + + sage: J = RealCartesianProductEJA(5) + sage: J.one() + e0 + e1 + e2 + e3 + e4 + sage: x = sum(J.gens()) + sage: A = x.subalgebra_generated_by() + sage: A.one() + f0 + sage: A.one().superalgebra_element() + e0 + e1 + e2 + e3 + e4 + + TESTS: + + The identity element acts like the identity:: + + sage: set_random_seed() + sage: J = random_eja().random_element().subalgebra_generated_by() + sage: x = J.random_element() + sage: J.one()*x == x and x*J.one() == x + True + + The matrix of the unit element's operator is the identity:: + + sage: set_random_seed() + sage: J = random_eja().random_element().subalgebra_generated_by() + sage: actual = J.one().operator().matrix() + sage: expected = matrix.identity(J.base_ring(), J.dimension()) + sage: actual == expected + True + """ + return self.monomial(self.one_basis()) + + def superalgebra(self): """ Return the superalgebra that this algebra was generated from.