]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_operator.py
eja: add a new TrivialEJA class and some tests for it.
[sage.d.git] / mjo / eja / eja_operator.py
index 6e22d367c6faa55a4f1461925ce62b04aaedfef1..2a0c9c48633cd06551c49515840680b57a5b927d 100644 (file)
@@ -420,14 +420,13 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             sage: idJ.inverse() == idJ
             True
 
-        The zero operator is never invertible::
+        The inverse of the inverse is the operator we started with::
 
             sage: set_random_seed()
-            sage: J = random_eja()
-            sage: J.zero().operator().inverse()
-            Traceback (most recent call last):
-            ...
-            ZeroDivisionError: input matrix must be nonsingular
+            sage: x = random_eja().random_element()
+            sage: L = x.operator()
+            sage: not L.is_invertible() or (L.inverse().inverse() == L)
+            True
 
         """
         return ~self
@@ -439,7 +438,9 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
 
         SETUP::
 
-            sage: from mjo.eja.eja_algebra import RealSymmetricEJA, random_eja
+            sage: from mjo.eja.eja_algebra import (RealSymmetricEJA,
+            ....:                                  TrivialEJA,
+            ....:                                  random_eja)
 
         EXAMPLES::
 
@@ -454,6 +455,12 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             sage: x.operator().is_invertible()
             True
 
+        The zero operator is invertible in a trivial algebra::
+
+            sage: J = TrivialEJA()
+            sage: J.zero().operator().is_invertible()
+            True
+
         TESTS:
 
         The identity operator is always invertible::
@@ -463,11 +470,11 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
             sage: J.one().operator().is_invertible()
             True
 
-        The zero operator is never invertible::
+        The zero operator is never invertible in a nontrivial algebra::
 
             sage: set_random_seed()
             sage: J = random_eja()
-            sage: J.zero().operator().is_invertible()
+            sage: not J.is_trivial() and J.zero().operator().is_invertible()
             False
 
         """