X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feuclidean_jordan_algebra.py;h=b31322f9b1a2ee23a4451e249efd8734455d4595;hb=644eb599855ddd51e8731104cc337eb9a4a33abe;hp=c37ace0b2bbf1ce19f20e3127a4a5c80b7191b4e;hpb=f70078336355f24237698004ac16078672a427d8;p=sage.d.git diff --git a/mjo/eja/euclidean_jordan_algebra.py b/mjo/eja/euclidean_jordan_algebra.py index c37ace0..b31322f 100644 --- a/mjo/eja/euclidean_jordan_algebra.py +++ b/mjo/eja/euclidean_jordan_algebra.py @@ -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