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

Edit detail for SandBoxCliffordAlgebra revision 4 of 9

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

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


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

changed:
-From page Fri Oct 30 19:39:56 -0700 2009
-From: page
-Date: Fri, 30 Oct 2009 19:39:56 -0700
-Subject: good test
-Message-ID: <20091030193956-0700@axiom-wiki.newsynthesis.org>
-
-It seems that this test is good. I get the same result!
-
CLDQ contains now the Clifford algebra constructor for the Clifford algebra CL(R^3,Q)
where Q is the diagonal quadratic form in the basis of generators

changed:
-1+1
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)]

added:

And we can now compute within this basis
\begin{axiom}
elem1: CLDQ :=2*e(1)+e(2)
elem2: CLDQ :=1/2+e(2)+3*e(1)*e(3)
elem1*elem2
\end{axiom}
which is fine.

Lets now see what happens if we change the basis. We define new generators
\begin{axiom}
f1:CLDQ := e(1)-e(2)
f2:CLDQ := e(2)-e(3)
f3:CLDQ := e(1)+e(2)+e(3)
lstFGen: List CLDQ := [f1, f2, f3]
\end{axiom}
and check what the new defining relations are
\begin{axiom}
matrix [[y*x for x in lstFGen] for y in lstFGen]
\end{axiom}

However, let us do the same calculations with another, symmetric but not diagonal quadratic form
\begin{axiom}
OffDiagMat:=matrix[[0,0,1],[0,1,0],[1,0,0]]
ODQ := quadraticForm OffDiagMat
CLODQ := CliffordAlgebra(3, Fraction(Integer), ODQ)
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)]
basO: List CLODQ :=[e(1), e(2), e(3)]
\end{axiom}
and let us check the multiplication table on the basis and in general:
\begin{axiom}
matrix [[y*x for x in basO] for y in basO]
matrix [[y*x for x in basGenO] for y in basGenO]
\end{axiom}
which is irritation, since the Clifford product is just 'unevaluated', hence the
basis elements are generated by Cliffrord products. We would liek to see the 
result in a Grassmann basis
\begin{axiom}
fbasis:List CLODQ :=[ 1, e(1), e(2), 1/2*(e(1)*e(2)-e(2)*e(1), e(3), 1/2*(e(1)*e(3)-e(3)*e(1), 1/2*(e(2)*e(3)-e(3)*e(2),
                     1/6(e(1)*e(2)*e(3) + e(2)*e(3)*e(1) + e(3)*e(1)*e(2) - e(1)*e(3)*e(2) - e(3)*e(2)*e(1) - e(2)*e(1)*e(3)) ]
\end{axiom}

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 Q is the diagonal quadratic form in the basis of generators

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 irritation, since the Clifford product is just unevaluated, hence the basis elements are generated by Cliffrord products. We would liek to see the result in a Grassmann basis

axiom
fbasis:List CLODQ :=[ 1, e(1), e(2), 1/2*(e(1)*e(2)-e(2)*e(1), e(3),
1/2*(e(1)*e(3)-e(3)*e(1), 1/2*(e(2)*e(3)-e(3)*e(2),
                     1/6(e(1)*e(2)*e(3) + e(2)*e(3)*e(1) +
e(3)*e(1)*e(2) - e(1)*e(3)*e(2) - e(3)*e(2)*e(1) -
e(2)*e(1)*e(3)) ]
Line 1: fbasis:List CLODQ :=[ 1, e(1), e(2), 1/2*(e(1)*e(2)-e(2)*e(1), e(3), 1/2*(e(1)*e(3)-e(3)*e(1), 1/2*(e(2)*e(3)-e(3)*e(2), .................................................................................... ...............A Error A: Missing mate. Line 2: 1/6(e(1)*e(2)*e(3) + e(2)*e(3)*e(1) + e(3)*e(1)*e(2) - e(1)*e(3)*e(2) - e(3)*e(2)*e(1) - e(2)*e(1)*e(3)) ] .................................................................................... ..........................................A Error A: syntax error at top level Error A: Possibly missing a ) 3 error(s) parsing