]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_operator.py
eja: add is_zero() method for operators.
[sage.d.git] / mjo / eja / eja_operator.py
index 468a921fc2788176a696f93a9e042a5333a199e7..3133eb99415b7853d2b579690fc37526665dec0f 100644 (file)
@@ -419,6 +419,49 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map):
         return (self + (-other))
 
 
+    def is_zero(self):
+        r"""
+        Return whether or not this map is the zero operator.
+
+        SETUP::
+
+            sage: from mjo.eja.eja_operator import FiniteDimensionalEuclideanJordanAlgebraOperator
+            sage: from mjo.eja.eja_algebra import (random_eja,
+            ....:                                  JordanSpinEJA,
+            ....:                                  RealSymmetricEJA)
+
+        EXAMPLES::
+
+            sage: J1 = JordanSpinEJA(2)
+            sage: J2 = RealSymmetricEJA(2)
+            sage: R = J1.base_ring()
+            sage: M = matrix(R, [ [0, 0],
+            ....:                 [0, 0],
+            ....:                 [0, 0] ])
+            sage: L = FiniteDimensionalEuclideanJordanAlgebraOperator(J1,J2,M)
+            sage: L.is_zero()
+            True
+            sage: M = matrix(R, [ [0, 0],
+            ....:                 [0, 1],
+            ....:                 [0, 0] ])
+            sage: L = FiniteDimensionalEuclideanJordanAlgebraOperator(J1,J2,M)
+            sage: L.is_zero()
+            False
+
+        TESTS:
+
+        The left-multiplication-by-zero operation on a given algebra
+        is its zero map::
+
+            sage: set_random_seed()
+            sage: J = random_eja()
+            sage: J.zero().operator().is_zero()
+            True
+
+        """
+        return self.matrix().is_zero()
+
+
     def inverse(self):
         """
         Return the inverse of this operator, if it exists.