SamplePublisher`GrassmannCalculus`
FastExpand |
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Whenever a new Dimension and Basis is set GrassmannCalculus generates rules for conversion of a Grassmann sum to a or polynomial are generated, along with reverse rules for converting back to a Grassmann expression. We use the fact that sorts before
p
p
p
q
In[2]:=
★ℬ |
4
Out[2]=
{⋀⋀⋀p★[4,1],⋀⋀p★[3,4],⋀⋀p★[3,3],⋀⋀p★[3,2],⋀⋀p★[3,1],⋀p★[2,6],⋀p★[2,5],⋀p★[2,4],⋀p★[2,3],⋀p★[2,2],⋀p★[2,1],p★[1,4],p★[1,3],p★[1,2],p★[1,1]}
e
1
e
2
e
3
e
4
e
2
e
3
e
4
e
1
e
3
e
4
e
1
e
2
e
4
e
1
e
2
e
3
e
3
e
4
e
2
e
4
e
2
e
3
e
1
e
4
e
1
e
3
e
1
e
2
e
4
e
3
e
2
e
1
Out[2]=
{⋀⋀⋀q★[4,1],⋀⋀q★[3,4],⋀⋀q★[3,3],⋀⋀q★[3,2],⋀⋀q★[3,1],⋀q★[2,6],⋀q★[2,5],⋀q★[2,4],⋀q★[2,3],⋀q★[2,2],⋀q★[2,1],q★[1,4],q★[1,3],q★[1,2],q★[1,1]}
e
1
e
2
e
3
e
4
e
2
e
3
e
4
e
1
e
3
e
4
e
1
e
2
e
4
e
1
e
2
e
3
e
3
e
4
e
2
e
4
e
2
e
3
e
1
e
4
e
1
e
3
e
1
e
2
e
4
e
3
e
2
e
1
Out[2]=
{(p★|q★)[4,1]⋀⋀⋀,(p★|q★)[3,4]⋀⋀,(p★|q★)[3,3]⋀⋀,(p★|q★)[3,2]⋀⋀,(p★|q★)[3,1]⋀⋀,(p★|q★)[2,6]⋀,(p★|q★)[2,5]⋀,(p★|q★)[2,4]⋀,(p★|q★)[2,3]⋀,(p★|q★)[2,2]⋀,(p★|q★)[2,1]⋀,(p★|q★)[1,4],(p★|q★)[1,3],(p★|q★)[1,2],(p★|q★)[1,1]}
e
1
e
2
e
3
e
4
e
2
e
3
e
4
e
1
e
3
e
4
e
1
e
2
e
4
e
1
e
2
e
3
e
3
e
4
e
2
e
4
e
2
e
3
e
1
e
4
e
1
e
3
e
1
e
2
e
4
e
3
e
2
e
1
Three factor examples.
In[3]:=
factor1=8-8+6+3factor2=3-10+8+8factor3=10+++7
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
Out[3]=
8-8+6+3
e
1
e
2
e
3
e
4
Out[3]=
3-10+8+8
e
1
e
2
e
3
e
4
Out[3]=
10+++7
e
1
e
2
e
3
e
4
Convert the first to a polynomial and the second to a polynomial.
p
q
In[4]:=
f1=factor1/.p★Rulesf2=factor2/.q★Rules
Out[4]=
8p★[1,1]-8p★[1,2]+6p★[1,3]+3p★[1,4]
Out[4]=
3q★[1,1]-10q★[1,2]+8q★[1,3]+8q★[1,4]
Multiply them, convert the products to Wedges, use the reverse rules to substitute the Grassmann Bases and order the exterior products.
In[5]:=
Expand[f1*f2]%/.prod:p★[__]q★[__]Wedge@@prodfactor12=%/.pqReverseRules//OrderBasisExterior
Out[5]=
24p★[1,1]q★[1,1]-24p★[1,2]q★[1,1]+18p★[1,3]q★[1,1]+9p★[1,4]q★[1,1]-80p★[1,1]q★[1,2]+80p★[1,2]q★[1,2]-60p★[1,3]q★[1,2]-30p★[1,4]q★[1,2]+64p★[1,1]q★[1,3]-64p★[1,2]q★[1,3]+48p★[1,3]q★[1,3]+24p★[1,4]q★[1,3]+64p★[1,1]q★[1,4]-64p★[1,2]q★[1,4]+48p★[1,3]q★[1,4]+24p★[1,4]q★[1,4]
Out[5]=
24p★[1,1]⋀q★[1,1]-80p★[1,1]⋀q★[1,2]+64p★[1,1]⋀q★[1,3]+64p★[1,1]⋀q★[1,4]-24p★[1,2]⋀q★[1,1]+80p★[1,2]⋀q★[1,2]-64p★[1,2]⋀q★[1,3]-64p★[1,2]⋀q★[1,4]+18p★[1,3]⋀q★[1,1]-60p★[1,3]⋀q★[1,2]+48p★[1,3]⋀q★[1,3]+48p★[1,3]⋀q★[1,4]+9p★[1,4]⋀q★[1,1]-30p★[1,4]⋀q★[1,2]+24p★[1,4]⋀q★[1,3]+24p★[1,4]⋀q★[1,4]
Out[5]=
-56⋀+46⋀+55⋀-4⋀-34⋀+24⋀
e
1
e
2
e
1
e
3
e
1
e
4
e
2
e
3
e
2
e
4
e
3
e
4
This gives the same result as but faster.
★
In[6]:=
factor1⋀factor2//
★ |
Out[6]=
-56⋀+46⋀+55⋀-4⋀-34⋀+24⋀
e
1
e
2
e
1
e
3
e
1
e
4
e
2
e
3
e
2
e
4
e
3
e
4
Then use this result with the next factor.
In[7]:=
f12=factor12/.p★Rulesf3=factor3/.q★Rules
Out[7]=
-56p★[2,1]+46p★[2,2]+55p★[2,3]-4p★[2,4]-34p★[2,5]+24p★[2,6]
Out[7]=
10q★[1,1]+q★[1,2]+q★[1,3]+7q★[1,4]
In[8]:=
Expand[f12*f3]%/.prod:p★[__]q★[__]Wedge@@prodfactor123=%/.pqReverseRules//OrderBasisExterior
Out[8]=
-560p★[2,1]q★[1,1]+460p★[2,2]q★[1,1]+550p★[2,3]q★[1,1]-40p★[2,4]q★[1,1]-340p★[2,5]q★[1,1]+240p★[2,6]q★[1,1]-56p★[2,1]q★[1,2]+46p★[2,2]q★[1,2]+55p★[2,3]q★[1,2]-4p★[2,4]q★[1,2]-34p★[2,5]q★[1,2]+24p★[2,6]q★[1,2]-56p★[2,1]q★[1,3]+46p★[2,2]q★[1,3]+55p★[2,3]q★[1,3]-4p★[2,4]q★[1,3]-34p★[2,5]q★[1,3]+24p★[2,6]q★[1,3]-392p★[2,1]q★[1,4]+322p★[2,2]q★[1,4]+385p★[2,3]q★[1,4]-28p★[2,4]q★[1,4]-238p★[2,5]q★[1,4]+168p★[2,6]q★[1,4]
Out[8]=
-560p★[2,1]⋀q★[1,1]-56p★[2,1]⋀q★[1,2]-56p★[2,1]⋀q★[1,3]-392p★[2,1]⋀q★[1,4]+460p★[2,2]⋀q★[1,1]+46p★[2,2]⋀q★[1,2]+46p★[2,2]⋀q★[1,3]+322p★[2,2]⋀q★[1,4]+550p★[2,3]⋀q★[1,1]+55p★[2,3]⋀q★[1,2]+55p★[2,3]⋀q★[1,3]+385p★[2,3]⋀q★[1,4]-40p★[2,4]⋀q★[1,1]-4p★[2,4]⋀q★[1,2]-4p★[2,4]⋀q★[1,3]-28p★[2,4]⋀q★[1,4]-340p★[2,5]⋀q★[1,1]-34p★[2,5]⋀q★[1,2]-34p★[2,5]⋀q★[1,3]-238p★[2,5]⋀q★[1,4]+240p★[2,6]⋀q★[1,1]+24p★[2,6]⋀q★[1,2]+24p★[2,6]⋀q★[1,3]+168p★[2,6]⋀q★[1,4]
Out[8]=
-142⋀⋀-787⋀⋀+507⋀⋀+30⋀⋀
e
1
e
2
e
3
e
1
e
2
e
4
e
1
e
3
e
4
e
2
e
3
e
4
This again matches the regular result.
In[9]:=
factor1⋀factor2⋀factor3//
★ |
Out[9]=
-142⋀⋀-787⋀⋀+507⋀⋀+30⋀⋀
e
1
e
2
e
3
e
1
e
2
e
4
e
1
e
3
e
4
e
2
e
3
e
4
""
