{VERSION 1 0 "X11/Motif" "1.0"}{GLOBALS 3 1}{FONT 0 "-adobe-helve
tica-bold-r-normal--*-120-*-*-*-*-*-*" "helvetica" "Helvetica-Bol
d" 8 12 0 "Helvetica-Bold" 12}{FONT 1 "-adobe-times-medium-r-norm
al--*-120-*-*-*-*-*-*" "times" "Times-Roman" 4 12 64 "Times-Roman
" 12}{FONT 2 "-*-Courier-medium-r-normal--*-120-*-*-m-*-*-*" "Cou
rier" "Courier" 4 12 192 "Courier" 12}{FONT 3 "-adobe-times-bold-
r-normal--*-140-*-*-*-*-*-*" "times" "Times-Bold" 8 14 64 "Times-
Bold" 14}{FONT 4 "-adobe-new century schoolbook-bold-r-normal--*-
140-*-*-*-*-*-*" "new century schoolbook" "Times-Bold" 8 14 64 "T
imes-Bold" 14}{FONT 5 "-adobe-times-medium-r-normal--20-*" "times
" "Times-Roman" 4 12 64 "Times-Roman" 20}{SCP_R 1 0 89{COM_R 2 0
{TEXT 1 0 ""}}{COM_R 3 0{TEXT 3 29 "Differential Forms with Maple
"}}{COM_R 4 0{TEXT 1 0 ""}}{COM_R 5 0{TEXT 1 0 ""}}{COM_R 6 0
{TEXT 1 156 "Maple has a library for manipulating differential fo
rms.  This includes the exterior derivative operator \"d\" and th
e external product (or wedge product) &^."}}{COM_R 7 0{TEXT 1 0 "
"}}{COM_R 8 0{TEXT 1 57 "The library package must be loaded with \+
the command with."}}{COM_R 9 0{TEXT 1 0 ""}}{INP_R 10 0 "> "{TEXT
 0 15 "with(difforms);"}}{OUT_R 11 0 10{DAG [2,An3\`&^`n3\`d`n4\`
defform`n5\`formpart`n4\`mixpar`n4\`parity`n5\`scalarpart`n5\`sim
pform`n4\`wdegree`}}{COM_R 12 0{TEXT 1 0 ""}}{COM_R 13 0{TEXT 1 
82 "To create a form, we use the function defform and the followi
ng type declarations:"}}{COM_R 14 0{TEXT 1 0 ""}}{COM_R 15 0{TEXT
 1 62 "<name>=const                   means that <name> is a cons
tant"}}{COM_R 16 0{TEXT 1 75 "<name>=scalar                  mean
s that <name> is function from the reals"}}{COM_R 17 0{TEXT 1 74 
"<name>=<pos_integer> means that <name> is a form with degree=<po
s_integer>"}}{COM_R 18 0{TEXT 1 74 "<name>=<expr>               m
eans that <name> is a form with degree=<expr>"}}{COM_R 19 0{TEXT 
1 99 "<name>=form                    means that <name> is a form,
 but does not specify anything about it."}}{COM_R 20 0{TEXT 1 0 "
"}}{COM_R 21 0{TEXT 1 126 "There are additional options, describe
d in the help file, to specify forms with odd or even degree, and
 other special cases.  "}}{COM_R 22 0{TEXT 1 0 ""}}{COM_R 23 0
{TEXT 1 43 "Here is an example of defining  some forms."}}{COM_R 
24 0{TEXT 1 0 ""}}{INP_R 25 0 "> "{TEXT 0 72 "defform(f=scalar,g=
scalar,h=scalar,C=const,w1=1,w2=1,w3=1,vv=2,x=scalar,"}}{INP_R 26
 0 "> "{TEXT 0 19 "y=scalar,z=scalar);"}}{COM_R 27 0{TEXT 1 0 ""}
}{COM_R 28 0{TEXT 1 105 "Now we can perform some computation usin
g these parameters.  As mentioned above, &^ is the wedge product.
"}}{COM_R 29 0{TEXT 1 0 ""}}{INP_R 30 0 "> "{TEXT 0 21 "f1:=(C*w1
) &^ (f*w2);"}}{OUT_R 31 0 30{DAG :3n3\`f1`*7n3\`C`j2x0001n3\`f`p
6(3n3\`&^`,3n3\`w1`n3\`w2`p6}}{COM_R 32 0{TEXT 1 0 ""}}{COM_R 33 
0{TEXT 1 180 "The result is automatically simplified.  The result
 could also have been entered using functional notation.  We can \+
take apart the form using the functions scalarpart and formpart."
}}{COM_R 34 0{TEXT 1 0 ""}}{INP_R 35 0 "> "{TEXT 0 13 "formpart(f
1);"}}{OUT_R 36 0 35{DAG (3n3\`&^`,3n3\`w1`n3\`w2`}}{INP_R 37 0 "
> "{TEXT 0 15 "scalarpart(f1);"}}{OUT_R 38 0 37{DAG *5n3\`C`j2x00
01n3\`f`p3}}{COM_R 39 0{TEXT 1 0 ""}}{COM_R 40 0{TEXT 1 95 "If a \+
name has not been declared with defform, no simplifications can b
e performed. For example:"}}{COM_R 41 0{TEXT 1 0 ""}}{INP_R 42 0 
"> "{TEXT 0 12 "(a*w1) &^ b;"}}{OUT_R 43 0 42{DAG (3n3\`&^`,3*5n3
\`a`j2x0001n3\`w1`p7n3\`b`}}{COM_R 44 0{TEXT 1 0 ""}}{COM_R 45 0
{TEXT 1 64 "We can compute the exterior derivative using the the \+
function d."}}{COM_R 46 0{TEXT 1 0 ""}}{INP_R 47 0 "> "{TEXT 0 23
 "e2:=(C*f*w1) &^ (g*w3);"}}{OUT_R 48 0 47{DAG :3n3\`e2`*9n3\`C`j
2x0001n3\`f`p6n3\`g`p6(3n3\`&^`,3n3\`w1`n3\`w3`p6}}{INP_R 49 0 ">
 "{TEXT 0 6 "d(e2);"}}{OUT_R 50 0 49{DAG +9*7n3\`C`j2x0001n3\`g`p
4(3n3\`&^`,4(3n3\`d`,2n3\`f`n3\`w1`n3\`w3`p4p4*7p2p4p11p4(3pA,4(3
pE,2p6p13p15p4p4*9p2p4p11p4p6p4(3pA,3(3pE,2p13p15p4p4*9p2p4p11p4p
6p4(3pA,3p13(3pE,2p15p4i2x0001}}{COM_R 51 0{TEXT 1 0 ""}}{COM_R 
52 0{TEXT 1 113 "d has the property that d applied twice to anyth
ing is 0.  This can be demonstrated with the previous expression.
"}}{COM_R 53 0{TEXT 1 0 ""}}{INP_R 54 0 "> "{TEXT 0 9 "d(d(e2));"
}}{OUT_R 55 0 54{DAG j2x0000}}{INP_R 56 0 "> "{TEXT 0 5 "d(f);"}}
{OUT_R 57 0 56{DAG (3n3\`d`,2n3\`f`}}{INP_R 58 0 "> "{TEXT 0 8 "d
(d(f));"}}{OUT_R 59 0 58{DAG j2x0000}}{COM_R 60 0{TEXT 1 0 ""}}
{COM_R 61 0{TEXT 1 146 "If a scalar is written as a function of s
calar variables, then the exterior derivative of the function is \+
expanded in that variable.  For example,"}}{COM_R 62 0{TEXT 1 0 "
"}}{INP_R 63 0 "> "{TEXT 0 16 "e3:=d(f(x,y,z));"}}{OUT_R 64 0 63
{DAG :3n3\`e3`+7*5(3n4\`diff`,3(3n3\`f`,4n3\`x`n3\`y`n3\`z`pEj2x0
001(3n3\`d`,2pEp15p15*5(3p6,3pAp10p15(3p18,2p10p15p15*5(3p6,3pAp1
2p15(3p18,2p12p15p15}}{COM_R 65 0{TEXT 1 0 ""}}{COM_R 66 0{TEXT 1
 298 "The function wdegree gives the degree of a form.  Note that
 Maple already has a degree function that computes the degree of \+
a polynomial.  So as not to cause confusion, the function to comp
ute the degree of a differential form is called wdegree. Objects \+
of type/const or type/scalar have wdegree 0."}}{COM_R 67 0{TEXT 1
 0 ""}}{INP_R 68 0 "> "{TEXT 0 11 "wdegree(C);"}}{OUT_R 69 0 68
{DAG j2x0000}}{INP_R 70 0 "> "{TEXT 0 15 "wdegree(d(w1));"}}
{OUT_R 71 0 70{DAG j2x0002}}{INP_R 72 0 "> "{TEXT 0 17 "wdegree(d
(f)+w1);"}}{OUT_R 73 0 72{DAG j2x0001}}{COM_R 74 0{TEXT 1 0 ""}}
{COM_R 75 0{TEXT 1 144 "It is possible in Maple to create sums in
 which not all terms have the same degree.  In this case, wdegree
 returns `nonhmg` for non-homogeneous."}}{COM_R 76 0{TEXT 1 0 ""}
}{INP_R 77 0 "> "{TEXT 0 24 "wdegree( d(f) + d(w1) );"}}{OUT_R 78
 0 77{DAG n4\`nonhmg`}}{COM_R 79 0{TEXT 1 0 ""}}{COM_R 80 0{TEXT 
1 139 "The function simpform simplifies forms by collecting like \+
terms and reordering wedge products to collect terms with similar
 wedge products."}}{COM_R 81 0{TEXT 1 0 ""}}{INP_R 82 0 "> "{TEXT
 0 49 "e4:=f*&^(w1,w2,w3)+g*&^(w2,w1,w3)+h*&^(w3,w2,w1);"}}{OUT_R
 83 0 82{DAG :3n3\`e4`+7*5n3\`f`j2x0001(3n3\`&^`,4n3\`w1`n3\`w2`n
3\`w3`p7p7*5n3\`g`p7(3pA,4pFpDp11p7p7*5n3\`h`p7(3pA,4p11pFpDp7p7}
}{INP_R 84 0 "> "{TEXT 0 13 "simpform(e4);"}}{OUT_R 85 0 84{DAG *
5+7n3\`f`j2x0001n3\`g`i2x0001n3\`h`p8p4(3n3\`&^`,4n3\`w1`n3\`w2`n
3\`w3`p4}}{INP_R 86 0 "> "{TEXT 0 42 "e5:=f*(&^(w1,w2)+&^(w1,w3) \+
)+ g*&^(w1,w2);"}}{OUT_R 87 0 86{DAG :3n3\`e5`+5*5n3\`f`j2x0001+5
(3n3\`&^`,3n3\`w1`n3\`w2`p7(3pB,3pEn3\`w3`p7p7p7*5n3\`g`p7pAp7p7}
}{INP_R 88 0 "> "{TEXT 0 13 "simpform(e5);"}}{OUT_R 89 0 88{DAG +
5*5+5n3\`f`j2x0001n3\`g`p5p5(3n3\`&^`,3n3\`w1`n3\`w2`p5p5*5p3p5(3
pC,3pFn3\`w3`p5p5}}{INP_R 90 0 "> "{TEXT 0 0 ""}}}{END}
