From ab8cc85adde879fb963c94d15675783f2cf4b183 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 14 Aug 2007 05:14:52 +0000 Subject: Initial population. --- src/hyper/pages/ANNA-ES.ht | 690 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 690 insertions(+) create mode 100644 src/hyper/pages/ANNA-ES.ht (limited to 'src/hyper/pages/ANNA-ES.ht') 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} + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3