My Maple code
This page needs to be updated. A number of the newer algorithms are given
in the subdirectories of this link
Here is my Maple code. The following are part
of Maple 6:
- algcurves package. Type ?algcurves in
Maple 6 to view the help pages for this code. More help for this
code is available in this worksheet on
algcurves in Maple V.5.
These functions: differentials, homology, monodromy, periodmatrix, are
new in Maple 6. These new functions are joint work with Bernard
Deconinck. A Maple worksheet that also describes these new functions
is available in Maple 6 under Help/Example Worksheets/Geometry.
The monodromy command can compute the Galois group of any
polynomial over C(x).
The periodmatrix command (Riemann matrix), is needed for
computing with theta functions, which in turn can be used
for numerically solving important differential equations in physics.
If you have Maple V.5 and not Maple 6, and if you want to use
the new functions then click here.
- diffop package (differential
operators) and diffop user functions.
Note: some of these files contain several user functions. Type ?diffop
in Maple 6 to view the help pages for this code. The main function
is: DFactor, the factorizer for differential operators, which is essential
for solving higher order linear differential equations.
- Various other programs. The files p_curv and
test_ratsols are for checking if hypergeometric or rational solutions
of recurrence relations could exist. nfintbas is for computing an
integral basis of a number field. RiemannPsols is for solving the
Riemann-Papperitz equation (a differential equation). ReduceField
is for reduction mod p (used in p_curv, test_ratsols, and also in the
new code for hypergeometric solutions of recurrence relations).
This directory contains newer code,
not yet included in Maple. It contains code for:
- Factoring polynomials.
- Primfield.
Compute primitive field mod p, (i.e. just 1 RootOf), which is
a userinterface for the previously implemented ReduceField.
- Subfields. Compute subfields. Yet
another utility needed for the new code for hypergeometric solutions
of recurrence relations. Uses: shorten, code
for simplifying polynomials of which we are about to take a root. This
results in shorter expressions.
- higherorder, a solver for several
types of linear differential equations. It can quickly recognize
symmetric products, symmetric powers, special cases of LCLM's, etc.
More code will probably be added later to solve more types of
differential equations.
- kovacicsols. Completely re-written
implementation for finding Liouvillian solutions for differential
equations order 2. Note that in Maple 6, kovacicsols was about the slowest
solver inside dsolve, and often got stuck.
Not only does the new code never get stuck, it is one of the
fast solvers inside dsolve. One of the reasons the new code does not
get stuck is that it is much more careful about algebraic
extensions, it prevents computing in splitting fields.
The following code is beta. If you want to use it just send me e-mail,
right now there are no help pages yet.
- Hypergeometric solutions. Progress
Report. A preliminary implementation for Maple6
is now available. A more recent version is available by e-mail.
- old code for Liouvillian
solutions of higher order. This code is joint work with J.-A. Weil. We
used it to compute pretty large examples, so in principle the code works
all right, but to bring it in a shape that it can be used by people
other than the authors will probably require a lot more work (more than
a month of fulltime programming, hopefully this work could be completed
next summer). See also the following experimental code for
computing a minimum polynomial for
algebraic solutions.
Older versions of some of the above code are now obsolete but you
can still download them;
click here
for my code differential operators
and here
for my algorithms for algebraic curves.