]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_operator.py
eja: normalize the real symmetric matrix basis.
[sage.d.git] / mjo / eja / eja_operator.py
index 7c3b2a6a4721848caaaf4d30cecbb08d0eab587f..4b72e5783210b51cd6d8d658f0f5d4e8c40a7f57 100644 (file)
@@ -81,10 +81,8 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [2 0 0]
             [0 2 0]
             [0 0 2]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         If you try to add two identical vector space operators but on
         different EJAs, that should blow up::
@@ -179,10 +177,8 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [1 0 0]
             [0 1 0]
             [0 0 1]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         """
         return FiniteDimensionalEuclideanJordanAlgebraOperator(
@@ -215,30 +211,31 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             sage: x.operator()
             Linear operator between finite-dimensional Euclidean Jordan algebras
             represented by the matrix:
-            [ 2  4  0]
+            [ 2  2  0]
             [ 2  9  2]
-            [ 0  4 16]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            [ 0  2 16]
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
             sage: x.operator()*(1/2)
             Linear operator between finite-dimensional Euclidean Jordan algebras
             represented by the matrix:
-            [  1   2   0]
+            [  1   1   0]
             [  1 9/2   1]
-            [  0   2   8]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            [  0   1   8]
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         """
-        if other in self.codomain().base_ring():
-            return FiniteDimensionalEuclideanJordanAlgebraOperator(
-                self.domain(),
-                self.codomain(),
-                self.matrix()*other)
+        try:
+            if other in self.codomain().base_ring():
+                return FiniteDimensionalEuclideanJordanAlgebraOperator(
+                    self.domain(),
+                    self.codomain(),
+                    self.matrix()*other)
+        except NotImplementedError:
+            # This can happen with certain arguments if the base_ring()
+            # is weird and doesn't know how to test membership.
+            pass
 
         # This should eventually delegate to _composition_ after performing
         # some sanity checks for us.
@@ -266,10 +263,8 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [-1  0  0]
             [ 0 -1  0]
             [ 0  0 -1]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         """
         return FiniteDimensionalEuclideanJordanAlgebraOperator(
@@ -301,10 +296,8 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [3 0 0]
             [0 3 0]
             [0 0 3]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         """
         if (n == 1):
@@ -380,10 +373,8 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [-1  0  0]
             [ 0 -1  0]
             [ 0  0 -1]
-            Domain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
-            Codomain: Euclidean Jordan algebra of dimension 3 over
-            Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over...
+            Codomain: Euclidean Jordan algebra of dimension 3 over...
 
         """
         return (self + (-other))