]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: define subalgebra_generated_by() to contain the identity.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 14 Oct 2019 13:43:17 +0000 (09:43 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 14 Oct 2019 13:43:17 +0000 (09:43 -0400)
mjo/eja/eja_algebra.py
mjo/eja/eja_element.py
mjo/eja/eja_subalgebra.py

index df6a0487c7d4856d42a04bea78d80034ea71ab0d..658957556cf382a62d0d252359ce735019996973 100644 (file)
@@ -449,9 +449,6 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule):
             sage: J = ComplexHermitianEJA(3)
             sage: J.is_trivial()
             False
-            sage: A = J.zero().subalgebra_generated_by()
-            sage: A.is_trivial()
-            True
 
         """
         return self.dimension() == 0
index e7dff7529026cf007056a5ecd66a8f9fba98562a..ee33e4ba89fcc3c47be1f9467042dae5e678c859 100644 (file)
@@ -1046,6 +1046,13 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement):
         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
@@ -1070,14 +1077,13 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement):
             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)
index 2c877f34b03268f59b0b73501c62d6cd419a8253..0f641416366ef7ee72d4703e070c69e2d60e30a9 100644 (file)
@@ -128,24 +128,6 @@ class FiniteDimensionalEuclideanJordanElementSubalgebra(FiniteDimensionalEuclide
         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).