GrassmannCalculus`
ComposeSimpleBivector |
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
You can use the full form of , or its alias .
ComposeSimpleBivector[c]
★
c
In[2]:=
★A;
[c]
//Column
ComposeSimpleBivector |
,
★ |
c
Out[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 1 e 1 c 2 e 2 c 3 e 3 c 4 e 1 c 5 e 2 c 6 e 3 |
Contrast that with composing a general bivector:
In[3]:=
ComposeBivector |
Out[3]=
c
1
e
1
e
2
c
2
e
1
e
3
c
3
e
2
e
3
You will get the same result whether you are in a point space or a vector space.
In[4]:=
;
,
;
//Column
★ℬ |
3
★ |
a
★ |
3
★ |
a
Out[4]=
( 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 1 e 1 a 2 e 2 a 3 e 3 a 4 e 1 a 5 e 2 a 6 e 3 |
You can compose simple bivectors in any dimension greater than 1.
In[5]:=
Table
;
,{i,2,4}//Column
★ℬ |
i
★ |
c
Out[5]=
( c 1 e 1 c 2 e 2 c 3 e 1 c 4 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 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 |
You can compose lists of simple bivectors:
In[6]:=
★ℬ |
3
★ |
{a,b,c}
Out[6]=
( a 1 e 1 a 2 e 2 a 3 e 3 a 4 e 1 a 5 e 2 a 6 e 3 |
( b 1 e 1 b 2 e 2 b 3 e 3 b 4 e 1 b 5 e 2 b 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 |
You can make the starting index of the coefficients whatever you want.
In[7]:=
★ |
{a,b},0
Out[7]=
( a 0 e 1 a 1 e 2 a 2 e 3 a 3 e 1 a 4 e 2 a 5 e 3 |
( b 0 e 1 b 1 e 2 b 2 e 3 b 3 e 1 b 4 e 2 b 5 e 3 |
In[8]:=
★ |
{a,b},{-3,α}
Out[8]=
( a -3 e 1 a -2 e 2 a -1 e 3 a 0 e 1 a 1 e 2 a 2 e 3 |
( b α e 1 b 1+α e 2 b 2+α e 3 b 3+α e 1 b 4+α e 2 b 5+α e 3 |
Note that all the scalar symbols generated as coefficients of the basis elements have been automatically declared as scalar symbols.
In[9]:=
ScalarSymbols
Out[9]=
{a,b,c,d,e,f,g,h,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
a
-3
a
-2
a
-1
a
0
a
1
a
2
a
3
a
4
a
5
a
6
b
0
b
1
b
2
b
3
b
4
b
5
b
6
b
α
b
1+α
b
2+α
b
3+α
b
4+α
b
5+α
c
1
c
2
c
3
c
4
c
5
c
6
You can also generate templates for simple bivectors using the placeholder symbol. This allows you to tab through the composed result and enter your own values.
In[10]:=
★ℬ |
4
★ |
|
Out[10]=
(+++)⋀(+++)
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
One could also enter a specific simple bivector by dotting lists of coefficients with the Basis vectors.
In[11]:=
{a,b,c,d}.Basis⋀{1,2,-3,-4}.Basis
Out[11]=
(a+b+c+d)⋀(+2-3-4)
e
1
e
2
e
3
e
4
e
1
e
2
e
3
e
4
|
|
""

