TESTS:
- The trace inner product is commutative::
+ The trace inner product is commutative, bilinear, and satisfies
+ the Jordan axiom:
sage: set_random_seed()
sage: J = random_eja()
- sage: x = J.random_element(); y = J.random_element()
- sage: x.trace_inner_product(y) == y.trace_inner_product(x)
- True
-
- The trace inner product is bilinear::
-
- sage: set_random_seed()
- sage: J = random_eja()
- sage: x = J.random_element()
+ sage: x = J.random_element();
sage: y = J.random_element()
sage: z = J.random_element()
+ sage: # commutative
+ sage: x.trace_inner_product(y) == y.trace_inner_product(x)
+ True
+ sage: # bilinear
sage: a = J.base_ring().random_element();
sage: actual = (a*(x+z)).trace_inner_product(y)
sage: expected = ( a*x.trace_inner_product(y) +
....: a*x.trace_inner_product(z) )
sage: actual == expected
True
-
- The trace inner product satisfies the compatibility
- condition in the definition of a Euclidean Jordan algebra::
-
- sage: set_random_seed()
- sage: J = random_eja()
- sage: x = J.random_element()
- sage: y = J.random_element()
- sage: z = J.random_element()
+ sage: # jordan axiom
sage: (x*y).trace_inner_product(z) == y.trace_inner_product(x*z)
True