Changes between Version 22 and Version 23 of WikiStart

Nov 15, 2006 3:57:41 PM (14 years ago)



  • WikiStart

    v22 v23  
    11Multifario has moved to SourceForge. and
    3 {{{
    4 #!html
    5 <ul>&nbsp;
    6 <table WIDTH="90%" >
    7 <tr>
    8 <td ALIGN=LEFT VALIGN=BOTTOM><a NAME="main"></a><font size=+4>Multifario</font></td>
    10 <td ALIGN=RIGHT VALIGN=CENTER><a href=LorenzU0.jpg><img SRC="" ALT="" align=TEXTTOP></a></td>
    11 <td ALIGN=RIGHT VALIGN=CENTER><a href=Torus1400.jpg><img SRC="" ALT="" align=TEXTTOP></a></td>
    12 </tr>
    13 </table>
    14 </ul>
    16 <ul>Multifario is a set of subroutines and data structures for computing
    17 manifolds that occur in Dynamical Systems. Fixed points, periodic orbits,
    18 heteroclinic and homoclinic connections, and many types of singular motions
    19 have been formulated as solutions of systems of parameterized algebraic
    20 or two point boundary value problems. (See the set of objects which can
    21 be computed with <a href="">AUTO</a>.)
    22 <p>The code is structured so that the user can provide their own solvers,
    23 but two stand-alone solvers are provided. Both use the Lapack linear equation
    24 solvers (not distributed through COIN, available through <a href="">Netlib</a>).
    25 The first solver is for algebraic systems, the second is for two point
    26 boundary value problems, using a fixed mesh and Keller's Box scheme.
    27 <p>Interfaces to <a href="">AUTO</a>,
    28 (a full package for algebraic and two point boundary value problems), and
    29 <a href="">LOCA</a>
    30 (Sandia's continuation code) are available. Note: the AUTO interface is
    31 not yet quite a full implementation --
    32 <p>The output of the code is a "plotfile" and/or "centerfile", or an "atlas".
    33 The plotfile is a list of polyhedra which cover the manifold, whose vertices
    34 are have been projected via a routine the user may provide. The centerfile
    35 is a list of the points on the manifold at the center of each polyhedron.
    36 The atlas is a full dump of the data structure which the algorithm uses.
    37 <p>Basic conversion utilities are included for converting plotfiles to
    38 <a href="">DataExplorer</a>
    39 format, and to <a href="">POV-RAY</a> files. In addition
    40 a simple z-buffer code is included which will render a plotfile to a Tiff
    41 file, if&nbsp; the <a href="">LIBTIFF</a> library
    42 (not distributed through COIN) is available, or Postscript.</ul>
    44 <ul> <font color=red>New</font> I've added the support for computing invariant
    45 manifolds. This is the implementation of the algorithm described in the
    46 paper <a href=>
    47 "Computing Invariant Manifolds by Integrating Fat Trajectories"</a>, SIADS v4(4), 2005 pages 832-882.
    48 The packaging is a bit primitive yet, and documentation is still being written.
    49 <p align=right>
    50 <a href="">Mike Henderson</a>
    51 </ul>
    53 <h2>Support</h2>
    54 <ul>
    55 <p>I monitor the mailing list <a href="mailto://"></a>. There is an
    56 <a href="">archive</a>.</p>
    58 <p>I'm preparing a major cleanup and reorganization, including a complete interface to the version of AUTO recently released at
    59 <blockquote><a href=""></a></blockquote></p>
    60 <p>If you have comments, suggestions, or requests, please either
    61 <ol>
    62   <li>Post to the <a href="mailto://">mailing list</a>. </li>
    63   <li>Use the Trak system on this page.</li>
    64   <li>Email me at <a href="mailto://"></a></li>
    65 </ol></p>
    67 <p>Some of the things I have on my list are:
    68 <ul>
    69    <li>A generalization of the IMFFlow object to deal with parameterized flows. </li>
    70    <li>Constructors for manifolds related to dynamical systems analysis, like
    71       <ul>
    72         <li>Create a manifold of fixed points from an IMFFlow, which would allow a choice of parameters from those defined in the flow (AUTO's par and icp arrays)</li>
    73         <li>Create a manifold of periodic/heteroclinic/homoclinic/... motions from an IMFFlow. </li>
    74         <li>A way to define manifolds of "special trajectories" from a flow. Like those in the twisted rod problem, where the flow defines the ODE, and arbitrary boundary conditions can be added.</li>
    75       </ul>
    76     <li>AUTO as an integrator (Sebius's trick of continuing in the length of a trajectory) for the fat trajectory calculations.</li>
    77 </ul></p>
    78 <p>Thanks, Mike</p>
    79 </ul>
    81 <h2>Documentation</h2>
    83 <p><ul> <font color=red>New</font> I've starting using Doxygen. The html version is <a href=>here</a></ul>
    85 <p><ul>The algorithm is described in detail the paper
    86 <blockquote>Henderson, Michael E., "Multiple Parameter Continuation: Computing
    87 Implicitly Defined k-manifolds", IJBC v12(3), pages 451-76.</blockquote>
    88 I've put together a quick <a href="">overview
    89 of the algorithm</a>, and a full <a href="">presentation</a>
    90 on the algorithm is available online (thanks to the <a href="">Fields
    91 Institute</a>). This was at the Fields Institute in Toronto in December,
    92 2001 as part of their <a href="">Workshop
    93 on Computational Challenges in Dynamical Systems.</a>
    94 <p>An application, where the algorithm is used to compute configurations
    95 of Clamped Elastica are computed may be found in the paper
    96 <br>&nbsp;
    97 <blockquote>Henderson,. Michael E. and Neukirch, Sebastien, <a href="">"Classification
    98 of the spatial equilibria of the clamped elastica"</a>, IJBC 14(4): 1223-39, 2003.</blockquote>
    99 A TeX file with a description of how to use the code, and how to code your
    100 own problems is included in the file Doc/MF.tex (<a href="">PDF
    101 version</a>).</ul>
    102 <h2>Download and Installation Instructions</h2>
    103 <ul><p>
    104 The <strong>very short version of the download and installation
    105 instructions</strong> for UNIX-like system (including Linux and Cygwin)
    106 is this:
    107 </p>
    108 <ol>
    109 <li>Get the code via subversion using the following command<pre class="wiki">svn co multifario<br></pre>
    110 </li>
    111 <li>Go into the downloaded directory and run the configuration script
    112 <blockquote
    113 >cd multifario<br>
    114 edit the file share/ to give local lib and include dirs for Lapack. (Last two lines in the file).<br>
    115 ./configure<br>
    116 </blockquote>
    117 </li>
    118 </ol>
    119 <blockquote>
    120 <p>Make sure the last line of output says that the configuration was
    121 successful. The <tt>configure</tt> script has many customization
    122 features. To see them, type <tt>./configure --help</tt>. In
    123 particular, to install a coin package at a location accessible to all
    124 users on your machine, you can run <tt>./configure --prefix=/usr/local</tt>.
    125 </p>
    126 </blockquote>
    127 <ol>
    128 <li>Compile the code
    129 <pre class="wiki">make<br></pre>
    130 </li>
    131 <li>Install the generated libraries, executables, and header files
    132 <pre class="wiki">make install<br></pre>
    133 </li>
    134 </ol>
    135 <p>This will create subdirectories <tt>bin</tt>, <tt>lib</tt>, and <tt>include</tt>
    136 in the download directory with the product of the compilation.
    137 </p>
    138 </ul>
    139 <h2>Examples</h2>
    140 <ul>
    141 <blockquote>&nbsp;
    142 <table BORDER COLS=2 WIDTH="80%" >
    143 <tr>
    144 <td VALIGN=TOP>Computing a 1-manifold embedded in 2-space:
    145 <p>&nbsp;&nbsp;&nbsp;&nbsp;<a href="">
    146 Circle</a> - 1.3Mb animated gif
    147 <p>Computing a 2-manifold embedded in 2-space:
    148 <p>&nbsp;&nbsp;&nbsp;&nbsp; <a href="">Plane</a>
    149 - 1.9Mb animated gif
    150 <p>and 2-manifolds embedded in 3-space:
    151 <p>&nbsp;&nbsp;&nbsp;&nbsp; <a href="">Sphere</a>
    152 - 3.9Mb animated gif&nbsp; (<a href="">.mov
    153 version</a>, 10.6Mb)
    154 <br>&nbsp;&nbsp;&nbsp;&nbsp; <a href="">Torus</a>
    155 - 4.9Mb animated gif (<a href="">.mov
    156 version</a>, 32.5Mb)
    157 <p>Computing a 3-manifold embedded in 3-space:
    158 <p>&nbsp;&nbsp;&nbsp;&nbsp; <a href="">Cube</a>
    159 - 8.6 Mb&nbsp; animated gif</td>
    161 <td VALIGN=TOP>Computing a manifold of stationary points
    162 <blockquote><a href="">Equilibrium
    163 of clamped elastica</a></blockquote>
    164 Computing a manifold of periodic motions
    165 <blockquote><a href="">Periodic
    166 Motions of Coupled Pendula</a></blockquote>
    167 Computing Invariant Manifolds
    168 <blockquote><a href="">Invariant
    169 Manifolds in the Lorenz System</a></blockquote>
    170 </td>
    171 </tr>
    172 </table>
    173 The raw output of the examples can be seen in these images:
    174 <center><table>
    175 <tr>
    176 <td>ComputeLine</td>
    178 <td><a href="">ComputeCircle</a></td>
    180 <td><a href="">ComputeTranscritical</a></td>
    182 <td><a href="">ComputeDomokos</a> (<a href="">further</a>)</td>
    183 </tr>
    185 <tr>
    186 <td><a href="">ComputePlane</a></td>
    188 <td><a href="">ComputeSphere</a></td>
    190 <td><a href="">ComputeCusp</a></td>
    192 <td><a href="">ComputeRod</a></td>
    193 </tr>
    195 <tr>
    196 <td><a href="">ComputePlaneClip</a></td>
    198 <td><a href="">ComputeSphereSub</a></td>
    200 <td><a href="">ComputeTaylorA</a></td>
    202 <td></td>
    203 </tr>
    205 <tr>
    206 <td><a href="">Compute3Space</a></td>
    208 <td><a href="">ComputeTorus</a></td>
    210 <td><a href="">ComputeTaylor24</a></td>
    212 <td></td>
    213 </tr>
    215 <tr>
    216 <td>Compute4Space</td>
    218 <td><a href="">ComputeGenusTwo</a></td>
    220 <td></td>
    222 <td></td>
    223 </tr>
    225 <tr>
    226 <td></td>
    228 <td><a href="">ComputeSpherePacking</a></td>
    230 <td></td>
    232 <td></td>
    233 </tr>
    234 </table></center>
    235 </blockquote>
    236 </ul>
    237 }}}
    238 == Multifario FAQs ==
    240 === What is Multifario? ===
    241 Multifario is a subroutine library which implements a continuation method for computing implicitly defined manifolds, and other manifolds that arise in dynamical systems. An implicitly defined manifold is a set of points which satisfy F(u)=0, for some smooth F:IR^n -> IR^(n-k)^. This set of points consists of pieces of k-dimensional manifolds which meet at (k-1)-dimensional manifolds of singular points. Multifario takes as input a set of initial points on the manifold, and computes the manifold of points connected to the initial points.
    243 === How do I use Multifario? ===
    244 Two "solvers" are provided, one for algebraic systems, and one for two point boundary value problems. The user creates a data structure called a "ImplicitMF", by calling a routine and passing either subroutines or strings containing expressions. Then the user calls a routine to compute the manifold. The result is either a data structure in memory (an Atlas), which the user can interrogate, or files on disk containing a set of polyhedra which cover the manifold, and optionally the centers of the polyhedra. These files can be used to render the manifold as a tiff or a Postscript file, using utilities that are included. They can also be converted to a couple of other file formats (DX, VBM, POV-Ray).
    246 === What do I need to build Multifario? ===
    247 While the source code for Multifaro itself is released as open source under the Common Public License (CPL), compilation requires third party components (such as LAPACK) which you have to obtain separately. More information can be found [ here].
    249 === On what operating systems can Multifario be used? ===
    250 Multifario uses autoconf. It has been tested on AIX 4.3, AIX5.1, Cygwin, and !RedHat 8.0, but should install cleanly on any UNIX machine.
    252 === What is the algorithm behind Multifario? ===
    253 Multifario uses an algorithm that computes well spaced points on the manifold. At each point the tangent space (k-vectors), a radius and a polyhedron are stored. As points are added the polyhedron is trimmed so that the polyhedron form an approximate polyhedral tiling of the manifold. At each step a point on the boundary of this tiling is chosen, projected onto the manifold, the tangent space and rsius are calculated, and the polyhedra are updated.
    255 === Are the any examples or references for the use of Multifario? ===
    256 The algorithm for implicitly defined manifolds has been published, see Henderson, Michael E., "Multiple Parameter Continuation: Computing Implicitly Defined k-manifolds", Int. J. Bifurcation and Chaos v12(3), pages 451-76.  The branch switching algorithm will appear Henderson, Michael E., "Multiparameter Parallel Search Branch Switching", to appear, Int. J. Bifurcation and Chaos v15(3).
    257 The algorithm for invariant manifolds will appear Henderson, Michael E., "Computing Invariant Manifolds by Integrating Fat Trajectories", to appear, SIAM J. Applied Dyn. Systems. Several examples are included with the code, and a paper applying the code to twisted rods has been accepted and will apear: Henderson,. Michael E. and Neukirch, Sebastien, "Classification of the spatial equilibria of the clamped elastica", Int. J. Bif. & Chaos, 14(4), pp. 1223-39. a [ preprint] is available. Documentation is included in a tex file, or the user may view a [ pdf version].
    259 === What is a "multifario"? ===
    260 Manifold is supposedly derived from the [ High German word "Manacfald"] (Managfalt?), which in some way is related to the Latin word multifario, which is close to "multifarious". Roget's Thesarus defines multifarious as "Consisting of a number of different kinds".
    261 Multifario computes a manifold, which is defined by way of a set (or atlas) of overlapping charts. (The analogy is to navigational charts, each of which shows a plane projection of a small part of the surface of the earth.) Each chart defines some small part of the whole manifold. The charts must overlap, and agree on the overlap. The manifold is the union of the different parts described by the individual charts.