X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_algebra.py;h=a2adbb2bed47499aea53b38fe175547b887fb2a9;hb=e6bb7aba7677a04c3aaa4d1fdd9dd45185db2067;hp=b2891e577e9aa0c5e36b64b6a537807e9330d0e6;hpb=bc02bf48592e22d034310cfffef8fb2a062c0a43;p=sage.d.git diff --git a/mjo/eja/eja_algebra.py b/mjo/eja/eja_algebra.py index b2891e5..a2adbb2 100644 --- a/mjo/eja/eja_algebra.py +++ b/mjo/eja/eja_algebra.py @@ -1988,6 +1988,14 @@ class RealSymmetricEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA): A = MatrixSpace(field, n) super().__init__(A, **kwargs) + from mjo.eja.eja_cache import real_symmetric_eja_coeffs + a = real_symmetric_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) + class ComplexHermitianEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA): @@ -2070,6 +2078,13 @@ class ComplexHermitianEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA): A = ComplexMatrixAlgebra(n, scalars=field) super().__init__(A, **kwargs) + from mjo.eja.eja_cache import complex_hermitian_eja_coeffs + a = complex_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(): @@ -2150,6 +2165,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,6 +2305,14 @@ class OctonionHermitianEJA(MatrixEJA, RationalBasisEJA, ConcreteEJA): A = OctonionMatrixAlgebra(n, scalars=field) super().__init__(A, **kwargs) + 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: + self._rational_algebra._charpoly_coefficients.set_cache(a) + class AlbertEJA(OctonionHermitianEJA): r"""