I don't know why, but the multiplication table of a commutative
algebra doesn't have to be symmetric. I'll think about this later.
In the meantime, don't crash about it.
b.set_immutable()
if not (is_Matrix(b) and b.dimensions() == (n, n)):
raise ValueError("input is not a multiplication table")
- if not (b.is_symmetric()):
- # Euclidean jordan algebras are commutative, so left/right
- # multiplication is the same.
- raise ValueError("multiplication table must be symmetric")
mult_table = tuple(mult_table)
cat = MagmaticAlgebras(field).FiniteDimensional().WithBasis()