From: Michael Orlitzky Date: Sat, 29 Jun 2019 14:07:19 +0000 (-0400) Subject: eja: add is_regular() method on elements. X-Git-Url: http://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=9dfbf47227bdc9a7467e37e04173105fb3b2392b;p=sage.d.git eja: add is_regular() method on elements. --- diff --git a/mjo/eja/euclidean_jordan_algebra.py b/mjo/eja/euclidean_jordan_algebra.py index 835f763..60a7ba1 100644 --- a/mjo/eja/euclidean_jordan_algebra.py +++ b/mjo/eja/euclidean_jordan_algebra.py @@ -126,6 +126,30 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra): return A.element_class(A, (self.matrix()**(n-1))*self.vector()) + def is_regular(self): + """ + Return whether or not this is a regular element. + + EXAMPLES: + + The identity element always has degree one, but any element + linearly-independent from it is regular:: + + sage: J = eja_ln(5) + sage: J.one().is_regular() + False + sage: e0, e1, e2, e3, e4 = J.gens() # e0 is the identity + sage: for x in J.gens(): + ....: (J.one() + x).is_regular() + False + True + True + True + True + + """ + return self.degree() == self.parent().rank() + def span_of_powers(self): """ Return the vector space spanned by successive powers of