]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
Revert "eja: start experiment full_spectral_decomposition() method."
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 19 Oct 2020 14:25:20 +0000 (10:25 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 19 Oct 2020 14:25:20 +0000 (10:25 -0400)
This reverts commit 6d32150d3f7c175473a1d590facce1ea7c5ca77a.
I don't think this will ever work reliably.

mjo/eja/eja_element.py

index 2976a38f91a986b7e5f2fafd7a24560d29411755..da4b12335cdffbf046c6ce100b88deea9b997458 100644 (file)
@@ -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