W = V.span( mat2vec(s) for s in S )
for s in S:
- # Brute force the right-multiplication-by-s matrix by looping
+ # Brute force the multiplication-by-s matrix by looping
# through all elements of the basis and doing the computation
- # to find out what the corresponding row should be.
+ # to find out what the corresponding row should be. BEWARE:
+ # these multiplication tables won't be symmetric! It therefore
+ # becomes REALLY IMPORTANT that the underlying algebra
+ # constructor uses ROW vectors and not COLUMN vectors. That's
+ # why we're computing rows here and not columns.
Q_rows = []
for t in S:
this_row = mat2vec((s*t + t*s)/2)