The Rif Package



The Rif package can be used for the simplification of overdetermined ODE and PDE systems. It is the successor of the Standard Form project, and has the following additional features:

  1. Computation with nonlinear systems.
  2. Advanced case splitting capablilities for discovery of particular solution branches with desired properties.
  3. A visualization tool for examination of the binary tree that results from multiple cases.
  4. Algorithms for working with formal power series solutions of the system.
A quick worksheet illustration of the package can be found here and html versions of the help pages can be found here.

Information on how to use Maple library and help database files can be found here.


This release (version 1.13 updated December-24-2002) is a major upgrade of release 1.10 previously available at this web site.
Release 1.13 is a bug-fix update of release 1.11 and 1.12.

Changes for 1.13 (all releases):

  1. Adjustment of initialdata and rtaylor (taylorseries) commands to now properly use Maple's D notation.
  2. Adjust the use of initial data with rtaylor to allow specialized data, and still produce a proper expansion.
  3. Addition of the 'point'=[x=1,...] option to rtaylor, to specify an expansion point.

Changes for 1.12 (needed for R7 and earlier):

  1. Repair incorrect handling of inequations (i.e. U[x] <> 0) when the inequation occurred as a factor in a nonlinear equation.

Changes for 1.11 (needed for R7 and earlier):

  1. The addition of a new command maxdimsystems, which provides an efficient way to compute only the highest dimensional cases for classification-type problems.
  2. The addition of new options to allow investigation of only the generic cases of a problem (arbitrary), those with certain minimum dimension in certain dependent variables (mindim), and greater control over the computation path for the problem and the output (grobonly,initial,gensol,clean, fullclean,pivselect,factoring, and checkempty).
  3. Significant enhancements to the integrability computation code, providing greater elimination of redundant conditions, resulting in faster computation.
  4. Significant enhancements to non-linear PDE handling, now using a combination of decomposition techniques, and Groebner basis methods, providing a speed up for computation with nonlinear ODE and PDE systems.
  5. Other miscellaneous code enhancements to provide faster results.
  6. Miscellaneous bug-fixes from prior version (including the version released in Maple7).


The latest package in Maple library format (with a help database) is available in zip format for Release 5:, for Maple 6.x :, and for Maple 7 and 8.x: Sorry there is no version of Rif that will run under Release 4 or earlier.

Please note: There are a number of differences between how the package can be used in the different releases of Maple. This is primarily because the DEtools package references different subsets of the Rif commands for different Maple versions. These are listed here:

In this version of Maple, Rif is not part of the DEtools package, so all Rif commands can be accessed after issuing the command with(Rif). Some of the examples in the help pages require recent versions of the ODEtools and PDEtools packages, which are available here.
In this version of Maple, some of the Rif commands are part of DEtools, so the downloaded library updates these commands, as well as providing all commands for access using with(Rif). In this case also, some of the examples in the help pages require a recent version of the ODEtools and PDEtools packages, which are available here.
In these versions of Maple, all of the Rif commands are part of DEtools, so the downloaded library updates these commands only. All commands can be accessed using with(DEtools).
Note: when reading the on-line help pages, please substitute with(DEtools) for any occurrences of with(Rif).
Note: the help database only contains updated help pages.

Help Pages:

The Maple help pages for the Rif package have been converted to html (using Maple's worksheet to html converter) and can be found below:

If there are any difficulties in using the package, or you suspect bugs, please make sure they are not addressed in the list below, and send me a mail.
  1. maxdimsystems and rifsimp with the mindim option does not always find the minimum dimension case for highly nonlinear systems. This is true, and part of the design. Only the linear part of the system is examined when computing the dimension.
  2. rifsimp seems to run forever. Though it is true that the algorithm will terminate in theory, it is not always possible to obtain a solution in finite time and memory due to intermediate expression swell.

Last updated Dec-24-2002.