GrassmannCalculus`
ExpandAndSimplifyHypercomplexProducts |
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Set the book default to establish scalars and vectors.
In[2]:=
★A;
ExpandHypercomplexProducts
SimplifyHypercomplexProducts
ExpandAndSimplifyHypercomplexProducts
ToMetricElements
In[3]:=
★P |
e
1
e
2
e
1
e
3
e
2
e
3
ExpandHypercomplexProducts |
SimplifyHypercomplexProducts |
ExpandAndSimplifyHypercomplexProducts |
ToMetricElements |
Out[3]=
(a⋀+b⋀)∘(c+d)
e
1
e
2
e
1
e
3
e
2
e
3
Out[3]=
(a⋀)∘(c)+(a⋀)∘(d)+(b⋀)∘(c)+(b⋀)∘(d)
e
1
e
2
e
2
e
1
e
2
e
3
e
1
e
3
e
2
e
1
e
3
e
3
Out[3]=
ac(⋀)∘+ad(⋀)∘+bc(⋀)∘+bd(⋀)∘
e
1
e
2
e
2
e
1
e
2
e
3
e
1
e
3
e
2
e
1
e
3
e
3
Out[3]=
ac(⋀)∘+ad(⋀)∘+bc(⋀)∘+bd(⋀)∘
e
1
e
2
e
2
e
1
e
2
e
3
e
1
e
3
e
2
e
1
e
3
e
3
Out[3]=
-(ac+bd)+(-bc+ad)⋀⋀
2,1,1
★σ
e
1
2,0,1
★σ
e
1
e
2
e
3
Using a more symbolic expression, expands only the hypercomplex products in a Grassmann expression.
ExpandHypercomplexProducts
In[4]:=
★A;X=(a+b)⊖(z+w)+(ax+b+cy)∘(ex⋀y+f)X1=
[X]
ExpandHypercomplexProducts |
Out[4]=
(a+b)⊖(w+z)+(b+ax+cy)∘(f+ex⋀y)
Out[4]=
(a+b)⊖(w+z)+b∘f+b∘(ex⋀y)+(ax)∘f+(ax)∘(ex⋀y)+(cy)∘f+(cy)∘(ex⋀y)
Applying to gives:
SimplifyHypercomplexProducts
X1
In[5]:=
SimplifyHypercomplexProducts |
Out[5]=
bf+afx+cfy+(a+b)⊖(w+z)+aex∘(x⋀y)+cey∘(x⋀y)+bex⋀y
However, applying directly to the expression gives the same result.
ExpandAndSimplifyHypercomplexProducts
In[6]:=
ExpandAndSimplifyHypercomplexProducts |
Out[6]=
bf+afx+cfy+(a+b)⊖(w+z)+aex∘(x⋀y)+cey∘(x⋀y)+bex⋀y
Note that is neither expanded, nor simplified to zero, since it is not a hypercomplex product.
(a+b)⊖(z+w)
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 assert that is of grade 0, making it a scalar. (Note also that although has been asserted to be a 5-element, it has not been simplified to zero in this 4-space, since it is not a hypercomplex product).
x
A
In[7]:=
★ℬ |
4
y
2
y
2
ExpandAndSimplifyHypercomplexProducts |
★Λ
5
★Λ
0
Out[7]=
A+(x+)∘(x+)
y
2
y
2
Out[7]=
A++∘+2x
2
x
y
2
y
2
y
2
In[8]:=
★PP;Clear[X,X1]
|
|
|
""


