method that would otherwise just crash and complain about the
algebra being infinite.
+ SETUP::
+
+ sage: from mjo.eja.eja_algebra import (JordanSpinEJA,
+ ....: RealCartesianProductEJA)
+
EXAMPLES::
sage: J = RealCartesianProductEJA(3)
sage: J.one()
e0 + e1 + e2 + e3 + e4
- TESTS::
+ TESTS:
The identity element acts like the identity::
"""
def __init__(self, n, field=QQ):
V = VectorSpace(field, n)
- mult_table = [ [ V.basis()[i]*(i == j) for i in range(n) ]
- for j in range(n) ]
+ mult_table = [ [ V.gen(i)*(i == j) for j in range(n) ]
+ for i in range(n) ]
fdeja = super(RealCartesianProductEJA, self)
return fdeja.__init__(field, mult_table, rank=n)
V = VectorSpace(field, dimension**2)
W = V.span_of_basis( _mat2vec(s) for s in basis )
n = len(basis)
- mult_table = [[W.zero() for i in range(n)] for j in range(n)]
+ mult_table = [[W.zero() for j in range(n)] for i in range(n)]
for i in range(n):
for j in range(n):
mat_entry = (basis[i]*basis[j] + basis[j]*basis[i])/2
"""
def __init__(self, n, field=QQ):
V = VectorSpace(field, n)
- mult_table = [[V.zero() for i in range(n)] for j in range(n)]
+ mult_table = [[V.zero() for j in range(n)] for i in range(n)]
for i in range(n):
for j in range(n):
- x = V.basis()[i]
- y = V.basis()[j]
+ x = V.gen(i)
+ y = V.gen(j)
x0 = x[0]
xbar = x[1:]
y0 = y[0]