From: Michael Orlitzky Date: Wed, 25 Nov 2020 19:33:34 +0000 (-0500) Subject: eja: add is_self_adjoint() for operators. X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=4c6ab92d378613a9a053b62382b7e0cda7c450ab;p=sage.d.git eja: add is_self_adjoint() for operators. --- diff --git a/mjo/eja/eja_algebra.py b/mjo/eja/eja_algebra.py index a0af3f0..2ea1a92 100644 --- a/mjo/eja/eja_algebra.py +++ b/mjo/eja/eja_algebra.py @@ -1123,7 +1123,7 @@ class ConcreteEuclideanJordanAlgebra: sage: set_random_seed() sage: J = ConcreteEuclideanJordanAlgebra.random_instance() sage: x = J.random_element() - sage: x.operator().matrix().is_symmetric() + sage: x.operator().is_self_adjoint() True """ diff --git a/mjo/eja/eja_operator.py b/mjo/eja/eja_operator.py index 3133eb9..0b52f55 100644 --- a/mjo/eja/eja_operator.py +++ b/mjo/eja/eja_operator.py @@ -419,6 +419,30 @@ class FiniteDimensionalEuclideanJordanAlgebraOperator(Map): return (self + (-other)) + def is_self_adjoint(self): + r""" + Return whether or not this operator is self-adjoint. + + At least in Sage, the fact that the base field is real means + that the algebra elements have to be real as well (this is why + we embed the complex numbers and quaternions). As a result, the + matrix of this operator will contain only real entries, and it + suffices to check only symmetry, not conjugate symmetry. + + SETUP:: + + sage: from mjo.eja.eja_algebra import (JordanSpinEJA) + + EXAMPLES:: + + sage: J = JordanSpinEJA(4) + sage: J.one().operator().is_self_adjoint() + True + + """ + return self.matrix().is_symmetric() + + def is_zero(self): r""" Return whether or not this map is the zero operator.