aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/ANNA-ES.ht
diff options
context:
space:
mode:
Diffstat (limited to 'src/hyper/pages/ANNA-ES.ht')
-rw-r--r--src/hyper/pages/ANNA-ES.ht690
1 files changed, 690 insertions, 0 deletions
diff --git a/src/hyper/pages/ANNA-ES.ht b/src/hyper/pages/ANNA-ES.ht
new file mode 100644
index 00000000..87145df6
--- /dev/null
+++ b/src/hyper/pages/ANNA-ES.ht
@@ -0,0 +1,690 @@
+\begin{page}{UXANNA}{AXIOM/NAG Expert System}
+\centerline{\tt{\inputbitmap{\htbmdir{}/anna_logo.xbm}}\rm}
+\newline
+\centerline{This expert system chooses, and uses, NAG numerical routines.}
+\begin{scroll}
+\blankline
+\indent{2}
+\beginmenu
+\menumemolink{Integration}{UXANNAInt}
+\blankline
+\menumemolink{Ordinary Differential Equations}{UXANNAOde}
+\blankline
+\menumemolink{Partial Differential Equations}{UXANNAPde}
+\blankline
+\menumemolink{Optimization}{UXANNAOpt}
+\vspace{10}
+\menumemolink{About the AXIOM/NAG Expert System}{UXANNATxt}
+%\unixcommand{(Postscript)}{ghostview \ \htbmdir{}/anna.ps}
+%\blankline
+%\menumemolink{How to use the NAGLINK}{nagLinkIntroPage}
+%\blankline
+%\menumemolink{Tutorial}{tutorialIntroPage}
+%\blankline
+%\item \menulispdownlink{Interpolation}{(|interp1|}
+\endmenu
+\indent{0}
+\end{scroll}
+%\unixcommand{Netscape}{netscape \ http:\/\/www.bath.ac.uk\/\~masbjd\/anna.html}
+\autobutt{HelpContents}
+\end{page}
+
+\begin{page}{UXANNAInt}{Integration}
+Welcome to the Integration section of {\tt
+\inputbitmap{\htbmdir{}/anna.xbm.tiny}}, the {\em AXIOM/NAG Expert
+System}. This system chooses, and uses, NAG numerical routines.
+\begin{scroll}
+\blankline
+\indent{2}
+\beginmenu
+\item \menulispdownlink{Integration}{(|annaInt|)}\space{}\newline
+\indent{5} Integrating a function over a finite or infinite range.
+\blankline
+\item \menulispdownlink{Multiple Integration}{(|annaMInt|)}\space{}\newline
+\indent{5} Integrating a multivariate function over a finite space.
+The dimensions of the space need to be 2 <= n <= 15.
+\blankline
+\menudownlink{Examples}{UXANNAIntEx}\space{}\newline
+\indent{5} Examples of integration. These examples cover all of the major
+methods. Parameters can be changed to investigate the effect
+on the choice of method.
+\endmenu
+\indent{0}
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+\begin{page}{UXANNAOde}{Ordinary Differential Equations}
+Welcome to the Ordinary Differential Equations section of {\tt
+\inputbitmap{\htbmdir{}/anna.xbm.tiny}}, the
+{\em AXIOM/NAG Expert System}.
+This system chooses, and uses, NAG numerical routines.
+\begin{scroll}
+\blankline
+\blankline
+\indent{2}
+\beginmenu
+\item \menulispdownlink{Ordinary Differential Equations}{(|annaOde|)}\space{}\newline
+\indent{5} Finding a solution to an Initial Value Problem of a set of Ordinary Differential Equations.
+\blankline
+\menudownlink{Examples}{UXANNAOdeEx}\newline
+\indent{5} Examples of ODE problems with various features using both stiff
+and non-stiff methods. Parameters can be changed to investigate the effect
+on the choice of method.
+\autobutt{MainHelp}
+\endmenu
+\indent{0}
+\end{scroll}
+\end{page}
+
+\begin{page}{UXANNAOpt}{Optimization}
+Welcome to the Optimization section of {\tt
+\inputbitmap{\htbmdir{}/anna.xbm.tiny}}, the {\em AXIOM/NAG Expert System}.
+This system chooses, and uses, NAG numerical routines.
+\begin{scroll}
+\blankline
+\indent{2}
+\beginmenu
+\item \menulispdownlink{Optimization of a Single Multivariate Function}
+{(|annaOpt|)}\space{}\newline
+\indent{6} Finding the minimum of a function in n variables.
+\newline
+\indent{6} Linear Programming and Quadratic Programming problems.
+\blankline
+\indent{4}
+\beginmenu
+\menudownlink{Examples}{UXANNAOptEx}\newline
+\indent{8} Examples of optimization problems with various constraint features.
+\endmenu
+\blankline
+\item \menulispdownlink{Optimization of a set of observations of a data set}
+{(|annaOpt2|)}\space{}\newline
+\indent{6} Least-squares problems.
+\newline
+\indent{6} Checking the goodness of fit of a least-squares model.
+\blankline
+\indent{4}
+\beginmenu
+\menudownlink{Examples}{UXANNAOpt2Ex}\newline
+\indent{8} Examples of least squares problems.
+\endmenu
+\endmenu
+\indent{0}
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+\begin{page}{UXANNAPde}{Partial Differential Equations}
+Welcome to the Partial Differential Equations section of {\tt
+\inputbitmap{\htbmdir{}/anna.xbm.tiny}}, the
+{\em AXIOM/NAG Expert System}.
+\begin{scroll}
+\indent{2}
+\beginmenu
+\menulispdownlink{Second Order Elliptic Partial Differential Equation}{(|annaPDESolve|)}
+\newline
+\indent{4} Discretizing the PDE:
+\newline
+\centerline{\inputbitmap{\htbmdir{}/d03eef.xbm}}
+defined on a rectangular region with boundary conditions of the form
+\centerline{\inputbitmap{\htbmdir{}/d03eef1.bitmap}}
+and solving the resulting
+seven-diagonal finite difference equations using a multigrid technique.
+\blankline
+%\menulispdownlink{Helmholtz Equation in 3-D, Cartesian Coordinates}{(|d03fafVars|)}
+%\newline
+%\indent{4} Descretizing the PDE:
+%\newline
+%\centerline{\inputbitmap{\htbmdir{}/d03faf.xbm}}
+%and solving the resulting
+%seven-diagonal finite difference equations using a method based on the Fast
+%Fourier Transform.
+\endmenu
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+\begin{page}{UXANNAOptEx}{Examples Using the AXIOM/NAG Expert System}
+\begin{scroll}
+Select any of these examples and you will be presented with a page which
+contains active areas for the function and its parameters.
+\blankline
+These parameters can be altered by selecting the area and replacing the
+default parameters by the new values.
+\blankline
+\beginmenu
+\item \menulispdownlink{Example 1: \newline
+\indent{2} Minimize the function:
+\centerline{\inputbitmap{\htbmdir{}/opt1.xbm}}}{(|annaOptDefaultSolve1|)}\space{}
+\blankline
+\item \menulispdownlink{Example 2: \newline
+\indent{2} Minimize the function:
+\centerline{\inputbitmap{\htbmdir{}/opt2.xbm}}}{(|annaOptDefaultSolve2|)}\space{}
+\newline \indent{3} With conditions:
+\centerline{\inputbitmap{\htbmdir{}/opt2c.xbm}}
+\blankline
+\item \menulispdownlink{Example 3: \newline
+\indent{2} Minimize the function:
+\centerline{\inputbitmap{\htbmdir{}/opt3.xbm}}}{(|annaOptDefaultSolve3|)}\space{}
+\newline \indent{3} With conditions:
+\centerline{\inputbitmap{\htbmdir{}/opt3c1.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt3c2.xbm}}
+\blankline
+\item \menulispdownlink{Example 4: \newline
+\indent{2} Minimize the function:
+\centerline{\inputbitmap{\htbmdir{}/opt4.xbm}}
+}{(|annaOptDefaultSolve4|)}\space{}
+\newline \indent{3} With conditions:
+\centerline{\inputbitmap{\htbmdir{}/opt4c1.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt4c2.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt4c3.xbm}}
+\blankline
+\item \menulispdownlink{Example 5: \newline
+\indent{2} Minimize the function:
+\centerline{\inputbitmap{\htbmdir{}/opt5.xbm}}
+}{(|annaOptDefaultSolve5|)}\space{}
+\newline \indent{3} With conditions:
+\centerline{\inputbitmap{\htbmdir{}/opt4c1.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt4c2.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt4c3.xbm}}
+\blankline
+\endmenu
+\end{scroll}
+\autobutt{Mainhelp}
+\end{page}
+
+\begin{page}{UXANNAOpt2Ex}{Examples Using the AXIOM/NAG Expert System}
+\begin{scroll}
+Select this example and you will be presented with a page which
+contains active areas for the function and its parameters.
+\blankline
+These parameters can be altered by selecting the area and replacing the
+default parameters by the new values.
+\blankline
+\beginmenu
+\blankline
+\item \menulispdownlink{Example 1: \newline
+\indent{2} Calculate a least-squares minimization of the following functions:
+\centerline{\inputbitmap{\htbmdir{}/opt61.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt62.xbm}}
+\centerline{\inputbitmap{\htbmdir{}/opt63.xbm}}}
+{(|annaOpt2DefaultSolve|)}\space{}
+\endmenu
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+
+\begin{page}{UXANNAIntEx}{Examples Using the AXIOM/NAG Expert System}
+\begin{scroll}
+Select any of these examples and you will be presented with a page which
+contains active areas for the function and its parameters.
+\blankline
+These parameters can be altered by selecting the area and replacing the
+default parameters by the new values. In this way you can investigate the
+effect of the new parameters on the choice of method.
+\blankline
+\beginmenu
+\item \menulispdownlink{Example 1: \newline
+\centerline{\inputbitmap{\htbmdir{}/int1.xbm}}}{(|annaFoo|)}\space{}
+\blankline
+\item \menulispdownlink{Example 2: \newline
+\centerline{\inputbitmap{\htbmdir{}/int2.xbm}}}{(|annaBar|)}\space{}
+\blankline
+\item \menulispdownlink{Example 3: \newline
+\centerline{\inputbitmap{\htbmdir{}/int3.xbm}}}{(|annaJoe|)}\space{}
+\blankline
+\item \menulispdownlink{Example 4: \newline
+\centerline{\inputbitmap{\htbmdir{}/int4.xbm}}}{(|annaSue|)}\space{}
+\blankline
+\item \menulispdownlink{Example 5: \newline
+\centerline{\inputbitmap{\htbmdir{}/int5.xbm}}}{(|annaAnn|)}\space{}
+\blankline
+\item \menulispdownlink{Example 6: \newline
+\centerline{\inputbitmap{\htbmdir{}/int6.xbm}}}{(|annaBab|)}\space{}
+\blankline
+\item \menulispdownlink{Example 7: \newline
+\centerline{\inputbitmap{\htbmdir{}/int7.xbm}}}{(|annaFnar|)}\space{}
+\blankline
+\item \menulispdownlink{Example 8: \newline
+\centerline{\inputbitmap{\htbmdir{}/int8.xbm}}}{(|annaDan|)}\space{}
+\blankline
+\item \menulispdownlink{Example 9: \newline
+\centerline{\inputbitmap{\htbmdir{}/int9.xbm}}}{(|annaBlah|)}\space{}
+\blankline
+\item \menulispdownlink{Example 10: \newline
+\centerline{\inputbitmap{\htbmdir{}/int10.xbm}}}{(|annaTub|)}\space{}
+\blankline
+\item \menulispdownlink{Example 11: \newline
+\centerline{\inputbitmap{\htbmdir{}/int13.xbm}}}{(|annaRats|)}\space{}
+\blankline
+\item \menulispdownlink{Example 12: \newline
+\centerline{\inputbitmap{\htbmdir{}/int11.xbm}}}{(|annaMInt|)}\space{}
+\endmenu
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+\begin{page}{UXANNAOdeEx}{Examples Using the AXIOM/NAG Expert System}
+\begin{scroll}
+Analyses the function for various attributes, chooses and
+then uses a suitable ODE solver to provide a
+solution to the system of n ODEs \center{\htbitmap{d02gaf},}
+for i = 1,2,...,n.
+\blankline
+Select either of these examples and you will be presented with a page which
+contains active areas for the function and its parameters.
+\blankline
+These parameters can be altered by selecting the area and replacing the
+default parameters by the new values. In this way you can investigate the
+effect of the new parameters on the choice of method.
+\blankline
+\beginmenu
+\item \menulispdownlink{Example 1: \tab{12}
+\inputbitmap{\htbmdir{}/ode1.xbm}}{(|annaOdeDefaultSolve1|)}
+\blankline with initial conditions: \newline
+\tab{12}\inputbitmap{\htbmdir{}/y1.xbm} \space{1} and \space{1}
+\inputbitmap{\htbmdir{}/x1.xbm}
+\blankline
+\blankline
+\blankline
+\item \menulispdownlink{Example 2: \tab{12}
+\inputbitmap{\htbmdir{}/ode2.xbm}}{(|annaOdeDefaultSolve2|)}
+\blankline with initial conditions: \newline
+\tab{12}\inputbitmap{\htbmdir{}/y2.xbm} \space{1} and \space{1}
+\inputbitmap{\htbmdir{}/x1.xbm}
+\blankline
+\blankline
+\blankline
+\endmenu
+\end{scroll}
+\autobutt{MainHelp}
+\end{page}
+
+\begin{page}{UXANNATxt}{About the AXIOM/NAG Expert System}
+\begin{scroll}
+\centerline{\tt\inputbitmap{\htbmdir{}/anna_logo.xbm}\rm}
+\vspace{-30}\horizontalline
+In applied mathematics, electronic and chemical engineering, the modelling
+process can produce a number of mathematical problems which require numerical
+solutions for which symbolic methods are either not possible or not obvious.
+With the plethora of numerical library routines for the solution of these
+problems often the numerical analyst has to answer the question {\em Which
+routine to choose?}
+\blankline
+Some analysis needs to be carried out before the
+appropriate routine can be identified i.e. {\em How stiff is this ODE?} and
+{\em Is this function continuous?} It may well be the case that more than
+one routine is applicable to the problem. So the question may become {\em
+Which is likely to be the best?} Such a choice may be critical for both
+accuracy and efficiency.
+\blankline
+An expert system is thus required to make this choice based on the result of
+its own analysis of the problem, call the routine and act on the outcome.
+This may be to put the answer in a relevant form or react to an apparent
+failure of the chosen routine and thus choose and call an alternative.
+It should also have sufficient explanation mechanisms to inform on the choice
+of routine and the reasons for that choice.
+\blankline
+\end{scroll}
+\downlink{ Examples }{UXANNAEx}
+\downlink{ Introduction }{UXANNAIntro}
+\downlink{ Decision Agents }{UXANNADec}
+\downlink{ Inference Mechanisms }{UXANNAInfer}
+\downlink{ Measure Functions }{UXANNAMeas}
+\end{page}
+
+\begin{page}{UXANNAIntro}{Introduction to the AXIOM/NAG Expert System}
+\begin{scroll}
+\centerline{\tt\inputbitmap{\htbmdir{}/anna_logo.xbm}\rm}
+\vspace{-30}\horizontalline
+Deciding amongst, and then implementing, several possible approaches to
+solving a numerical problem can be daunting for a novice user, or tedious for
+an expert. Different attributes of the problem need to be
+identified and their possible interactions weighed up before a final decision
+about which method to use can be made.
+\blankline
+The implementation is then largely an
+automatic, if laborious, process of writing, compiling and linking usually
+Fortran code. The aim is to build an expert system which will use computer
+algebra to analyse such features of a problem, inference mechanisms and a
+knowledge base to choose a numerical method appropriate to the solution of a
+given problem.
+\blankline
+Any interactive system is constrained by the need to provide a reasonable
+response time for the user. Given the complexity of some of the analysis our
+system will need to do, it is clear that we should only aim to select a good
+method, rather than try to identify the best one available. The overall goal
+is to provide a ``black-box'' interface to numerical software which allows
+non-experts access to its full potential. It will also provide explanation
+mechanisms commensurate with its role as a teaching aid.
+\blankline
+Given, say, an integration to perform (which may or may not be able to be
+handled symbolically), the system should choose and apply an appropriate
+method, thus mirroring as closely as possible the way that an experienced
+numerical analyst would think so, for example, given an integration to
+perform:\newline
+{\it \centerline{\inputbitmap{\htbmdir{}/int1.xbm}}}
+\newline
+the experienced analyst would see that the integral is semi-infinite and
+transform it by splitting the range and transforming the integral over {\it
+[1,\inputbitmap{\htbmdir{}/infty.xbm}]} into an integral over
+{\it [0,1] } using the transformation {\it x -> 1/t}.
+A different numerical routine might be used over each
+sub-region and the results added to give the final answer.
+\blankline
+It then requires
+the translation of the problem into Fortran code which may be extensive.
+Even with this simple example, the process is quite involved.
+\blankline
+\end{scroll}
+\autobuttons
+\downlink{ Decision Agents }{UXANNADec}
+\downlink{ Inference Mechanisms }{UXANNAInfer}
+\downlink{ Method Domains }{UXANNAMeth}
+\downlink{ Measure Functions }{UXANNAMeas}
+\end{page}
+
+\begin{page}{UXANNAEx}{Example using the AXIOM/NAG Expert System}
+\begin{scroll}
+\xtc{
+{\bf Example 1}: The integral
+{\centerline{\inputbitmap{\htbmdir{}/int1.xbm}}}
+\newline
+is performed as follows:
+\blankline
+}{}
+\xtc{
+}{
+\spadpaste{ans := integrate((exp(-X^3)+exp(-3*X^2))/sqrt(X),0.0..\%plusInfinity)\bound{ans} }
+}
+\blankline
+\xtc{
+It creates a composite structure for which the field containing the result can be
+expanded as required.\blankline
+}{
+\spadpaste{ans . 'result\free{ans}}
+}
+\blankline
+\xtc{
+}{
+\spadpaste{ans . 'abserr\free{ans}}
+}
+\blankline
+This system has performed the analysis described above, done the necessary
+problem transformation, written any necessary Fortran, called two different
+numerical routines, and amalgamated their
+results. This whole process was transparent to the user.
+\end{scroll}
+\autobuttons
+\downlink{Example 2}{UXANNAEx2}
+%\downlink{Decision Agents}{UXANNADec}
+\end{page}
+
+\begin{page}{UXANNAEx2}{Example using the AXIOM/NAG Expert System}
+\begin{scroll}
+\xtc{
+{\bf Example 2}: The ODE
+{\centerline{\inputbitmap{\htbmdir{}/ode3.xbm}\space{1}with
+\space{1}
+{\inputbitmap{\htbmdir{}/y3.xbm}}}}
+\newline
+could be solved as follows:
+\blankline
+}{}
+\xtc{
+}{
+\spadpaste{ans2 := solve([Y[2],-1001*Y[2]-1000*Y[1]], 0.0, 10.0,
+[1.0,-1.0], [2,4,6,8], 1.0e-4)\bound{ans2} }
+}
+\blankline
+\xtc{
+It creates a composite structure for which the field containing the result can be
+expanded as required.\blankline
+}{
+\spadpaste{ans2 . 'result\free{ans2}}
+}
+\blankline
+\xtc{
+}{
+\spadpaste{ans2 . 'y\free{ans2}}
+}
+\blankline
+\end{scroll}
+\autobuttons
+\downlink{Example 3}{UXANNAEx3}
+%\downlink{Decision Agents}{UXANNADec}
+\end{page}
+
+\begin{page}{UXANNAEx3}{Example using the AXIOM/NAG Expert System}
+\begin{scroll}
+\xtc{
+{\bf Example 3}: The function
+{\centerline{\inputbitmap{\htbmdir{}/opt2.xbm}}}
+with simple bounds
+{\centerline{\inputbitmap{\htbmdir{}/opt2c.xbm}}}
+\newline
+could be minimized as follows:
+\blankline
+}{}
+\xtc{
+}{
+\spadpaste{ans3 := optimize((X[1]+10*X[2])**2 + 5*(X[3]-X[4])**2 +
+(X[2]-2*X[3])**4 + 10*(X[1]-X[4])**4, [3,-1,0,1], [1,-2,\%minusInfinity,1],
+[3,0,\%plusInfinity,3])\bound{ans3} }
+}
+\blankline
+\xtc{
+It creates a composite structure for which the field containing the minimum can be
+expanded as required.\blankline
+}{
+\spadpaste{ans3 . objf\free{ans3}}
+}
+\blankline
+\xtc{
+}{
+\spadpaste{ans3 . x\free{ans3}}
+}
+\blankline
+\xtc{
+}{
+\spadpaste{ans3 . attributes\free{ans3}}
+}
+\blankline
+\end{scroll}
+\autobuttons
+\downlink{Decision Agents}{UXANNADec}
+\end{page}
+
+\begin{page}{UXANNADec}{Decision Agents}
+\begin{scroll}
+\blankline
+Some features are either present or absent in a problem. Examples of such
+binary decisions include {\em is a matrix symmetric?} and {\em is a
+function continuous?} However in practice many questions are about the {\em
+degree} to which a problem exhibits a property: {\em how much does a
+function oscillate?}, or {\em how stiff are these differential equations?}
+\blankline
+We have therefore created decision agents of two types, reflecting their
+property --- {\em Binary Agents} are Boolean functions returning either true
+or false and {\em Intensity Functions} are quantitative and return a range of
+different values, either numerical or structured types. The framework we are
+developing is able to deal with both these forms of information.
+\blankline
+
+In any given problem area (for example solving ordinary differential
+equations, optimization etc.) we have a selection of {\em methods}. These
+might be to use a particular NAG routine, or they might involve employing a
+higher-level strategy such as transforming the problem into an equivalent,
+but easier to solve, form.
+\blankline
+Associated with every method we define a {\em
+measure function} which assesses the suitability of that method to a
+particular problem. Each measure function has access to a range of symbolic
+{\em agents} which can answer questions about the various properties of the
+problem in hand.
+\blankline
+\end{scroll}
+\downlink{ Inference Mechanisms }{UXANNAInfer}
+\downlink{ Method Domains }{UXANNAMeth}
+\downlink{ Measure Functions }{UXANNAMeas}
+\downlink{ Computational Agents }{UXANNAAgent}
+
+\end{page}
+
+\begin{page}{UXANNAInfer}{Inference Mechanisms}
+\begin{scroll}
+\blankline
+The inference machine will take the problem description as provided by the
+user and perform an initial analysis to verify its validity. It will
+consider, in turn, all of the available methods within its knowledge base
+which might solve that problem. In doing so it analyses the input problem to
+find out about any attributes that could affect the ability of the methods
+under consideration to perform effectively.
+\blankline
+Some of these
+measures may use lazy evaluation in the sense that, if a method already
+assessed is believed to be a good candidate, and if evaluating the current
+measure will be relatively expensive, then that measure will not be evaluated
+unless later evidence shows that the selected method is not, in fact, a
+successful strategy, for example if it has failed.
+\end{scroll}
+\downlink{ Method Domains }{UXANNAMeth}
+\downlink{ Measure Functions }{UXANNAMeas}
+\downlink{ Computational Agents }{UXANNAAgent}
+\downlink{ Examples }{UXANNAEx}
+\end{page}
+
+\begin{page}{UXANNAMeth}{Method Domains}
+\begin{scroll}
+\blankline
+An AXIOM {\em domain} has been created for each method or strategy for
+solving the problem. These method domains each implement two functions with
+a uniform (method independant) interface.
+\blankline {\bf measure:} A function which calculates an estimate of suitability of
+this particular method to the problem if there is a possibility that the
+method under consideration is more appropriate than one already investigated.
+\blankline
+If it may be possible to improve on the current favourite method, the function
+will call computational agents to analyse the problem for specific features
+and calculate the measure from the results these agents return,
+using a variation on the Lucks/Gladwell intensity and compatibility
+model if conflict between attributes, as investigated by these computational
+agents, may be present.
+\blankline
+{\bf implementation:} A function which may be one of two distinct kinds.
+The first kind uses the interface to the NAG Library to call a particular
+routine with the required parameters. Some of the parameters may need to be
+calculated from the data provided before the external function call.
+\blankline
+The other kind will apply a ``high level'' strategy to try to solve the
+problem e.g.~a transformation of an expression from one that is difficult to
+solve to one which is easier, or a splitting of the problem into several more
+easily solvable parts. For example, for a solution of the equation above,
+since the integral is semi-infinite we might wish to transform the range by,
+say, using the mapping {\it y -> 1/x} on the section {\it 1
+< x < \inputbitmap{\htbmdir{}/infty.xbm}}) and
+adding the result to the unmapped section {\it 0 < x < 1}.
+\blankline
+\end{scroll}
+\downlink{ Measure Functions }{UXANNAMeas}
+\downlink{ Computational Agents }{UXANNAAgent}
+\downlink{ Examples }{UXANNAEx}
+\end{page}
+
+\begin{page}{UXANNAMeas}{Measure Functions}
+\begin{scroll}
+\blankline
+Each measure function will estimate the ability of a particular method to
+solve a problem. It will consult whichever agents are needed to perform
+analysis on the problem in order to calculate the measure. There is a
+parameter which would contain the best compatibility
+value found so far.
+\blankline
+However, the interpretation we give to the results of some tests is not
+always clear-cut. If a set of tests give
+conflicting advice as to the appropriateness of a particular method, it
+becomes important to decide not only {\it whether} certain properties are
+present but also their {\it degree}. This gives us a basis for estimating the
+compatibility of each property.
+\blankline
+We have taken for our model the system recommended by Lucks and Gladwell
+which uses a system of measurement of compatibility allowing for interaction
+and conflict between a number of attributes. All of these processes may not
+be required if the choice is clear-cut e.g. we have an integral to calculate
+which has a particular singularity structure for which one particular method
+has been specifically constructed. However, for more difficult cases a
+composite picture should be built up to calculate a true measurement.
+\blankline
+How the compatibility functions interpret the measurements of various
+attributes is up to them and may vary between differing methods. It is this
+area that takes as its basis the {\it judgement} of Numerical Analysis
+`experts' whether that be from the documentation (which may be deficient in
+certain respects) or from alternative sources. However, its assessment of
+the suitability or otherwise of a particular method is reflected in a single
+normalised value facilitating the direct comparison of the suitability of a
+number of possible methods.
+\blankline
+\end{scroll}
+\downlink{ Computational Agents }{UXANNAAgent}
+\downlink{ Examples }{UXANNAEx}
+\end{page}
+
+\begin{page}{UXANNAAgent}{Computational Agents}
+\begin{scroll}
+\blankline
+Computational Agents are those program segments which investigate the
+attributes of the input function or functions, such as
+{\bf stiffnessAndStabilityOfODEIF}
+(the {\em IF} indicates that it is an {\em Intensity Function} i.e. one that
+returns a normalised real number or a set of normalised real numbers). They
+are usually functions or programs written completely in the \Language{}
+language and implemented using computer algebra.
+\blankline
+Some agents will be common to more than one problem domain whereas others
+will be specific to a single domain. They also vary greatly in their
+complexity. It is a fairly simple task to return details about the range of
+a function since this information will have been included in the problem
+specification. It is a different order of complexity to return details of
+its singularity structure.
+\blankline
+\xtc{
+As an example, here is a call to the computational agent {\bf
+singularitiesOf} to obtain the list of singularities of the function
+{\it tan x} which are in the range
+{\it 0..12\inputbitmap{\htbmdir{}/pi.xbm}}:
+\blankline
+}{
+}
+\xtc{
+}{
+\spadpaste{s := singularitiesOf(tan x,[x],0..12*\%pi)$ESCONT \free{lib3} }
+}
+\blankline
+Each of these computational agents which may be called by a number of method
+domains retain their output in a dynamic hash-table, so speeding the process
+and retaining efficiency.
+\end{scroll}
+\downlink{ Examples }{UXANNAEx}
+\end{page}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+