"""
SETUP::
- sage: from mjo.eja.eja_algebra import (JordanSpinEJA, random_eja)
+ sage: from mjo.eja.eja_algebra import (
+ ....: FiniteDimensionalEuclideanJordanAlgebra,
+ ....: JordanSpinEJA,
+ ....: random_eja)
EXAMPLES:
TESTS:
- The ``field`` we're given must be real::
+ The ``field`` we're given must be real with ``check=True``::
sage: JordanSpinEJA(2,QQbar)
Traceback (most recent call last):
...
ValueError: field is not real
+ The multiplication table must be square with ``check=True``::
+
+ sage: FiniteDimensionalEuclideanJordanAlgebra(QQ,((),()))
+ Traceback (most recent call last):
+ ...
+ ValueError: multiplication table is not square
+
"""
if check:
if not field.is_subring(RR):
# The multiplication table had better be square
n = len(mult_table)
+ if check:
+ if not all( len(l) == n for l in mult_table ):
+ raise ValueError("multiplication table is not square")
fda = super(FiniteDimensionalEuclideanJordanAlgebra, self)
fda.__init__(field,