]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/euclidean_jordan_algebra.py
eja: fix the basis order for Sn.
[sage.d.git] / mjo / eja / euclidean_jordan_algebra.py
index 52a8a74634dbec03744324634ccefbaa3bd82c06..802171fb0c4cc029c43d4fb4b17004d76bb938ed 100644 (file)
@@ -641,8 +641,16 @@ def eja_sn(dimension, field=QQ):
     def mat2vec(m):
         return vector(field, m.list())
 
+    def vec2mat(v):
+        return matrix(field, dimension, v.list())
+
     W = V.span( mat2vec(s) for s in S )
 
+    # Taking the span above reorders our basis (thanks, jerk!) so we
+    # need to put our "matrix basis" in the same order as the
+    # (reordered) vector basis.
+    S = [ vec2mat(b) for b in W.basis() ]
+
     for s in S:
         # Brute force the multiplication-by-s matrix by looping
         # through all elements of the basis and doing the computation