]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: add is_zero() method for operators.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 20 Nov 2020 05:16:12 +0000 (00:16 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Tue, 24 Nov 2020 13:08:03 +0000 (08:08 -0500)
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.