]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: fix ComplexHermitianEJA over AA and RR.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 30 Aug 2019 00:13:36 +0000 (20:13 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Fri, 30 Aug 2019 00:13:36 +0000 (20:13 -0400)
mjo/eja/eja_algebra.py

index 515e25f9c97de0ae102e8dc6bd7b29db89e39dd0..359b7404a6fe5d003151e1e82d6c78090b0ea9f6 100644 (file)
@@ -1223,15 +1223,17 @@ class ComplexMatrixEuclideanJordanAlgebra(MatrixEuclideanJordanAlgebra):
         n = M.nrows()
         if M.ncols() != n:
             raise ValueError("the matrix 'M' must be square")
-        field = M.base_ring()
+
+        # We don't need any adjoined elements...
+        field = M.base_ring().base_ring()
+
         blocks = []
         for z in M.list():
-            a = z.vector()[0] # real part, I guess
-            b = z.vector()[1] # imag part, I guess
+            a = z.list()[0] # real part, I guess
+            b = z.list()[1] # imag part, I guess
             blocks.append(matrix(field, 2, [[a,b],[-b,a]]))
 
-        # We can drop the imaginaries here.
-        return matrix.block(field.base_ring(), n, blocks)
+        return matrix.block(field, n, blocks)
 
 
     @staticmethod
@@ -1338,6 +1340,16 @@ class ComplexHermitianEJA(ComplexMatrixEuclideanJordanAlgebra, KnownRankEJA):
 
         sage: from mjo.eja.eja_algebra import ComplexHermitianEJA
 
+    EXAMPLES:
+
+    In theory, our "field" can be any subfield of the reals::
+
+        sage: ComplexHermitianEJA(2,AA)
+        Euclidean Jordan algebra of dimension 4 over Algebraic Real Field
+        sage: ComplexHermitianEJA(2,RR)
+        Euclidean Jordan algebra of dimension 4 over Real Field with
+        53 bits of precision
+
     TESTS:
 
     The dimension of this algebra is `n^2`::