From: Michael Orlitzky Date: Mon, 9 Nov 2020 12:07:19 +0000 (-0500) Subject: eja: check that the multiplication table is square with check=True. X-Git-Url: http://gitweb.michael.orlitzky.com/?a=commitdiff_plain;h=26300571708fdc4e05da64227609a223cfc1cd4c;p=sage.d.git eja: check that the multiplication table is square with check=True. --- diff --git a/mjo/eja/eja_algebra.py b/mjo/eja/eja_algebra.py index 5627973..3846b83 100644 --- a/mjo/eja/eja_algebra.py +++ b/mjo/eja/eja_algebra.py @@ -61,7 +61,10 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule): """ SETUP:: - sage: from mjo.eja.eja_algebra import (JordanSpinEJA, random_eja) + sage: from mjo.eja.eja_algebra import ( + ....: FiniteDimensionalEuclideanJordanAlgebra, + ....: JordanSpinEJA, + ....: random_eja) EXAMPLES: @@ -75,13 +78,20 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule): 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): @@ -98,6 +108,9 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule): # 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,