X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=22fa870fb551624f9b9c47f181cd8aa023944cb6;hb=98c3ab3a9df8c634a0fbb05ed6ad22abf41118f3;hp=5e782cf4a69b13d0d6c2e36beb5b190d81ddb3b4;hpb=40e1b7a4beee7218ec3131efc2111f3f073184c6;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index 5e782cf..22fa870 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -99,28 +99,12 @@ class FiniteDimensionalEuclideanJordanElementSubalgebra(FiniteDimensionalEuclide # matrix for the successive basis elements b0, b1,... of # that subspace. field = superalgebra.base_ring() - mult_table = [] - for b_right in superalgebra_basis: - b_right_rows = [] - # The first row of the right-multiplication matrix by - # b1 is what we get if we apply that matrix to b1. The - # second row of the right multiplication matrix by b1 - # is what we get when we apply that matrix to b2... - # - # IMPORTANT: this assumes that all vectors are COLUMN - # vectors, unlike our superclass (which uses row vectors). - for b_left in superalgebra_basis: - # Multiply in the original EJA, but then get the - # coordinates from the subalgebra in terms of its - # basis. - this_row = W.coordinates((b_left*b_right).to_vector()) - b_right_rows.append(this_row) - b_right_matrix = matrix(field, b_right_rows) - mult_table.append(b_right_matrix) - - for m in mult_table: - m.set_immutable() - mult_table = tuple(mult_table) + n = len(superalgebra_basis) + mult_table = [[W.zero() for i in range(n)] for j in range(n)] + for i in range(n): + for j in range(n): + product = superalgebra_basis[i]*superalgebra_basis[j] + mult_table[i][j] = W.coordinate_vector(product.to_vector()) # TODO: We'll have to redo this and make it unique again... prefix = 'f'