Have you looked at what sympy already has for Clifford algebras?
On Saturday, July 26, 2014, Stephen Kauffman <[email protected]> wrote:
> I attempted to create a Clifford Algebra for space-time with the gamma
> matrices using the FreeAlgebraQuotient in analogy to the example for
> constructing a quarternion algebra from the documentation with the code:
>
> PRGA=FreeAlgebra(QQ,4,'g')
> F = PRGA.monoid()
> g0,g1,g2,g3 = F.gens()
> mons = [ F(1), g0, g1, g2, g3, g0*g1, g0*g2, g0*g3, g1*g2, g2*g3, g3*g1,
> g0*g1*g2*g3*g0, g0*g1*g2*g3*g1, g0*g1*g2*g3*g2, g0*g1*g2*g3*g3, g0*g1*g2*g3]
> G0=diagonal_matrix([1,1,1,1,-1,-1,-1,-1]) #8x8 gamma matrices
> ZR=matrix(2,2,0)
> EE=diagonal_matrix([1,1])
> II=matrix([[0,1],[-1,0]])
>
> G1=block_matrix([[ZR,ZR,ZR,EE],[ZR,ZR,EE,ZR],[ZR,-EE,ZR,ZR],[-EE,ZR,ZR,ZR]],subdivide=False)
>
> G2=block_matrix([[ZR,ZR,ZR,-II],[ZR,ZR,II,ZR],[ZR,II,ZR,ZR],[-II,ZR,ZR,ZR]],subdivide=False)
>
> G3=block_matrix([[ZR,ZR,EE,ZR],[ZR,ZR,ZR,-EE],[-EE,ZR,ZR,ZR],[ZR,EE,ZR,ZR]],subdivide=False)
> mats = [G0,-G1,-G2,-G3]
> ST.<g0,g1,g2,g3> = FreeAlgebraQuotient(PRGA, mons, mats)
> ST
>
> Free algebra quotient on 4 generators ('g0', 'g1', 'g2', 'g3') and
> dimension 16 over Rational Field
>
> everything looked promising here but when I type
>
> g0*g1
>
> Traceback (click to the left of this block for traceback)
> ...
> TypeError: unsupported operand parent(s) for '*': 'Vector space of
> dimension 16 over Rational Field' and 'Full MatrixSpace of 8 by 8 dense
> matrices over Integer
> Ring'
>
> I expected sage to parrot back
>
> g0*g1
>
> Seems like we ought to be able to use a Free Algebra and the code:
>
> PRGA=FreeAlgebra(QQ,4,'g')
> MG=matrix(PRGA.gens())
> MGG=MG.transpose()*MG
> Metric = diagonal_matrix([1,-1,-1,-1])
> MGGM=MGG+MGG.transpose()-2*Metric
> [MGGM[i,j] for i in range(4) for j in range(4)]
>
> [-2 + 2*g0^2, g0*g1 + g1*g0, g0*g2 + g2*g0, g0*g3 + g3*g0, g0*g1 + g1*g0,
> 2 + 2*g1^2, g1*g2 + g2*g1, g1*g3 + g3*g1, g0*g2 + g2*g0, g1*g2 + g2*g1, 2 +
> 2*g2^2,
> g2*g3 + g3*g2, g0*g3 + g3*g0, g1*g3 + g3*g1, g2*g3 + g3*g2, 2 + 2*g3^2]
>
> and use this like an ideal. Sage is Clifford averse.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <javascript:_e(%7B%7D,'cvml','sage-support%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.