GrassmannCalculus`
ComposeBasisForm |
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Set the book default vector space.
In[2]:=
★A;
Here is the basis form of a bivector in 3-space:
In[3]:=
ComposeBasisForm |
Out[3]=
(++)⋀(++)
e
1
x
1
e
2
x
2
e
3
x
3
e
1
y
1
e
2
y
2
e
3
y
3
Note that the generated scalars are based on the symbols in the original expression. These scalars have automatically been added to the list of declared scalar symbols.
In[4]:=
ScalarSymbols
Out[4]=
{a,b,c,d,e,f,g,h,,,,,,}
x
1
x
2
x
3
y
1
y
2
y
3
You can apply to matrices of expressions.
ComposeBasisForm
In[5]:=
A={{x,u},{v,y}};MatrixForm[A]
Out[5]//MatrixForm=
x | u |
v | y |
In[6]:=
ComposeBasisForm |
Out[6]//MatrixForm=
e 1 x 1 e 2 x 2 e 3 x 3 | e 1 u 1 e 2 u 2 e 3 u 3 |
e 1 v 1 e 2 v 2 e 3 v 3 | e 1 y 1 e 2 y 2 e 3 y 3 |
ComposeBasisForm
In[7]:=
A=
⋀
⋄
ComposeBasisForm |
|
{0,2}
|
{1,3}
|
{1,2}
Out[7]=
((+⋀+⋀+⋀)⋀(+++⋀⋀))⋄(+++⋀+⋀+⋀)
e
1
e
2
e
1
e
3
e
2
e
3
e
1
e
2
e
3
e
1
e
2
e
3
e
1
e
2
e
3
e
1
e
2
e
1
e
3
e
2
e
3
You can also apply in sequence with .
ComposeBasisForm
ComposeSimpleForm
In[8]:=
A=⋀q⊖
[%]
[%]
p
2
r
2
ComposeSimpleForm |
ComposeBasisForm |
Out[8]=
p
2
r
2
Out[8]=
p
2
p
3
r
2
r
3
Out[8]=
(++)⋀(++)⋀(++)⊖(++)⋀(++)
e
1
p
2,1
e
2
p
2,2
e
3
p
2,3
e
1
p
3,1
e
2
p
3,2
e
3
p
3,3
e
1
q
1
e
2
q
2
e
3
q
3
e
1
r
2,1
e
2
r
2,2
e
3
r
2,3
e
1
r
3,1
e
2
r
3,2
e
3
r
3,3
This contrasts with applying immediately to the original expression .
ComposeBasisForm
A
In[9]:=
ComposeBasisForm |
Out[9]=
(⋀+⋀+⋀)⋀(++)⊖(⋀+⋀+⋀)
p
2,1
e
1
e
2
p
2,2
e
1
e
3
p
2,3
e
2
e
3
e
1
q
1
e
2
q
2
e
3
q
3
r
2,1
e
1
e
2
r
2,2
e
1
e
3
r
2,3
e
2
e
3
In[10]:=
Clear[A]
|
|
""

