]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_algebra.py
eja: more charpoly coefficient caching.
[sage.d.git] / mjo / eja / eja_algebra.py
index 587d8e339463adaafb0a390ec164e76a6e5ca0c4..a10e2a37f30313c54e0d0682c524c71f0e5af416 100644 (file)
@@ -2150,6 +2150,15 @@ class QuaternionHermitianEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA):
         A = QuaternionMatrixAlgebra(n, scalars=field)
         super().__init__(A, **kwargs)
 
+        from mjo.eja.eja_cache import quaternion_hermitian_eja_coeffs
+        a = quaternion_hermitian_eja_coeffs(self)
+        if a is not None:
+            if self._rational_algebra is None:
+                self._charpoly_coefficients.set_cache(a)
+            else:
+                self._rational_algebra._charpoly_coefficients.set_cache(a)
+
+
 
     @staticmethod
     def _max_random_instance_size():
@@ -2281,9 +2290,9 @@ class OctonionHermitianEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA):
         A = OctonionMatrixAlgebra(n, scalars=field)
         super().__init__(A, **kwargs)
 
-        if n == 3:
-            from mjo.eja.eja_cache import albert_eja_coeffs
-            a = albert_eja_coeffs(self.coordinate_polynomial_ring())
+        from mjo.eja.eja_cache import octonion_hermitian_eja_coeffs
+        a = octonion_hermitian_eja_coeffs(self)
+        if a is not None:
             if self._rational_algebra is None:
                 self._charpoly_coefficients.set_cache(a)
             else: