GrassmannCalculus`
GrassmannSimplify (★) |
|
| | ||||
|
| | ||||
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Working in the Grassmann Plane.
In[2]:=
SetActiveAssociation
"Grassmann Plane"
PublicGrassmannAtlas |
Factor scalars:
In[3]:=
(x)⊖(-),(x)⋀(Sin[y]),x⋀(y),x⋀,x⋁((x)⋀(y))GrassmannSimplify[%]
e
x
e
x
e
x
e
y
e
x
2
y
e
x
e
x
e
y
Out[3]=
x⊖-,(x)⋀(Sin[y]),x⋀(y),x⋀,x⋁(x)⋀(y)
e
x
e
x
e
x
e
y
e
x
2
y
e
x
e
x
e
y
Out[3]=
-x(⊖),xSin[y]⋀,xy,x,y⋀⋁
e
x
e
x
e
x
e
y
e
x
2
y
2
x
e
x
e
y
e
x
Order products, detect nilpotence and collect like terms:
In[4]:=
{⋀,⋀,x(⋀)+(x)⋀(y),⋀+⋀}GrassmannSimplify[%]
e
y
e
x
e
x
e
x
e
x
e
y
e
x
e
y
e
x
e
y
e
y
e
x
Out[4]=
{⋀,⋀,x⋀+(x)⋀(y),⋀+⋀}
e
y
e
x
e
x
e
x
e
x
e
y
e
x
e
y
e
x
e
y
e
y
e
x
Out[4]=
{-(⋀),0,(x+xy)⋀,0}
e
x
e
y
e
x
e
y
Factor complements:
In[5]:=
GrassmannSimplify[%]
x+y+Sin[x]⋀
e
x
e
y
e
x
e
y
Out[5]=
x+y+Sin[x]⋀
e
x
e
y
e
x
e
y
Out[5]=
{x+y+⋀Sin[x]}
e
x
e
y
e
x
e
y
Switch to the book default 3-space and work with symbolic expressions.
GrassmannSimplify
In[6]:=
★A;GrassmannSimplify[x⋀x,x⋀y+y⋀x,a⊖x,(ax)⋄(by),]
x⋀y
Out[6]=
{0,0,0,abx⋄y,x⋀y}
The simplification of a Grassmann expression will depend on the dimension of the space. Here we apply to generate the simplest form of the expression X for spaces of dimension 0 to 8.
GrassmannSimplify
In[7]:=
X=1+x⋀a⋀⋀(2z)+⋀(2(⊖u))⋀(3(z⋄u))⋀(4a)+x⋀2⋀y⋀3;Table
;{n,GrassmannSimplify[X]},{n,1,6}//TableForm
y
2
y
m
x
m
z
2
z
2
★ℬ |
n
Out[7]//TableForm=
1 | 1+24a y m x m |
2 | 1+24a y m x m |
3 | 1+24a y m x m |
4 | 1+2ax⋀z⋀ y 2 y m x m |
5 | 1+2ax⋀z⋀ y 2 y m x m |
6 | 1+2ax⋀z⋀ y 2 y m x m z 2 z 2 |
You can also use new symbols as long as you assert their grades, or you can override the grades of currently declared symbols. Here we use the alias for ★ for GrassmannSimplify.
In[8]:=
★ℬ |
4
★ |
★Λ
5
★Λ
2
★Λ
3
Out[8]=
0
You can also include your own transformation functions. For example, you could add the capability of Simplify. only simplifies the obvious Grassmann components.
GrassmannSimplify
In[9]:=
★ |
1
1
a
a
1-a
Out[9]=
1
-1+
1
a
a
-1+a
However, by adding to the list of transformation functions it uses we get a simpler result again.
Simplify
In[10]:=
★ |
1
1
a
a
1-a
Out[10]=
0
Note that, although pays attention to grade assertions, is not aware of grades.
GrassmannSimplify
Simplify
In[11]:=
★ |
1
1
a
a
1-a
★Λ
2
★Λ
0
★Λ
1
Out[11]=
2xy+x⋀x
GrassmannSimplify
In[12]:=
★ℬ |
4
★ |
1
1
a
a
1-a
★Λ
2
★Λ
0
★Λ
1
Out[12]=
{2xy+x⋀x,xy}
You can include your own transformation functions or rules. Here is rule which transforms exterior products to regressive products before simplification. Asserting to be of grade 2 leaves the scalar as the only non-zero term.
x
x⋁y
In[13]:=
★ℬ |
3
★ |
★Λ
2
Out[13]=
x⋁y
In[14]:=
Clear[X]
|
|
""


