X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=4355e9f20e40d1a396f42a686d474c77e18f1b47;hb=12178d0b2943c4fe22c34c57171c794bec6a853a;hp=ac77f22a691e7cc04138e34cae46f148909de0f8;hpb=2ce97eef3264e148f8a394c18b50db99d4619999;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index ac77f22..4355e9f 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -215,8 +215,12 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda if elt not in self.superalgebra(): raise ValueError("not an element of this subalgebra") - coords = self.vector_space().coordinate_vector(elt.to_vector()) - return self.from_vector(coords) + # The extra hackery is because foo.to_vector() might not + # live in foo.parent().vector_space()! + coords = sum( a*b for (a,b) + in zip(elt.to_vector(), + self.superalgebra().vector_space().basis()) ) + return self.from_vector(self.vector_space().coordinate_vector(coords))