]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_algebra.py
eja: fix the basis for the octonion matrix algebra.
[sage.d.git] / mjo / eja / eja_algebra.py
index e16fd97c4f0e55591728dc8204da3d941529380c..18138f4c2a8ca4fad76b79de29d0e64e09a6435f 100644 (file)
@@ -2629,7 +2629,7 @@ class OctonionHermitianEJA(FiniteDimensionalEJA, MatrixEJA):
 
         """
         from mjo.octonions import OctonionMatrixAlgebra
-        MS = OctonionMatrixAlgebra(n, field=field)
+        MS = OctonionMatrixAlgebra(n, scalars=field)
         es = MS.entry_algebra().gens()
 
         basis = []
@@ -2641,7 +2641,13 @@ class OctonionHermitianEJA(FiniteDimensionalEJA, MatrixEJA):
                 else:
                     for e in es:
                         E_ij  = MS.monomial( (i,j,e)             )
-                        E_ij += MS.monomial( (j,i,e.conjugate()) )
+                        ec = e.conjugate()
+                        # If the conjugate has a negative sign in front
+                        # of it, (j,i,ec) won't be a monomial!
+                        if (j,i,ec) in MS.indices():
+                            E_ij += MS.monomial( (j,i,ec) )
+                        else:
+                            E_ij -= MS.monomial( (j,i,-ec) )
                         basis.append(E_ij)
 
         return tuple( basis )