]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: remove broken one() implementation in subalgebras.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 10 Nov 2019 13:52:44 +0000 (08:52 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 10 Nov 2019 13:52:44 +0000 (08:52 -0500)
The one() implementetion for the algebra generated by an element is
not, in general, correct for a subalgebra. Subalgebras can have
different identities than superalgebras -- take the Peirce
decomposition, for example.

mjo/eja/eja_subalgebra.py

index b07f7e25ee599322cad6ec0d94bdd23bf0a964fe..10303489f5af35bca16694b688269f50da50cdaf 100644 (file)
@@ -193,84 +193,6 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda
         return self.from_vector(coords)
 
 
-    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 superalgebra identity
-        restricted to this algebra is its identity. Note that we can't
-        count on the first basis element being the identity -- it migth
-        have been scaled if we orthonormalized the basis.
-
-        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 over the rationals::
-
-            sage: set_random_seed()
-            sage: x = random_eja().random_element()
-            sage: A = x.subalgebra_generated_by()
-            sage: x = A.random_element()
-            sage: A.one()*x == x and x*A.one() == x
-            True
-
-        The identity element acts like the identity over the algebraic
-        reals with an orthonormal basis::
-
-            sage: set_random_seed()
-            sage: x = random_eja(AA).random_element()
-            sage: A = x.subalgebra_generated_by(orthonormalize_basis=True)
-            sage: x = A.random_element()
-            sage: A.one()*x == x and x*A.one() == x
-            True
-
-        The matrix of the unit element's operator is the identity over
-        the rationals::
-
-            sage: set_random_seed()
-            sage: x = random_eja().random_element()
-            sage: A = x.subalgebra_generated_by()
-            sage: actual = A.one().operator().matrix()
-            sage: expected = matrix.identity(A.base_ring(), A.dimension())
-            sage: actual == expected
-            True
-
-        The matrix of the unit element's operator is the identity over
-        the algebraic reals with an orthonormal basis::
-
-            sage: set_random_seed()
-            sage: x = random_eja(AA).random_element()
-            sage: A = x.subalgebra_generated_by(orthonormalize_basis=True)
-            sage: actual = A.one().operator().matrix()
-            sage: expected = matrix.identity(A.base_ring(), A.dimension())
-            sage: actual == expected
-            True
-
-        """
-        if self.dimension() == 0:
-            return self.zero()
-        else:
-            sa_one = self.superalgebra().one().to_vector()
-            sa_coords = self.vector_space().coordinate_vector(sa_one)
-            return self.from_vector(sa_coords)
-
 
     def natural_basis_space(self):
         """