GrassmannCalculus`
ComposeSimpleMVector |
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Set a book 4-dimensional vector space.
In[2]:=
★ℬ |
4
Compose a simple 3-vector.
In[3]:=
ComposeSimpleMVector |
Out[3]=
(+++)⋀(+++)⋀(+++)
c
1
e
1
c
2
e
2
c
3
e
3
c
4
e
4
c
5
e
1
c
6
e
2
c
7
e
3
c
8
e
4
c
9
e
1
c
10
e
2
c
11
e
3
c
12
e
4
Note the difference between an MVector and a SimpleMVector in 4-space
In[4]:=
[2,a],
[2,a]//Column
ComposeMVector |
ComposeSimpleMVector |
Out[4]=
a 1 e 1 e 2 a 2 e 1 e 3 a 3 e 1 e 4 a 4 e 2 e 3 a 5 e 2 e 4 a 6 e 3 e 4 |
( a 1 e 1 a 2 e 2 a 3 e 3 a 4 e 4 a 5 e 1 a 6 e 2 a 7 e 3 a 8 e 4 |
You will get the same result whether you are in a point space or a vector space.
In[5]:=
★A;
;
[3,a],
;
[3,a]//Column
★ℬ |
3
ComposeSimpleMVector |
★ |
3
ComposeSimpleMVector |
Out[5]=
( a 1 e 1 a 2 e 2 a 3 e 3 a 4 e 1 a 5 e 2 a 6 e 3 a 7 e 1 a 8 e 2 a 9 e 3 |
( a 1 e 1 a 2 e 2 a 3 e 3 a 4 e 1 a 5 e 2 a 6 e 3 a 7 e 1 a 8 e 2 a 9 e 3 |
You can compose simple m-vectors in any dimension. (Here, the first two will simplify to zero).
In[6]:=
Table
;
[3,c],{i,1,4}//Column
★ℬ |
i
ComposeSimpleMVector |
Out[6]=
( c 1 e 1 c 2 e 1 c 3 e 1 |
( c 1 e 1 c 2 e 2 c 3 e 1 c 4 e 2 c 5 e 1 c 6 e 2 |
( c 1 e 1 c 2 e 2 c 3 e 3 c 4 e 1 c 5 e 2 c 6 e 3 c 7 e 1 c 8 e 2 c 9 e 3 |
( c 1 e 1 c 2 e 2 c 3 e 3 c 4 e 4 c 5 e 1 c 6 e 2 c 7 e 3 c 8 e 4 c 9 e 1 c 10 e 2 c 11 e 3 c 12 e 4 |
You can compose lists of simple m-vectors.
In[7]:=
★ℬ |
3
ComposeSimpleMVector |
Out[7]=
c 1 e 1 c 2 e 2 c 3 e 3 |
( c 1 e 1 c 2 e 2 c 3 e 3 c 4 e 1 c 5 e 2 c 6 e 3 |
( c 1 e 1 c 2 e 2 c 3 e 3 c 4 e 1 c 5 e 2 c 6 e 3 c 7 e 1 c 8 e 2 c 9 e 3 |
( c 1 e 1 c 2 e 2 c 3 e 3 c 4 e 1 c 5 e 2 c 6 e 3 c 7 e 1 c 8 e 2 c 9 e 3 c 10 e 1 c 11 e 2 c 12 e 3 |
In[8]:=
★ℬ |
3
ComposeSimpleMVector |
Out[8]=
( e 1 α 1 e 2 α 2 e 3 α 3 e 1 α 4 e 2 α 5 e 3 α 6 |
( e 1 β 1 e 2 β 2 e 3 β 3 e 1 β 4 e 2 β 5 e 3 β 6 |
( e 1 γ 1 e 2 γ 2 e 3 γ 3 e 1 γ 4 e 2 γ 5 e 3 γ 6 |
( e 1 δ 1 e 2 δ 2 e 3 δ 3 e 1 δ 4 e 2 δ 5 e 3 δ 6 |
In[9]:=
ComposeSimpleMVector |
Out[9]=
e 1 α 1 e 2 α 2 e 3 α 3 |
( e 1 β 1 e 2 β 2 e 3 β 3 e 1 β 4 e 2 β 5 e 3 β 6 |
( e 1 γ 1 e 2 γ 2 e 3 γ 3 e 1 γ 4 e 2 γ 5 e 3 γ 6 e 1 γ 7 e 2 γ 8 e 3 γ 9 |
( e 1 δ 1 e 2 δ 2 e 3 δ 3 e 1 δ 4 e 2 δ 5 e 3 δ 6 e 1 δ 7 e 2 δ 8 e 3 δ 9 e 1 δ 10 e 2 δ 11 e 3 δ 12 |
You can make the starting index of the coefficients whatever you want.
In[10]:=
★ℬ |
4
ComposeSimpleMVector |
Out[10]=
( a 0 e 1 a 1 e 2 a 2 e 3 a 3 e 4 a 4 e 1 a 5 e 2 a 6 e 3 a 7 e 4 |
( c k e 1 c 1+k e 2 c 2+k e 3 c 3+k e 4 c 4+k e 1 c 5+k e 2 c 6+k e 3 c 7+k e 4 c 8+k e 1 c 9+k e 2 c 10+k e 3 c 11+k e 4 |
Note that all the scalar symbols generated as coefficients of the basis elements have been automatically declared as scalar symbols.
In[11]:=
ScalarSymbols
Out[11]=
{a,b,c,d,e,f,g,h,,,,,,,,,,,,,,,,,,,,}
a
0
a
1
a
2
a
3
a
4
a
5
a
6
a
7
c
k
c
1+k
c
2+k
c
3+k
c
4+k
c
5+k
c
6+k
c
7+k
c
8+k
c
9+k
c
10+k
c
11+k
You can also generate templates for simple m-vectors using the placeholder symbol. This allows you to tab through the composed result and enter your own values.
In[12]:=
ComposeSimpleMVector |
|
Out[12]=
(+++)⋀(+++)⋀(+++)
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
An alternative method for composing specific simple m-vectors:
In[13]:=
Fold[#1⋀#2.Basis&,1,{{1,2,3,4},{a,b,c,d},{5,6,-7,-8}}]%/.
[2,2]
★ℜ |
Out[13]=
1⋀(+2+3+4)⋀(a+b+c+d)⋀(5+6-7-8)
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[13]=
(+2+3+4)⋀(a+b+c+d)⋀(5+6-7-8)
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
|
""

