X-Git-Url: http://gitweb.michael.orlitzky.com/?p=sage.d.git;a=blobdiff_plain;f=mjo%2Feja%2Feja_algebra.py;h=3659694fe27625939b76de434c8a882a60e6faef;hp=1cf6fa51dd2626df1e75dcaeab95fc743000130f;hb=3105d9a726d9fd18569ed733d16078be7160362e;hpb=8ccf1d8af20cea17897aed21426b17872fd0fca3 diff --git a/mjo/eja/eja_algebra.py b/mjo/eja/eja_algebra.py index 1cf6fa5..3659694 100644 --- a/mjo/eja/eja_algebra.py +++ b/mjo/eja/eja_algebra.py @@ -2586,7 +2586,40 @@ class QuaternionHermitianEJA(ConcreteEJA, QuaternionMatrixEJA): return cls(n, **kwargs) class OctonionHermitianEJA(FiniteDimensionalEJA, MatrixEJA): + r""" + + SETUP:: + sage: from mjo.eja.eja_algebra import OctonionHermitianEJA + + EXAMPLES: + + The 3-by-3 algebra satisfies the axioms of an EJA:: + + sage: OctonionHermitianEJA(3, # long time + ....: field=QQ, # long time + ....: orthonormalize=False, # long time + ....: check_axioms=True) # long time + Euclidean Jordan algebra of dimension 27 over Rational Field + + TESTS:: + + sage: J = OctonionHermitianEJA(3, # long time + ....: field=QQ, # long time + ....: orthonormalize=False) # long time + sage: J.one.clear_cache() # long time + sage: J.one() # long time + b0 + b9 + b26 + sage: J.one().to_matrix() # long time + +----+----+----+ + | e0 | 0 | 0 | + +----+----+----+ + | 0 | e0 | 0 | + +----+----+----+ + | 0 | 0 | e0 | + +----+----+----+ + + """ def __init__(self, n, field=AA, **kwargs): if n > 3: # Otherwise we don't get an EJA. @@ -2599,6 +2632,7 @@ class OctonionHermitianEJA(FiniteDimensionalEJA, MatrixEJA): super().__init__(self._denormalized_basis(n,field), self.jordan_product, self.trace_inner_product, + field=field, **kwargs) # TODO: this could be factored out somehow, but is left here @@ -2621,7 +2655,7 @@ class OctonionHermitianEJA(FiniteDimensionalEJA, MatrixEJA): EXAMPLES:: - sage: B = OctonionHermitianEJA._denormalized_basis(3) + sage: B = OctonionHermitianEJA._denormalized_basis(3,QQ) sage: all( M.is_hermitian() for M in B ) True sage: len(B)