X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=22fa870fb551624f9b9c47f181cd8aa023944cb6;hb=c8af8b316ce0f238fea8a994d24776f74dc1e271;hp=95534db842408f08480d012d6464fadf0c3e7fd4;hpb=6201a7cc616538014fd51384cf96177730b11d2d;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index 95534db..22fa870 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -99,25 +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_cols = [] - # The first column of the left-multiplication matrix by - # b1 is what we get if we apply that matrix to b1. The - # second column of the left-multiplication matrix by b1 - # is what we get when we apply that matrix to b2... - 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_col = W.coordinates((b_left*b_right).to_vector()) - b_right_cols.append(this_col) - b_right_matrix = matrix.column(field, b_right_cols) - 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'