Please send comments, questions, and ideas to me here.

Changes and improvements as of 10/6/2004 include:

- IMPORTANT BUG FIX: Previously, if the definition of a form or
its exterior derivative changed -- for example, if torsion
coefficients were renamed -- after its exterior derivative had
originally been defined (or computed), subsequent references to
the exterior derivative would sometimes use the original result
rather than recomputing it, resulting in errors in computations
such as d(d(w)) = 0. This has been fixed by eliminating
the remember tables for all commands in this package.
Theoretically, this could result in a slight loss of
computational efficiency, but it seems to me a small price to
pay for accuracy.

- The commands "hook" and "LieDeriv" have been added. "hook" is a more versatile version of "L", which has been retained only for backwards compatibility.
- The help page now works and is accessible via "help(Forms);"

This is a Maple package that I wrote for doing computations for
the Cartan-Kahler analysis of linear Pfaffian systems. It
can compute structure equations, absorb the torsion whenever
possible (and compute unabsorbable torsion when it is not
possible), compute Cartan characters and test for involutivity,
and compute prolongations.

Changes and improvements as of 10/6/2004 include:

- The Forms package is now included as a subpackage of Cartan,
so you don't have to install it separately unless you just want
to (or unless you want to continue to use the old version of
Cartan_Kahler).

- Cartan is now a bona fide package, even in Maple V.5.

- The syntax of the "makebacksub" and "prolong" commands has
changed slightly, from

"makebacksub(sublist, backsublist);" and "prolong(ideal, etas, pis, inteltspace, theta, p, newideal);"

which assigned the desired result to the last input parameter, to

"makebacksub(sublist);" and "prolong(ideal, etas, pis, inteltspace, theta, p);"

so that assignments are made via

"backsublist:= makebacksub(sublist);" and "newideal:= prolong(ideal, etas, pis, inteltspace, theta, p);"

I apologize for the fact that this change is not backwards-compatible for old worksheets, but it seemed like a much more intuitive choice, and I wonder why I didn't do it that way the first time! - The ordering of the unabsorbable torsion list should now be
consistent between runs.

- The results of the CartanKahler command are now formatted so as to eliminate the superfluous commas that were there before, and now include statements such as "Solutions depend on 1 function of 2 variables" in the involutive case.
- There is now a help page, accessible via "help(Cartan);"

- I have added some warning messages to make CartanKahler more
idiot-proof. (Count me as idiot-in-chief.)
CartanKahler now generates a warning message to alert the user
when the forms in the ideal contain scalar coefficients whose
exterior derivatives have not been defined. Sometimes this
is perfectly fine - e.g., when the forms in the ideal contain
parameters arising as the result of a prolongation. But if
there are scalars which are intended to be functions of other
variables, e.g.,

theta = d(z) - f*d(x) - q*d(y)

representing the PDE

z_x = f(x,y),

then you MUST hardwire their derivatives before running CartanKahler. In the example above, this could be accomplished by defining

d(f):= f_x*d(x) + f_y*d(y);

(In this example, this could be equally well accomplished by explicitly writing f(x,y) in place of f; however, this only works if you are using coordinate 1-forms, as opposed to, say, Maurer-Cartan forms.) It doesn't matter what names you use for the derivatives; the point is that if f is a dependent variable, you have to tell Maple which basis 1-forms its exterior derivative depends on.

Changes as of 11/8/2010 include:

- The default wedge product command "&^" doesn't play nicely
with Maple's Document mode in newer versions of Maple.
(This was only recently pointed out to me by a student; being an
old dog who can't be bothered learning new tricks, I still use
Worksheet mode.) To address this, I have added an
alternative version for Document mode, replacing "&^" with
"&w". (As always, you can choose whatever string you
like using the WedgeProduct command, but strings beginning with
the "&" character have more versatile syntax than strings
that don't, in that you can, e.g., type "omega[1]
&^omega[2]" in lieu of "&^(omega[1], omega[2])." )
So if you still use Worksheet mode, there's nothing new to see
here, but if you like Document mode, download the appropriate
version below.

The Forms package is used here with Yunliang Yu's permission; installation instructions are included with each version.

- Cartan package for Maple V, Release 5
- Cartan package for Maple 6 - Maple 14, Worksheet mode
- Cartan package for Maple 11
- Maple 14, Document mode

The development of the Cartan package was partially supported by the National Science Foundation under Grant No. DMS-0908456. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the National Science Foundation (NSF).