X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=e7e559f80466d8b4da96c9a14ecea74bfd9351d4;hb=9a30998022fdc8eccaf724833a4cd88e545e4f0e;hp=110b049573bbc8d8aeaaab768e9cebceadbf3c7e;hpb=0d9367ac61e9350dbfa3547b93c484243c749d7d;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index 110b049..e7e559f 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -11,14 +11,14 @@ class FiniteDimensionalEuclideanJordanSubalgebraElement(FiniteDimensionalEuclide TESTS:: - The natural representation of an element in the subalgebra is - the same as its natural representation in the superalgebra:: + The matrix representation of an element in the subalgebra is + the same as its matrix representation in the superalgebra:: sage: set_random_seed() sage: A = random_eja().random_element().subalgebra_generated_by() sage: y = A.random_element() - sage: actual = y.natural_representation() - sage: expected = y.superalgebra_element().natural_representation() + sage: actual = y.to_matrix() + sage: expected = y.superalgebra_element().to_matrix() sage: actual == expected True @@ -121,11 +121,11 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda sage: E22 = matrix(AA, [ [0,0], ....: [0,1] ]) sage: K1 = FiniteDimensionalEuclideanJordanSubalgebra(J, (J(E11),)) - sage: K1.one().natural_representation() + sage: K1.one().to_matrix() [1 0] [0 0] sage: K2 = FiniteDimensionalEuclideanJordanSubalgebra(J, (J(E22),)) - sage: K2.one().natural_representation() + sage: K2.one().to_matrix() [0 0] [0 1] @@ -177,6 +177,10 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda n = len(basis) mult_table = [[W.zero() for i in range(n)] for j in range(n)] + ip_table = [ [ self._superalgebra.inner_product(basis[i],basis[j]) + for i in range(n) ] + for j in range(n) ] + for i in range(n): for j in range(n): product = basis[i]*basis[j] @@ -187,7 +191,8 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda product_vector = V.from_vector(product.to_vector()) mult_table[i][j] = W.coordinate_vector(product_vector) - natural_basis = tuple( b.natural_representation() for b in basis ) + self._inner_product_matrix = matrix(field, ip_table) + matrix_basis = tuple( b.to_matrix() for b in basis ) self._vector_space = W @@ -197,7 +202,7 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda mult_table, prefix=prefix, category=category, - natural_basis=natural_basis, + matrix_basis=matrix_basis, check_field=False, check_axioms=check_axioms) @@ -251,16 +256,16 @@ class FiniteDimensionalEuclideanJordanSubalgebra(FiniteDimensionalEuclideanJorda - def natural_basis_space(self): + def matrix_space(self): """ - Return the natural basis space of this algebra, which is identical - to that of its superalgebra. + Return the matrix space of this algebra, which is identical to + that of its superalgebra. - This is correct "by definition," and avoids a mismatch when the - subalgebra is trivial (with no natural basis to infer anything - from) and the parent is not. + This is correct "by definition," and avoids a mismatch when + the subalgebra is trivial (with no matrix basis elements to + infer anything from) and the parent is not. """ - return self.superalgebra().natural_basis_space() + return self.superalgebra().matrix_space() def superalgebra(self):