- check that all factors do indeed have a `_rational_algebra` member
- before we try to access it::
-
- sage: J1 = OctonionHermitianEJA(1) # no rational basis
- sage: J2 = HadamardEJA(2)
- sage: cartesian_product([J1,J2])
- Euclidean Jordan algebra of dimension 1 over Algebraic Real Field
- (+) Euclidean Jordan algebra of dimension 2 over Algebraic Real Field
- sage: cartesian_product([J2,J1])
- Euclidean Jordan algebra of dimension 2 over Algebraic Real Field
- (+) Euclidean Jordan algebra of dimension 1 over Algebraic Real Field
+ check that all factors do indeed have a ``rational_algebra()`` method
+ before we construct an algebra that claims to have a rational basis::
+
+ sage: J1 = HadamardEJA(2)
+ sage: jp = lambda X,Y: X*Y
+ sage: ip = lambda X,Y: X[0,0]*Y[0,0]
+ sage: b1 = matrix(QQ, [[1]])
+ sage: J2 = FiniteDimensionalEJA((b1,), jp, ip)
+ sage: cartesian_product([J2,J1]) # factor one not RationalBasisEJA
+ Euclidean Jordan algebra of dimension 1 over Algebraic Real
+ Field (+) Euclidean Jordan algebra of dimension 2 over Algebraic
+ Real Field
+ sage: cartesian_product([J1,J2]) # factor one is RationalBasisEJA
+ Traceback (most recent call last):
+ ...
+ ValueError: factor not a RationalBasisEJA