return x.trace_inner_product(y)
+ def is_trivial(self):
+ """
+ Return whether or not this algebra is trivial.
+
+ A trivial algebra contains only the zero element.
+
+ SETUP::
+
+ sage: from mjo.eja.eja_algebra import ComplexHermitianEJA
+
+ EXAMPLES::
+
+ sage: J = ComplexHermitianEJA(3)
+ sage: J.is_trivial()
+ False
+ sage: A = J.zero().subalgebra_generated_by()
+ sage: A.is_trivial()
+ True
+
+ """
+ return self.dimension() == 0
+
+
def multiplication_table(self):
"""
Return a visual representation of this algebra's multiplication
return self.linear_combination(zip(self.gens(), coeffs))
+ def random_element(self):
+ # Temporary workaround for https://trac.sagemath.org/ticket/28327
+ if self.is_trivial():
+ return self.zero()
+ else:
+ s = super(FiniteDimensionalEuclideanJordanAlgebra, self)
+ return s.random_element()
+
+
def rank(self):
"""
Return the rank of this EJA.