From: Michael Orlitzky Date: Mon, 19 Oct 2020 14:25:20 +0000 (-0400) Subject: Revert "eja: start experiment full_spectral_decomposition() method." X-Git-Url: https://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=e677f9cfc5fc73be3d7f1fdf5088c1a1f370783b;p=sage.d.git Revert "eja: start experiment full_spectral_decomposition() method." This reverts commit 6d32150d3f7c175473a1d590facce1ea7c5ca77a. I don't think this will ever work reliably. --- diff --git a/mjo/eja/eja_element.py b/mjo/eja/eja_element.py index 2976a38..da4b123 100644 --- a/mjo/eja/eja_element.py +++ b/mjo/eja/eja_element.py @@ -1238,37 +1238,6 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement): result.append( (evalue, proj(A.one()).superalgebra_element()) ) return result - def full_spectral_decomposition(self): - if self.is_zero(): - # Following the convention that the empty sum is the - # algebra's additive identity. - return [] - - A = self.subalgebra_generated_by(orthonormalize_basis=True) - if A.dimension() == 1: - # I'm a scalar multiple of the identity element - s = self.norm() / A.one().norm() - return [(s, self * ~s)] - - result = [] - for (evalue, proj) in A(self).operator().spectral_decomposition(): - c = proj(A.one()).superalgebra_element() - - # We know that "c" here is idempotent, so the only question is - # whether or not it can be decomposed further. - if c.is_primitive_idempotent(): - result.append( (evalue, c) ) - else: - for b in A.gens(): - b_decomp = b.full_spectral_decomposition() - if len(b_decomp) > 1: - for (a,y) in b_decomp: - y_sup = y.superalgebra_element() - eigenvecs = [ r[1] for r in result ] - if not y_sup in eigenvecs: - result.append( ( evalue*a, y_sup) ) - return result - def subalgebra_generated_by(self, orthonormalize_basis=False): """ Return the associative subalgebra of the parent EJA generated