return x.trace_inner_product(y)
+ def multiplication_table(self):
+ """
+ Return a readable matrix representation of this algebra's
+ multiplication table. The (i,j)th entry in the matrix contains
+ the product of the ith basis element with the jth.
+
+ This is not extraordinarily useful, but it overrides a superclass
+ method that would otherwise just crash and complain about the
+ algebra being infinite.
+
+ EXAMPLES::
+
+ sage: J = RealCartesianProductEJA(3)
+ sage: J.multiplication_table()
+ [e0 0 0]
+ [ 0 e1 0]
+ [ 0 0 e2]
+
+ ::
+
+ sage: J = JordanSpinEJA(3)
+ sage: J.multiplication_table()
+ [e0 e1 e2]
+ [e1 e0 0]
+ [e2 0 e0]
+
+ """
+ return matrix(self._multiplication_table)
+
+
def natural_basis(self):
"""
Return a more-natural representation of this algebra's basis.