login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxCliffordAlgebra revision 6 of 9

1 2 3 4 5 6 7 8 9
Editor: bfauser
Time: 2009/11/03 11:47:06 GMT-8
Note:

changed:
-DiagMat:=matrix[[1,0,0],[0,1,0],[0,0,1]]
-DQ := quadraticForm DiagMat
-CLDQ := CliffordAlgebra(3, Fraction(Integer), DQ)
diagMat:=matrix[[1,0,0],[0,1,0],[0,0,1]]
dq := quadraticForm diagMat
CLDQ := CliffordAlgebra(3, Fraction(Integer), dq)

changed:
-where Q is the diagonal quadratic form in the basis of generators ei=e(i)
where dq is the diagonal quadratic form in the basis of generators ei=e(i)

changed:
-OffDiagMat:=matrix[[0,0,1],[0,1,0],[1,0,0]]
-ODQ := quadraticForm OffDiagMat
-CLODQ := CliffordAlgebra(3, Fraction(Integer), ODQ)
offDiagMat:=matrix[[0,0,1],[0,1,0],[1,0,0]]
odq := quadraticForm offDiagMat
CLODQ := CliffordAlgebra(3, Fraction(Integer), odq)

We want to test some properties of the CliffordAlgebra? domain implemented in AXIOM(TM)

axiom
diagMat:=matrix[[1,0,0],[0,1,0],[0,0,1]]
LatexWiki Image(1)
Type: Matrix(Integer)
axiom
dq := quadraticForm diagMat
LatexWiki Image(2)
Type: QuadraticForm?(3,Fraction(Integer))
axiom
CLDQ := CliffordAlgebra(3, Fraction(Integer), dq)
LatexWiki Image(3)
Type: Domain

CLDQ contains now the Clifford algebra constructor for the Clifford algebra CL(R^3,Q) where dq is the diagonal quadratic form in the basis of generators ei=e(i)

axiom
basGen: List CLDQ :=[1, e(1), e(2), e(1)*e(2), e(3), e(1)*e(3), e(2)*e(3),
e(1)*e(2)*e(3)]
LatexWiki Image(4)
Type: List(CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?))

And we can now compute within this basis

axiom
elem1: CLDQ :=2*e(1)+e(2)
LatexWiki Image(5)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)
axiom
elem2: CLDQ :=1/2+e(2)+3*e(1)*e(3)
LatexWiki Image(6)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)
axiom
elem1*elem2
LatexWiki Image(7)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)

which is fine.

Lets now see what happens if we change the basis. We define new generators

axiom
f1:CLDQ := e(1)-e(2)
LatexWiki Image(8)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)
axiom
f2:CLDQ := e(2)-e(3)
LatexWiki Image(9)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)
axiom
f3:CLDQ := e(1)+e(2)+e(3)
LatexWiki Image(10)
Type: CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?)
axiom
lstFGen: List CLDQ := [f1, f2, f3]
LatexWiki Image(11)
Type: List(CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?))

and check what the new defining relations are

axiom
matrix [[y*x for x in lstFGen] for y in lstFGen]
LatexWiki Image(12)
Type: Matrix(CliffordAlgebra?(3,Fraction(Integer),[[1,0,0],[0,1,0]?,[0,0,1]]?))

However, let us do the same calculations with another, symmetric but not diagonal quadratic form

axiom
offDiagMat:=matrix[[0,0,1],[0,1,0],[1,0,0]]
LatexWiki Image(13)
Type: Matrix(Integer)
axiom
odq := quadraticForm offDiagMat
LatexWiki Image(14)
Type: QuadraticForm?(3,Fraction(Integer))
axiom
CLODQ := CliffordAlgebra(3, Fraction(Integer), odq)
LatexWiki Image(15)
Type: Domain
axiom
basGenO: List CLODQ :=[1, e(1), e(2), e(1)*e(2), e(3), e(1)*e(3),
e(2)*e(3), e(1)*e(2)*e(3)]
LatexWiki Image(16)
Type: List(CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?))
axiom
basO: List CLODQ :=[e(1), e(2), e(3)]
LatexWiki Image(17)
Type: List(CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?))

and let us check the multiplication table on the basis and in general:

axiom
matrix [[y*x for x in basO] for y in basO]
LatexWiki Image(18)
Type: Matrix(CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?))
axiom
matrix [[y*x for x in basGenO] for y in basGenO]
LatexWiki Image(19)
Type: Matrix(CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?))

which is irritating, since the Clifford product is just unevaluated, hence the basis elements are generated by Cliffrord products. We would like to see this more explicit in the Grassmann basis, which we define as follows:

axiom
f12: CLODQ := 1/2*( e(1)*e(2)-e(2)*e(1) )
LatexWiki Image(20)
Type: CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?)
axiom
f13: CLODQ := 1/2*( e(1)*e(3)-e(3)*e(1) )
LatexWiki Image(21)
Type: CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?)
axiom
f23: CLODQ := 1/2*( e(2)*e(3)-e(3)*e(2) )
LatexWiki Image(22)
Type: CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?)
axiom
f123: CLODQ := 1/3*( f12*e(3)$CLODQ- f13*e(2)$CLODQ +
f23*e(1)$CLODQ ) -- need this od $CLODQ
LatexWiki Image(23)
Type: CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?)
axiom
fbasis:List CLODQ :=[ 1, e(1), e(2), f12 , e(3), f13 , f23, f123 ]
LatexWiki Image(24)
Type: List(CliffordAlgebra?(3,Fraction(Integer),[[0,0,1],[0,1,0]?,[1,0,0]]?))

and this is plainly wrong. Eg f13 = 1/2e(1)e(3) - 1/2(e(3)/\e(1)+ B(e3,e1)) and further simplification leads to f12 = 1/2 e(1)e(3) +1/2( e(1)/\e(3) - B(e1,e3)) = e(1)e(3) - 1/2B(e1,e3) and all these off diagonal contraction terms are missing in the basis. Hence the AXIOM(TM) CliffordAlegbra? domain works only in the basis of generators which diagonalized the quadratic form!

Actually this calls for a new domain CliffordAlgebra? which does it right ;-).