1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 98.1p1 release (March 2nd, 1998)
originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Numerical Algorithms</TITLE>
<META NAME="description" CONTENT="Numerical Algorithms">
<META NAME="keywords" CONTENT="userman">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<LINK REL="STYLESHEET" HREF="userman.css">
<LINK REL="previous" HREF="node61.html">
<LINK REL="up" HREF="node57.html">
<LINK REL="next" HREF="node63.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html1305"
HREF="node63.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/lib/latex2html/icons.gif/next_motif.gif"></A>
<A NAME="tex2html1302"
HREF="node57.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/lib/latex2html/icons.gif/up_motif.gif"></A>
<A NAME="tex2html1298"
HREF="node61.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/lib/latex2html/icons.gif/previous_motif.gif"></A>
<A NAME="tex2html1304"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/lib/latex2html/icons.gif/contents_motif.gif"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1306"
HREF="node63.html">Installing a Defined Dynamical</A>
<B> Up:</B> <A NAME="tex2html1303"
HREF="node57.html">Defining Labels and Initial</A>
<B> Previous:</B> <A NAME="tex2html1299"
HREF="node61.html">Periodic Variables</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00625500000000000000">
Numerical Algorithms</A>
</H3>
Continuing with our example, there remain a few pieces of information which
we have not yet entered into DsTool. We modify the last lines of code in bball_init()
to obtain:
<PRE>
int mapping_toggle=TRUE; /* this is a map? TRUE or FALSE */
int inverse_toggle=EXPLICIT_INV; /* if so, is inverse FALSE, APPROX_INV, */
/* or EXPLICIT_INV? FALSE for vec field */
/* In this section, input NULL or the name of the function which contains... */
int (*def_name)()=bball; /* the eqns of motion */
int (*jac_name)()=bball_jac; /* the jacobian (deriv w.r.t. space) */
int (*aux_func_name)()=bball_aux; /* the auxiliary functions */
int (*inv_name)()=bball_inv; /* the inverse or approx inverse */
int (*dfdt_name)()=NULL; /* the deriv w.r.t time */
int (*dfdparam_name)()=NULL; /* the derivs w.r.t. parameters */
</PRE>
The first line means that our system is a mapping; if it were a vector field, we would
set mapping_toggle to FALSE. The second line means that we have an
explicit inverse for our system. In the event that a mapping does not have an explicit
inverse, then Newton's method will be used to calculate inverse iterates. In this
event, we need to tell DsTool if there exists an approximate inverse (see
Section <A HREF="node55.html#inverse"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="/usr/lib/latex2html/icons.gif/cross_ref_motif.gif"></A> or the Reference Manual<A NAME="2131"> </A>) which can be used as an initial guess for
Newton's method. If there is, then inverse_toggle is set to APPROX_INV;
otherwise, it is set to FALSE. We remark that if mapping_toggle is set
to FALSE (that is, the system is a vector field), then the value of
inverse_toggle is ignored by DsTool.
<P>
In the last section of code, we provide DsTool with the names of any functions we defined previously.
For our example, this means filling in the names of the functions which compute the
equations of motion, the Jacobian, auxiliary functions, and the inverse. If any of
these functions were omitted, then the user should enter NULL instead of a
name. For example, the function which defines the inverse will be NULL if you are
installing a vector field, and the function which defines the derivative with respect to
time should always be NULL for mappings.
<P>
At this point, the user should save and exit the file bball_def.c.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html1305"
HREF="node63.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/lib/latex2html/icons.gif/next_motif.gif"></A>
<A NAME="tex2html1302"
HREF="node57.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/lib/latex2html/icons.gif/up_motif.gif"></A>
<A NAME="tex2html1298"
HREF="node61.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/lib/latex2html/icons.gif/previous_motif.gif"></A>
<A NAME="tex2html1304"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/lib/latex2html/icons.gif/contents_motif.gif"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1306"
HREF="node63.html">Installing a Defined Dynamical</A>
<B> Up:</B> <A NAME="tex2html1303"
HREF="node57.html">Defining Labels and Initial</A>
<B> Previous:</B> <A NAME="tex2html1299"
HREF="node61.html">Periodic Variables</A>
<!--End of Navigation Panel-->
<ADDRESS>
<I>John Lapeyre</I>
<BR><I>1998-09-04</I>
</ADDRESS>
</BODY>
</HTML>
|