]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: add an implementation warning for characteristic_polynomial().
authorMichael Orlitzky <michael@orlitzky.com>
Wed, 24 Jul 2019 03:23:02 +0000 (23:23 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 29 Jul 2019 03:19:01 +0000 (23:19 -0400)
mjo/eja/euclidean_jordan_algebra.py

index c37ace0b2bbf1ce19f20e3127a4a5c80b7191b4e..b31322f9b1a2ee23a4451e249efd8734455d4595 100644 (file)
@@ -140,6 +140,20 @@ class FiniteDimensionalEuclideanJordanAlgebra(FiniteDimensionalAlgebra):
     @cached_method
     def characteristic_polynomial(self):
         """
+
+        .. WARNING::
+
+            This implementation doesn't guarantee that the polynomial
+            denominator in the coefficients is not identically zero, so
+            theoretically it could crash. The way that this is handled
+            in e.g. Faraut and Koranyi is to use a basis that guarantees
+            the denominator is non-zero. But, doing so requires knowledge
+            of at least one regular element, and we don't even know how
+            to do that. The trade-off is that, if we use the standard basis,
+            the resulting polynomial will accept the "usual" coordinates. In
+            other words, we don't have to do a change of basis before e.g.
+            computing the trace or determinant.
+
         EXAMPLES:
 
         The characteristic polynomial in the spin algebra is given in