]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_algebra.py
eja: define subalgebra_generated_by() to contain the identity.
[sage.d.git] / mjo / eja / eja_algebra.py
index 7a65fabdcfcd4adf9c2369dd7d64da50e17b1bd3..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
@@ -625,14 +622,6 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule):
         return self.linear_combination(zip(self.gens(), coeffs))
 
 
-    def random_element(self):
-        # Temporary workaround for https://trac.sagemath.org/ticket/28327
-        if self.is_trivial():
-            return self.zero()
-        else:
-            s = super(FiniteDimensionalEuclideanJordanAlgebra, self)
-            return s.random_element()
-
     def random_elements(self, count):
         """
         Return ``count`` random elements as a tuple.
@@ -852,7 +841,7 @@ class RealCartesianProductEJA(FiniteDimensionalEuclideanJordanAlgebra,
         return x.to_vector().inner_product(y.to_vector())
 
 
-def random_eja():
+def random_eja(field=QQ):
     """
     Return a "random" finite-dimensional Euclidean Jordan Algebra.
 
@@ -889,7 +878,7 @@ def random_eja():
 
     """
     classname = choice(KnownRankEJA.__subclasses__())
-    return classname.random_instance()
+    return classname.random_instance(field=field)