{VERSION 2 3 "HP RISC UNIX" "2.3" }
{USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0
1 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0
0 0 }{CSTYLE "" -1 256 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE ""
-1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0
0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE ""
-1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0
0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE ""
-1 265 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0
0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0
0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE ""
-1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0
0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 0 1 0 0 0 0 0
0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE ""
-1 273 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1
{CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0
0 0 0 0 -1 0 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 257 1
{CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0
0 0 0 0 -1 0 }}
{SECT 0 {PARA 256 "" 0 "" {TEXT 256 15 "The 4-D Simplex" }}{PARA 0 ""
0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 396 " These are the
procedures necessary to generate the various images of the simplex. \+
In order to keep the text uninterupted, placing the cursor on the firs
t line of commands (in red) will execute all procedures necessary to d
efine the polytope. Maple will then take you to the first line of the
next execution group. You may need to scroll back to read the text w
hich precedes each display." }}{PARA 0 "" 0 "" {TEXT -1 103 "For a det
ailed explanation of the procedures below, scroll through them and rea
d the text and refer to " }{HYPERLNK 17 "Appendix A." 1 "proc.mws" ""
}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 81 "
These are the libraries of commands needed to execute the proced
ures below." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(linalg):with(pl
ots):" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 6 " \+
" }{TEXT 264 7 "Project" }{TEXT -1 54 " is a procedure which take
s a polytope P and a vector " }{TEXT 258 1 "v" }{TEXT -1 66 " and proj
ects the vertices of P onto the hyperplane orthogonal to " }{TEXT 257
1 "v" }{TEXT -1 1 "." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 314 "project:=p
roc(P,v) local a,b,c,d,n,i;\na:=v[1];b:=v[2];c:=v[3];d:=v[4];\nn:=sqrt
(a^2+b^2+c^2+d^2);\n[[seq([(P[1][i][1]*d+P[1][i][2]*c-P[1][i][3]*b- P[
1][i][4]*a)/n,\n(-P[1][i][1]*c+P[1][i][2]*d+P[1][i][3]*a- P[1][i][4]*b
)/n,\n(P[1][i][1]*b-P[1][i][2]*a+P[1][i][3]*d- P[1][i][4]*c)/n],\ni=1.
.nops(P[1]))],P[2],P[3]];\nend:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}
{PARA 0 "" 0 "" {TEXT -1 6 " " }{TEXT 263 9 "Perspproj" }{TEXT
-1 51 " is a procedure which takes a polytope P, a vector " }{TEXT
259 1 "v" }{TEXT -1 416 ", and a factor f, and projects the vertices o
f P onto the hyperplane orthogonal to v, with a perspective distance f
actor of f. For large values of f, the object will be perspected as i
f it was viewed from far away. Thus, the effects of perspective will \+
be minimal. Smaller values of f will generate a perspective effect in
the projection. Values must be greater than 1, and this often result
s in a division by 0." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 512 "perspproj
:=proc(P,v,f) local a,b,c,d,n,i,p1,p2,p3,p4,g,q1,q2,q3,q4;\na:=v[1];b:
=v[2];c:=v[3];d:=v[4];\nn:=sqrt(a^2+b^2+c^2+d^2);\nfor i from 1 to nop
s(P[1]) do;\np1:=P[1][i][1];p2:=P[1][i][2];\np3:=P[1][i][3];p4:=P[1][i
][4];\np1:=p1-f*a/n;p2:=p2-f*b/n;\np3:=p3-f*c/n;p4:=p4-f*d/n;\ng:=-n*f
/(a*p1+b*p2+c*p3+d*p4);\nq1[i]:=g*p1;q2[i]:=g*p2;q3[i]:=g*p3;q4[i]:=g*
p4;\nod;\n[[seq([(q1[i]*d+q2[i]*c-q3[i]*b-q4[i]*a)/n,\n(-q1[i]*c+q2[i]
*d+q3[i]*a-q4[i]*b)/n,\n(q1[i]*b-q2[i]*a+q3[i]*d-q4[i]*c)/n],\ni=1..no
ps(P[1]))],P[2],P[3]];\nend:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA
0 "" 0 "" {TEXT -1 6 " " }{TEXT 262 10 "Polydecode" }{TEXT -1
185 " is a procedure which takes a polytope P and lists the coordinate
s of the vertices of each polygonal face. This defines the polytope b
y its faces, allowing polygonplot3D to display it." }}{PARA 0 "> " 0 "
" {MPLTEXT 1 0 103 "polydecode:=proc(P) local i,j;\n[seq([seq(P[1][P[2
][i][j]],j=1..nops(P[2][i]))],\ni=1..nops(P[2]))];\nend:" }}{PARA 0 "
" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 6 " " }{TEXT 261
8 "Multpoly" }{TEXT -1 178 " is a procedure which take a polytope P an
d a rotation matrix M and multiplies each of the vertices (thought of \+
as column matrices) by M, generating a rotation about some vector " }
{TEXT 260 1 "v" }{TEXT -1 1 "." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 363 "
multpoly:=proc(P,M) local i;\n[[seq([M[1,1]*P[1][i][1]+M[1,2]*P[1][i][
2]+M[1,3]*P[1][i][3]+M[1,4]*P[1][i][4],\nM[2,1]*P[1][i][1]+M[2,2]*P[1]
[i][2]+M[2,3]*P[1][i][3]+M[2,4]*P[1][i][4],\nM[3,1]*P[1][i][1]+M[3,2]*
P[1][i][2]+M[3,3]*P[1][i][3]+M[3,4]*P[1][i][4],\nM[4,1]*P[1][i][1]+M[4
,2]*P[1][i][2]+M[4,3]*P[1][i][3]+M[4,4]*P[1][i][4]],\ni=1..nops(P[1]))
],P[2],P[3]];\nend:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "
" {TEXT -1 33 "The five vertices of the simplex:" }}{PARA 0 "> " 0 ""
{MPLTEXT 1 0 201 "p[1]:=[0,0,0,4*sqrt(1/10)]:\np[2]:=[0,0,3*sqrt(1/6),
-sqrt(1/10)]:\np[3]:=[0,2*sqrt(1/3),-sqrt(1/6),-sqrt(1/10)]:\np[4]:=[1
,-sqrt(1/3),-sqrt(1/6),-sqrt(1/10)]:\np[5]:=[-1,-sqrt(1/3),-sqrt(1/6),
-sqrt(1/10)]:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 ""
{TEXT -1 97 "The 10 polygons of the simplex are each equilateral trian
gles. They are given by their vertices." }}{PARA 0 "> " 0 ""
{MPLTEXT 1 0 150 "f[1]:=[1,2,3]: f[2]:=[1,2,4]:\nf[3]:=[1,2,5]: f[4]:=
[1,3,4]:\nf[5]:=[1,3,5]: f[6]:=[1,4,5]:\nf[7]:=[2,3,4]: f[8]:=[2,3,5]:
\nf[9]:=[2,4,5]: f[10]:=[3,4,5]:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}
{PARA 0 "" 0 "" {TEXT -1 93 "The five cells of the simplex are each re
gular tetrahedra. They are given by their polygons." }}{PARA 0 "> "
0 "" {MPLTEXT 1 0 84 "c[1]:=[1,2,3,4]: c[2]:=[1,2,3,5]:\nc[3]:=[1,2,4,
5]: c[4]:=[1,3,4,5]:\nc[5]:=[2,3,4,5]:" }}{PARA 0 "" 0 "" {TEXT -1 0 "
" }}{PARA 0 "" 0 "" {TEXT -1 286 "The data structure used for the 4-po
lytope is a list of a list of vertices, whose coordinates are defined \+
above, a list of polygons given by the number of their vertices, and a
list of cells given by the number of their polygons. The list struct
ure is: [[vertices],[polygons],[cells]]." }}{PARA 0 "> " 0 ""
{MPLTEXT 1 0 70 "simpleks:=[[seq(p[i],i=1..5)],[seq(f[i],i=1..10)],[se
q(c[i],i=1..5)]]:" }}}{PARA 257 "" 0 "" {TEXT -1 0 "" }}{PARA 257 ""
0 "" {TEXT 265 15 "The 4-D Simplex" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}
{PARA 0 "" 0 "" {TEXT 269 9 "Existence" }}{PARA 0 "" 0 "" {TEXT -1
805 " The simplex is so named as it is the simplest polytope \+
which occupies n-space. In 2-space, the simplex is the triangle. In \+
3-space, a tetrahedron is the simplex. And in 1-space, it's a line-se
gment. One can understand the basic nature of the simplex by understa
nding how spaces are defined. From our high school geometry, we recal
l that a line is defined uniquely by any two points on it. In order t
o determine a line, we need at least two points. The line-segment con
necting two points is the simplest polytope which can be constructed 1
-space. We should also recall that a line and any point not on that l
ine determine a unique plane. Thus, a plane requires three points, an
d these three points are the vertices of a triangle, the 2-simplex. (
Try to form a polygon with fewer edges.)" }}{PARA 0 "" 0 "" {TEXT -1
886 " The next step is to recognize that a hyperplane is dete
rmined by a plane and any point not on that plane. In our minds, any \+
point not on the plane exists in and determines this 3-space. However
, we are confining the placement of that point to this hyperplane. Th
is is much like confining a point above a line to a particular plane a
nd arguing that no matter where it is placed, it only determines one p
lane. The point must be moved out of that plane in order to determine
another with the line. Thus, any point not on the plane must be move
d out of this 3-space to define any other 3-space. As such, four poin
ts determine a hyperplane. When each of these four non-coplanar point
s is joined to the others, it generates a tetrahedron. Thus, a tetrah
edron is the 3-simplex. Every polyhedron must have at least four face
s, as every polygon must have at least three sides." }}{PARA 0 "" 0 "
" {TEXT -1 503 " The pattern should be obvious at this point.
Any n-space is defined by at least n + 1 points, not all in the same
hyperplane. Thus, 4-space is defined by five points, and these five \+
points form the vertices of a 4-simplex, or simply the simplex. Each \+
of the vertices of the simplex is equidistant from and connected to al
l the other vertices. It should also be clear that this process can b
e continued for any number of dimensions, so that a simplex is always \+
defined in n-space for any n." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}
{PARA 0 "" 0 "" {TEXT 268 12 "Construction" }}{PARA 0 "" 0 "" {TEXT
-1 997 " For a moment, try to place four points in a plane so
that each is the same distance from all the others. It can't be done
. It can be done outside the plane, however. The equidistant placeme
nt of four points in space forms a regular tetrahedron. Now try to pl
ace five points in an arrangement so that each is equidistant from eve
ry other. Again, it can't be done...unless you leave 3-space. In 4-s
pace, a fifth point could be placed \"above\" a tetrahedron, and then \+
connected to each of the four points. This forms a pyramid in 4-space
, with a polyhedron for a base (just as a pyramid in 3-space is a poin
t above a polygon connected to the vertices). The \"walls\" of the py
ramid are tetrahedral cells, each of which formed by a triangular base
(one of the faces of the tetrahedral base of the pyramid) and the fif
th point above it. Thus, the simplex is composed of five tetrahedra, \+
one as the base of the pyramid, and one for each of the four faces of \+
that base joined to the apex." }}{PARA 0 "" 0 "" {TEXT -1 336 " \+
In every n-space, the simplex is composed of (n-1)-simplices. Each
of these can serve as the base of a pyramid. Because of the simplex'
s regularity, it will appear the same sitting on any base. Each verte
x can be moved to the apex position and (in the case of the 4-simplex)
the other four vertices form a tetrahedral base." }}{PARA 0 "" 0 ""
{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 273 15 "Schl\344fli Symbol" }}
{PARA 0 "" 0 "" {TEXT -1 731 " The Schl\344fli symbol for the
2-simplex, an equilateral triangle, is \{3\} as it has three edges an
d three vertices. The symbol for the 3-simplex, a regular tetrahedron
, is \{3,3\}. The simplex of each space is composed of the simplices \+
of lesser dimensions. Thus, all of the faces of a simplex are \{3\}'s
and all of the cells of higher-order simplices are \{3,3\}'s. It is \+
not surprising, then, that the notation for a 4-simplex is \{3,3,3\}. \+
Reading this notation accordingly, every face is a triangle; within e
very cell, three faces meet at a vertex; and around every edge, three \+
cells meet. The vertex figure of the simplex is also \{3,3\}, a tetra
hedron. And since \{3,3,3\} reversed is \{3,3,3\}, the simplex is its
own dual." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT
266 9 "Convexity" }}{PARA 0 "" 0 "" {TEXT -1 668 " Also notic
e that, even for irregulars, a simplex is always convex. Try to draw \+
a concave triangle. Or try to invert one vertex of a tetrahedron to m
ake it concave. Because of the nature of the simplex, it is simply im
possible not to make it convex. Furthermore, when a convex polyhedron
is projected into a plane, its projection is a convex polygon. This \+
is true for any convex polytope in n-space projected into any space of
lesser dimension. This follows from the fact that no point on the in
terior of a polytope can be projected to the exterior of the projectio
n image. Thus all simplices, and all projections of simplices in all \+
spaces are convex." }}{PARA 0 "" 0 "" {TEXT -1 630 " The proj
ection of a tetrahedron into a plane (as shown in Figure 8) is a quadr
ilateral together with its diagonals. A regular tetrahedron could be \+
projected as a square. A projection of the simplex into 2-space gener
ates a pentagon with a pentagram inscribed in it (formed by all of the
diagonals). If the simplex is regular, the projected pentagon can be
made to be regular. Thus one can see that any regular n-simplex proj
ected into the plane can be represented by a regular (n+1)-polygon wit
h all of its diagonals included. (You now have a very simple method f
or drawing representations of a regular polytope in " }{TEXT 267 3 "an
y" }{TEXT -1 34 " number of dimensions you choose!)" }}{PARA 0 "" 0 "
" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 270 11 "Coordinates" }}{PARA
0 "" 0 "" {TEXT -1 590 " The coordinates defined in the execu
tion group above were arrived at in the following manner: Begin in 1-
space with a simplex from (-1) to (1). This determines the sidelength
of the simplex to be 2. Now move these points down in 2-space to (-1
,-a) and (1,-a) and add a point above them on the y-axis at (0,b). Fi
nd the distance from (0,b) to (1,-a) and set it equal to 2. Then set \+
the distance from (0,b) to the origin (that is, b) equal to the distan
ce from (1,-a) to the origin. This centers a regular triangle at the \+
origin with sidelength 2 and one vertex on the y-axis." }}{PARA 0 ""
0 "" {TEXT -1 411 " Next, we move this triangle down in 3-spa
ce to a plane below the xy-plane and place a fourth point above it on \+
the z-axis which is 2 units from each of the other vertices, places su
ch that the tetrahedron is centered at the origin. This is done by us
ing the points (-1,-a,-a'), (1,-a,-a'), (0,b,-a') and (0,0,b') and sol
ving a system of equations, obtained in the same manner as above, for \+
a' and b'." }}{PARA 0 "" 0 "" {TEXT -1 538 " Finally, we move
each of these vertices \"down\" in 4-space, in the same way we did ab
ove: by adding an additional coordinate of -a'' to each of the four v
ertices, and adding a fifth point above them at (0,0,0,b''). Thus the
five points look like (-1,-a,-a',-a''), (1,-a,-a',-a''), (0,b,-a',-a'
'), (0,0,b',-a''), and (0,0,0,b''). (In fact, a system of equations f
or these five points can be generated and solved for all variables.) \+
These five points represent a simplex in 4-space centered at the origi
n and with sidelength 2." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG
{PARA 0 "" 0 "" {TEXT -1 70 " Here is a display of the simple
x projected along the vector " }{TEXT 271 1 "v" }{TEXT -1 47 " = (1,1,
2,2) into the hyperplane determined by " }{TEXT 272 1 "v" }{TEXT -1
157 ". It appears as a tetrahedron with a central point. Changing th
e projection vector in the command below will generate another image f
rom a different angle." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 104 "polygonp
lot3d(polydecode(project(simpleks,[1,1,2,2])),scaling=constrained,styl
e=wireframe,thickness=2);\n" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}
{EXCHG {PARA 0 "" 0 "" {TEXT -1 239 " Using a sequence comman
d, we can vary the projection vector to get a series of views. The im
age will change continuously as our \"view\" of the simplex changes. \+
Telling Maple to loop the image will generate an oscillating figure."
}}{PARA 0 "" 0 "" {TEXT -1 182 " Here are two sequences of vi
ews of the simplex. The first is a rather tame revolution of the proj
ection vector around in the xy-plane. The second is a little wilder v
iew." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 183 "display([seq(polygonplot3d
(polydecode(project(simpleks,[0,evalf(cos(Pi*k/20),2),evalf(sin(Pi*k/2
0),2),0]))),k=0..40)],insequence=true,thickness=2,scaling=constrained,
style=wireframe);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 225 "displ
ay([seq(polygonplot3d(polydecode(project(simpleks,[evalf(cos(Pi*k/10),
2),evalf(sin(Pi*k/20),2),2*evalf(sin(Pi*k/20),2),evalf(cos(Pi*k/20),2)
]))),k=0..40)],insequence=true,thickness=2,scaling=constrained,style=w
ireframe);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 350 "The following proc
edure generates a perspective projection of the simplex. Due to the s
imple nature of the simplex, a perspective view is not very different \+
from an orthogonally projected view. It is included here for consiste
ncy. By changing the projection vector or the distance factor, you ca
n generate various perspective views of the simplex." }}{PARA 0 "> "
0 "" {MPLTEXT 1 0 107 "polygonplot3d(polydecode(perspproj(simpleks,[1,
1,1,1],3)),scaling=constrained,style=wireframe,thickness=3);" }}}
{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 212 "N
ow let's take a look at a series of images produced by rotating the si
mplex and projecting each of the rotated images in the same direction.
The rotation matrix M is displayed along with the sequence of images
." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 113 "i:='i':t:=i*Pi/30:\nM:=array(
[[cos(t),-sin(t),0,0],[sin(t),cos(t),0,0],[0,0,cos(t),-sin(t)],[0,0,si
n(t),cos(t)]]);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 159 "display([seq(po
lygonplot3d(polydecode(perspproj(multpoly(simpleks,M),[1,0,1,0],5)),sc
aling=constrained,style=wireframe,thickness=3),i=1..60)],insequence=tr
ue);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT
-1 101 "Here is another sequence of images using a different rotation \+
matrix and different projection vector." }}{PARA 0 "> " 0 "" {MPLTEXT
1 0 103 "i:='i':t:=i*Pi/30:\nM2:=array([[cos(t),0,0,0],[0,cos(t),-sin(
t),0],[0,sin(t),cos(t),0],[0,0,0,sin(t)]]);" }}{PARA 0 "> " 0 ""
{MPLTEXT 1 0 159 "display([seq(polygonplot3d(polydecode(perspproj(mult
poly(simpleks,M),[1,1,1,1],5)),scaling=constrained,style=wireframe,thi
ckness=3),i=1..60)],insequence=true);" }}}{EXCHG {PARA 0 "" 0 ""
{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 91 "More information and imag
es of the simplex can be found in the Summary Information section." }}
{PARA 0 "" 0 "" {TEXT -1 32 "Now we are ready to discuss the " }
{HYPERLNK 17 "hypercube." 1 "measure.mws" "" }}}}{MARK "0 0" 0 }
{VIEWOPTS 1 1 0 1 1 1803 }