GrassmannCalculus`
ComposeScrewElement |
|
| | ||||
|
| | ||||
Details and Options
Examples
(1)
Basic Examples
(1)
In[1]:=
<<GrassmannCalculus`
Set the Grassmann3Space coordinate system.
In[2]:=
SetGrassmannNSpace[3,{x,y,z},"Vector"]
Compose a 3-dimensional screw element. It consists of a line in the form and a generic bivector.
point⋀vector
In[3]:=
ComposeScrewElement |
Out[3]=
a
7
e
x
e
y
a
8
e
x
e
z
a
9
e
y
e
z
e
x
a
1
e
y
a
2
e
z
a
3
e
x
a
4
e
y
a
5
e
z
a
6
The current space needs to be a point space. If it is not, no composition will occur.
In[4]:=
SetEuclideanNSpace[3,{x,y,z},"Vector"]
[a]
ComposeScrewElement |
Out[4]=
ComposeScrewElement[a]
You can compose screw elements in any dimension. Here we use the book point spaces.
In[5]:=
Table
;
[c],{i,2,4}//Column
★ |
i
ComposeScrewElement |
Out[5]=
c 5 e 1 e 2 c 1 e 1 c 2 e 2 c 3 e 1 c 4 e 2 |
c 7 e 1 e 2 c 8 e 1 e 3 c 9 e 2 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 9 e 1 e 2 c 10 e 1 e 3 c 11 e 1 e 4 c 12 e 2 e 3 c 13 e 2 e 4 c 14 e 3 e 4 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 screw elements.
In[6]:=
★ |
3
ComposeScrewElement |
Out[6]=
a 7 e 1 e 2 a 8 e 1 e 3 a 9 e 2 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 |
b 7 e 1 e 2 b 8 e 1 e 3 b 9 e 2 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 |
You can make the starting index of the coefficients whatever you want.
In[7]:=
★ |
3
ComposeScrewElement |
Out[7]=
a 6 e 1 e 2 a 7 e 1 e 3 a 8 e 2 e 3 a 0 e 1 a 1 e 2 a 2 e 3 a 3 e 1 a 4 e 2 a 5 e 3 |
c 6+k e 1 e 2 c 7+k e 1 e 3 c 8+k e 2 e 3 c k e 1 c 1+k e 2 c 2+k e 3 c 3+k e 1 c 4+k e 2 c 5+k e 3 |
Note that all the scalar symbols generated as coefficients of the basis elements have been automatically declared as scalar symbols.
In[8]:=
ScalarSymbols
Out[8]=
{a,b,c,d,e,f,g,h,,,,,,,,,,,,,,,,,,}
a
0
a
1
a
2
a
3
a
4
a
5
a
6
a
7
a
8
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
You can also generate templates for simple m-plane elements using the placeholder symbol. This allows you to tab through the composed result and enter your own values.
In[9]:=
ComposeScrewElement |
|
Out[9]=
⋀+⋀+⋀+(★+++)⋀(++)
e
1
e
2
e
1
e
3
e
2
e
3
e
1
e
2
e
3
e
1
e
2
e
3
You can also compose screw elements using a dot product construction.
In[10]:=
{0,0,0,1,2,3}.
[2]+({1,b,c,d}.Basis)⋀{f,g,h}.
GradeBasis |
FreeBasis |
Out[10]=
e
1
e
2
e
1
e
3
e
2
e
3
e
1
e
2
e
3
e
1
e
2
e
3
|
""

