GrassmannCalculus`
ComposeSimpleForm |
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Here is how treats the multigraded expression for a general Grassmann number in a 3-space. We begin by declaring a default 3-space.
ComposeSimpleForm
In[2]:=
★A;
ComposeSimpleForm |
x
{0,1,2,3}
Out[2]=
x
0
x
1
x
2
x
3
x
4
x
5
x
6
Note that the new vector symbols generated by have been automatically added to the list of currently declared vector symbols.
ComposeSimpleForm
In[3]:=
VectorSymbols
Out[3]=
p,q,r,s,t,u,v,w,x,y,z,α,β,ψ,ω,,,,,,,,,,,,,,,
e
1
e
2
e
3
x
1
x
2
x
3
x
4
x
5
x
6
e
1
e
2
e
3
1
e
2
e
3
e
The symbol has also been automatically added to the list of declared scalars.
x
0
In[4]:=
ScalarSymbols
Out[4]=
{a,b,c,d,e,f,g,h,}
x
0
Note also, that since elements of any grade in a 3-space are simple, still represents the most general Grassmann number in a 3-space.
X
In the case that not all grades are represented in the argument to , it will treat the indexing of the newly composed 1-elements as if they are.
ComposeSimpleForm
In[5]:=
★A;
ComposeSimpleForm |
x
{0,3}
Out[5]=
x
0
x
4
x
5
x
6
In a space of greater than 3 dimensions however, this representation of the most general Grassmann number in the space no longer holds and only gives a single representative element at each grade value. For example, in a 4-space a bivector is not necessarily simple, and so cannot be represented in its most general form by the single product ⋀. To include non-simple elements of a given grade in a expansion, you can add further elements of that grade. For example, if you were working in a 4-space, and you wanted a Grassmann number in which the bivector element was a sum of three simple bivectors, you could add in the graded forms of the extra bivectors.
ComposeSimpleForm
x
2
x
3
ComposeSimpleForm
In[6]:=
★ℬ |
4
ComposeSimpleForm |
x
{0,1,2,3,4}
y
2
z
2
Out[6]=
x
0
x
1
x
2
x
3
y
2
y
3
z
2
z
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
The indexing of the new vector symbols generated by is designed to ensure that its application produces a consistent transformation of a particular graded symbol, for example , regardless of when it is generated.
ComposeSimpleForm
x
2
Here is an expression (derived in an example for ) representing the interior product of two Grassmann numbers in 3-space.
ComposeGradedForm
In[7]:=
★A;X=⊖+⊖+⊖+⊖+⊖+⊖++++;
x
1
y
1
x
2
y
1
x
2
y
2
x
3
y
1
x
3
y
2
x
3
y
3
x
0
y
0
x
1
y
0
x
2
y
0
x
3
y
0
By applying to this we can represent it as a sum of products of 1-elements (which can be expanded further using other functions, for example the Conversion functions in the Expression Transformation section)
ComposeSimpleForm
In[8]:=
ComposeSimpleForm |
Out[8]=
x
1
y
1
x
2
x
3
y
1
x
2
x
3
y
2
y
3
x
4
x
5
x
6
y
1
x
4
x
5
x
6
y
2
y
3
x
4
x
5
x
6
y
4
y
5
y
6
x
0
y
0
x
1
y
0
y
0
x
2
x
3
y
0
x
4
x
5
x
6
Notice the automatic additions to the lists of declared scalar and vector symbols.
In[9]:=
{ScalarSymbols,VectorSymbols}
Out[9]=
{a,b,c,d,e,f,g,h,,},p,q,r,s,t,u,v,w,x,y,z,α,β,ψ,ω,,,,,,,,,,,,,,,,,,,,,
x
0
y
0
e
1
e
2
e
3
x
1
x
2
x
3
x
4
x
5
x
6
y
1
y
2
y
3
y
4
y
5
y
6
e
1
e
2
e
3
1
e
2
e
3
e
ComposeSimpleForm
In[10]:=
ComposeSimpleForm |
|
{0,2}
|
{1,3}
|
{0,1,2}
Out[10]=
((+⋀)⋀(+⋀⋀))⋄(+⋀)
ComposeSimpleForm
Listable
In[11]:=
ComposeSimpleForm |
x
2
z
4
|
{0,1,2}
Out[11]=
{1,⋀,⋀⋀⋀,+⋀}
x
2
x
3
z
7
z
8
z
9
z
10
As part of a larger expression the unigraded symbol , (m positive integer) will generate a simple form with 1-elements indexed as if it were a component of a general Grassmann number.
x
m
In[12]:=
ComposeSimpleForm |
x
5
Out[12]=
1+⋀⋀⋀⋀
x
11
x
12
x
13
x
14
x
15
However, if is the sole expression you can use a second argument of to generate a simpler form of subscripting starting at s. Here we start at
x
m
p
1
.In[13]:=
1+
,1
ComposeSimpleForm |
x
5
Out[13]=
1+⋀⋀⋀⋀
x
1
x
2
x
3
x
4
x
5
If you wish to generate the simpler form of subscripting to elements in a more complex expression, or start at a different index, you can wrap the second argument form around the elements you choose.
In[14]:=
1+
,1⊖
,j
ComposeSimpleForm |
x
5
ComposeSimpleForm |
y
5
Out[14]=
1+⋀⋀⋀⋀⊖⋀⋀⋀⋀
x
1
x
2
x
3
x
4
x
5
y
j
y
1+j
y
2+j
y
3+j
y
4+j
You can also use the second argument form of on lists and lists of lists. We reset the default preferences because had already been declared a scalar symbol and now we wish it to be a vector symbol.
ComposeSimpleForm
x
0
In[15]:=
★A;
[1,,,0],
1,,,1
ComposeSimpleForm |
x
2
z
4
ComposeSimpleForm |
u
2
v
4
Out[15]=
{{1,⋀,⋀⋀⋀},{1,⋀,⋀⋀⋀}}
x
0
x
1
z
0
z
1
z
2
z
3
u
1
u
2
v
1
v
2
v
3
v
4
In[16]:=
ComposeSimpleForm |
x
2
z
4
u
2
v
4
Out[16]=
{{1,⋀,⋀⋀⋀},{1,⋀,⋀⋀⋀}}
x
0
x
1
z
0
z
1
z
2
z
3
u
0
u
1
v
0
v
1
v
2
v
3
|
|
""

