The code is structured so that the user can provide their own solvers, but two stand-alone solvers are provided. Both use the Lapack linear equation solvers (available through Netlib). The first solver is for algebraic systems, the second is for two point boundary value problems, using a fixed mesh and Keller's Box scheme.
Interfaces to AUTO, (a full package for algebraic and two point boundary value problems), and LOCA (Sandia's continuation code) are available. Note: the AUTO interface is not yet quite a full implementation --
The output of the code is a "plotfile" and/or "centerfile", or an "atlas". The plotfile is a list of polyhedra which cover the manifold, whose vertices are have been projected via a routine the user may provide. The centerfile is a list of the points on the manifold at the center of each polyhedron. The atlas is a full dump of the data structure which the algorithm uses.
Basic conversion utilities are included for converting plotfiles to DataExplorer format, and to POV-RAY files. In addition a simple z-buffer code is included which will render a plotfile to a Tiff file, if the LIBTIFF library is available, or Postscript.
New I've added the support for computing invariant manifolds. This is the implementation of the algorithm described in the paper "Computing Invariant Manifolds by Integrating Fat Trajectories" SIAM J. Appl. Dyn. Syst., 4(4), 832–882. The packaging is a bit primitive yet, and documentation is still being written.
Henderson, Michael E., "Multiple Parameter Continuation: Computing Implicitly Defined k-manifolds", IJBC v12(3), pages 451-76.I've put together a quick overview of the algorithm, and a full presentation on the algorithm is available online (thanks to the Fields Institute). This was at the Fields Institute in Toronto in December, 2001 as part of their Workshop on Computational Challenges in Dynamical Systems.
An application, where the algorithm is used to compute
configurations
of Clamped Elastica are computed may be found in the paper
Henderson,. Michael E. and Neukirch, Sebastien, "Classification of the spatial equilibria of the clamped elastica", IJBC 14(4): 1223-39, 2003.A TeX file with a description of how to use the code, and how to code your own problems is included in the file Doc/MF.tex (PDF version).
The raw output of the examples can be seen in these images:
Computing a 1-manifold embedded in 2-space: Circle - 1.3Mb animated gif
Computing a 2-manifold embedded in 2-space:
Plane - 1.9Mb animated gif
and 2-manifolds embedded in 3-space:
Sphere - 3.9Mb animated gif (.mov version, 10.6Mb)
Torus - 4.9Mb animated gif (.mov version, 32.5Mb)Computing a 3-manifold embedded in 3-space:
Cube - 8.6 Mb animated gif
Computing a manifold of stationary points Equilibrium of clamped elasticaComputing a manifold of periodic motionsPeriodic Motions of Coupled PendulaComputing Invariant ManifoldsInvariant Manifolds in the Lorenz System
Multifario is now available through the SourceForge code repository. It can be downloaded as a gzipped tar file, or via CVS.The package is released under the Common Public License (CPL); see http://www.opensource.org/licenses/cpl.html or the enclosed LICENSE file. As stated in the license, you can use the provided code without charge, but if you modify the code and you distribute your modifications in some way (e.g. in an executable), you must make those modifications public.
To install download the source code.edit the file share/config.site to give local lib and include dirs for Lapack. (Last two lines in the file).
run the configure script -- "./configure"
make the libraries, utiliies and examples -- "make"