]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: fix the basis order for Sn.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 5 Jul 2019 00:22:46 +0000 (20:22 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 29 Jul 2019 03:19:01 +0000 (23:19 -0400)
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