X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_algebra.py;h=28e86c25e3a3d315cf8fefb325fc05ef4b03b427;hb=78b54b562e1eedbb919dc442b2b3f6996440a1a2;hp=76a8ce624d526b8c3bd67de6d3b169b4b866d73b;hpb=e20375c18a22ff8dd3ed114c57d63ef8eca3a209;p=sage.d.git diff --git a/mjo/eja/eja_algebra.py b/mjo/eja/eja_algebra.py index 76a8ce6..28e86c2 100644 --- a/mjo/eja/eja_algebra.py +++ b/mjo/eja/eja_algebra.py @@ -389,6 +389,11 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule): 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) @@ -472,7 +477,7 @@ class FiniteDimensionalEuclideanJordanAlgebra(CombinatorialFreeModule): sage: J.one() e0 + e1 + e2 + e3 + e4 - TESTS:: + TESTS: The identity element acts like the identity:: @@ -633,8 +638,8 @@ class RealCartesianProductEJA(FiniteDimensionalEuclideanJordanAlgebra): """ 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) @@ -821,7 +826,7 @@ def _multiplication_table_from_matrix_basis(basis): 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 @@ -1287,11 +1292,11 @@ class JordanSpinEJA(FiniteDimensionalEuclideanJordanAlgebra): """ 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]