]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_operator.py
eja: add norm() and trace_norm() methods for elements.
[sage.d.git] / mjo / eja / eja_operator.py
index 1f10048812301baa8c13c4d49f5e4475a9cc04d7..7c3b2a6a4721848caaaf4d30cecbb08d0eab587f 100644 (file)
@@ -46,14 +46,14 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
         EXAMPLES::
 
             sage: J = JordanSpinEJA(3)
-            sage: x = J.linear_combination(zip(range(len(J.gens())), J.gens()))
+            sage: x = J.linear_combination(zip(J.gens(),range(len(J.gens()))))
             sage: id = identity_matrix(J.base_ring(), J.dimension())
             sage: f = FiniteDimensionalEuclideanJordanAlgebraOperator(J,J,id)
             sage: f(x) == x
             True
 
         """
-        return self.codomain()(self.matrix()*x.vector())
+        return self.codomain().from_vector(self.matrix()*x.to_vector())
 
 
     def _add_(self, other):
@@ -81,8 +81,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [2 0 0]
             [0 2 0]
             [0 0 2]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         If you try to add two identical vector space operators but on
         different EJAs, that should blow up::
@@ -135,8 +137,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             Linear operator between finite-dimensional Euclidean Jordan
             algebras represented by the matrix:
             [39 54 69]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 1 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 1 over
+            Rational Field
 
         """
         return FiniteDimensionalEuclideanJordanAlgebraOperator(
@@ -175,8 +179,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [1 0 0]
             [0 1 0]
             [0 0 1]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         """
         return FiniteDimensionalEuclideanJordanAlgebraOperator(
@@ -212,16 +218,20 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [ 2  4  0]
             [ 2  9  2]
             [ 0  4 16]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
             sage: x.operator()*(1/2)
             Linear operator between finite-dimensional Euclidean Jordan algebras
             represented by the matrix:
             [  1   2   0]
             [  1 9/2   1]
             [  0   2   8]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         """
         if other in self.codomain().base_ring():
@@ -256,8 +266,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [-1  0  0]
             [ 0 -1  0]
             [ 0  0 -1]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         """
         return FiniteDimensionalEuclideanJordanAlgebraOperator(
@@ -289,8 +301,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [3 0 0]
             [0 3 0]
             [0 0 3]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         """
         if (n == 1):
@@ -330,8 +344,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             algebras represented by the matrix:
             [1 0]
             [0 1]
-            Domain: Euclidean Jordan algebra of degree 2 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 2 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 2 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 2 over
+            Rational Field
 
         """
         msg = ("Linear operator between finite-dimensional Euclidean Jordan "
@@ -364,8 +380,10 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             [-1  0  0]
             [ 0 -1  0]
             [ 0  0 -1]
-            Domain: Euclidean Jordan algebra of degree 3 over Rational Field
-            Codomain: Euclidean Jordan algebra of degree 3 over Rational Field
+            Domain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
+            Codomain: Euclidean Jordan algebra of dimension 3 over
+            Rational Field
 
         """
         return (self + (-other))