]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_element_subalgebra.py
eja: fix tests and pre-cache ranks.
[sage.d.git] / mjo / eja / eja_element_subalgebra.py
index cff8b4e8bbc8e1f2119061ca5a5bb84842393a03..608cbc2ed2004235b1f0a356d4a9f89119a2f6c0 100644 (file)
@@ -49,19 +49,18 @@ class FiniteDimensionalEuclideanJordanElementSubalgebra(FiniteDimensionalEuclide
 
         W = V.span_of_basis( V.from_vector(v) for v in basis_vectors )
 
+        fdeja = super(FiniteDimensionalEuclideanJordanElementSubalgebra, self)
+        fdeja.__init__(self._superalgebra,
+                       superalgebra_basis,
+                       category=category)
+
         # The rank is the highest possible degree of a minimal
         # polynomial, and is bounded above by the dimension. We know
         # in this case that there's an element whose minimal
         # polynomial has the same degree as the space's dimension
         # (remember how we constructed the space?), so that must be
         # its rank too.
-        rank = W.dimension()
-
-        fdeja = super(FiniteDimensionalEuclideanJordanElementSubalgebra, self)
-        return fdeja.__init__(self._superalgebra,
-                              superalgebra_basis,
-                              rank=rank,
-                              category=category)
+        self.rank.set_cache(W.dimension())
 
 
     def _a_regular_element(self):