aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/e01.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/algebra/e01.spad.pamphlet
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/algebra/e01.spad.pamphlet')
-rw-r--r--src/algebra/e01.spad.pamphlet329
1 files changed, 329 insertions, 0 deletions
diff --git a/src/algebra/e01.spad.pamphlet b/src/algebra/e01.spad.pamphlet
new file mode 100644
index 00000000..9ad62c8c
--- /dev/null
+++ b/src/algebra/e01.spad.pamphlet
@@ -0,0 +1,329 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/algebra e01.spad}
+\author{Godfrey Nolan, Mike Dewar}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{package NAGE01 NagInterpolationPackage}
+<<package NAGE01 NagInterpolationPackage>>=
+)abbrev package NAGE01 NagInterpolationPackage
+++ Author: Godfrey Nolan and Mike Dewar
+++ Date Created: Jan 1994
+++ Date Last Updated: Thu May 12 17:44:53 1994
+++Description:
+++This package uses the NAG Library to calculate the interpolation of a function of
+++one or two variables. When provided with the value of the
+++function (and possibly one or more of its lowest-order
+++derivatives) at each of a number of values of the variable(s),
+++the routines provide either an interpolating function or an
+++interpolated value. For some of the interpolating functions,
+++there are supporting routines to evaluate, differentiate or
+++integrate them.
+++See \downlink{Manual Page}{manpageXXe01}.
+
+
+NagInterpolationPackage(): Exports == Implementation where
+ S ==> Symbol
+ FOP ==> FortranOutputStackPackage
+
+ Exports ==> with
+ e01baf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Integer,_
+ Integer,Integer) -> Result
+ ++ e01baf(m,x,y,lck,lwrk,ifail)
+ ++ determines a cubic spline to a given set of
+ ++ data.
+ ++ See \downlink{Manual Page}{manpageXXe01baf}.
+ e01bef : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Integer) -> Result
+ ++ e01bef(n,x,f,ifail)
+ ++ computes a monotonicity-preserving piecewise cubic Hermite
+ ++ interpolant to a set of data points.
+ ++ See \downlink{Manual Page}{manpageXXe01bef}.
+ e01bff : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ e01bff(n,x,f,d,m,px,ifail)
+ ++ evaluates a piecewise cubic Hermite interpolant at a set
+ ++ of points.
+ ++ See \downlink{Manual Page}{manpageXXe01bff}.
+ e01bgf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ e01bgf(n,x,f,d,m,px,ifail)
+ ++ evaluates a piecewise cubic Hermite interpolant and its
+ ++ first derivative at a set of points.
+ ++ See \downlink{Manual Page}{manpageXXe01bgf}.
+ e01bhf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ DoubleFloat,DoubleFloat,Integer) -> Result
+ ++ e01bhf(n,x,f,d,a,b,ifail)
+ ++ evaluates the definite integral of a piecewise cubic
+ ++ Hermite interpolant over the interval [a,b].
+ ++ See \downlink{Manual Page}{manpageXXe01bhf}.
+ e01daf : (Integer,Integer,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Matrix DoubleFloat,Integer) -> Result
+ ++ e01daf(mx,my,x,y,f,ifail)
+ ++ computes a bicubic spline interpolating surface through a
+ ++ set of data values, given on a rectangular grid in the x-y plane.
+ ++ See \downlink{Manual Page}{manpageXXe01daf}.
+ e01saf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Integer) -> Result
+ ++ e01saf(m,x,y,f,ifail)
+ ++ generates a two-dimensional surface interpolating a set of
+ ++ scattered data points, using the method of Renka and Cline.
+ ++ See \downlink{Manual Page}{manpageXXe01saf}.
+ e01sbf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Matrix Integer,Matrix DoubleFloat,DoubleFloat,DoubleFloat,Integer) -> Result
+ ++ e01sbf(m,x,y,f,triang,grads,px,py,ifail)
+ ++ evaluates at a given point the two-dimensional interpolant
+ ++ function computed by E01SAF.
+ ++ See \downlink{Manual Page}{manpageXXe01sbf}.
+ e01sef : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Integer,Integer,DoubleFloat,DoubleFloat,Integer) -> Result
+ ++ e01sef(m,x,y,f,nw,nq,rnw,rnq,ifail)
+ ++ generates a two-dimensional surface interpolating a set of
+ ++ scattered data points, using a modified Shepard method.
+ ++ See \downlink{Manual Page}{manpageXXe01sef}.
+ e01sff : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,_
+ DoubleFloat,Matrix DoubleFloat,DoubleFloat,DoubleFloat,Integer) -> Result
+ ++ e01sff(m,x,y,f,rnw,fnodes,px,py,ifail)
+ ++ evaluates at a given point the two-dimensional
+ ++ interpolating function computed by E01SEF.
+ ++ See \downlink{Manual Page}{manpageXXe01sff}.
+ Implementation ==> add
+
+ import Lisp
+ import DoubleFloat
+ import Any
+ import Record
+ import Integer
+ import Matrix DoubleFloat
+ import Boolean
+ import NAGLinkSupportPackage
+ import AnyFunctions1(Integer)
+ import AnyFunctions1(Matrix DoubleFloat)
+ import AnyFunctions1(Matrix Integer)
+ import AnyFunctions1(DoubleFloat)
+
+
+ e01baf(mArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ lckArg:Integer,lwrkArg:Integer,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01baf",_
+ ["m"::S,"lck"::S,"lwrk"::S,"ifail"::S,"x"::S,"y"::S,"lamda"::S,"c"::S,"wrk"::S_
+ ]$Lisp,_
+ ["lamda"::S,"c"::S,"wrk"::S]$Lisp,_
+ [["double"::S,["x"::S,"m"::S]$Lisp,["y"::S,"m"::S]$Lisp_
+ ,["lamda"::S,"lck"::S]$Lisp,["c"::S,"lck"::S]$Lisp,["wrk"::S,"lwrk"::S]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,"lck"::S,"lwrk"::S,"ifail"::S_
+ ]$Lisp_
+ ]$Lisp,_
+ ["lamda"::S,"c"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,lckArg::Any,lwrkArg::Any,ifailArg::Any,xArg::Any,yArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01bef(nArg:Integer,xArg:Matrix DoubleFloat,fArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01bef",_
+ ["n"::S,"ifail"::S,"x"::S,"f"::S,"d"::S]$Lisp,_
+ ["d"::S]$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["f"::S,"n"::S]$Lisp_
+ ,["d"::S,"n"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["d"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,xArg::Any,fArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01bff(nArg:Integer,xArg:Matrix DoubleFloat,fArg:Matrix DoubleFloat,_
+ dArg:Matrix DoubleFloat,mArg:Integer,pxArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01bff",_
+ ["n"::S,"m"::S,"ifail"::S,"x"::S,"f"::S,"d"::S,"px"::S,"pf"::S_
+ ]$Lisp,_
+ ["pf"::S]$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["f"::S,"n"::S]$Lisp_
+ ,["d"::S,"n"::S]$Lisp,["px"::S,"m"::S]$Lisp,["pf"::S,"m"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"m"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["pf"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,mArg::Any,ifailArg::Any,xArg::Any,fArg::Any,dArg::Any,pxArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01bgf(nArg:Integer,xArg:Matrix DoubleFloat,fArg:Matrix DoubleFloat,_
+ dArg:Matrix DoubleFloat,mArg:Integer,pxArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01bgf",_
+ ["n"::S,"m"::S,"ifail"::S,"x"::S,"f"::S,"d"::S,"px"::S,"pf"::S_
+ ,"pd"::S]$Lisp,_
+ ["pf"::S,"pd"::S]$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["f"::S,"n"::S]$Lisp_
+ ,["d"::S,"n"::S]$Lisp,["px"::S,"m"::S]$Lisp,["pf"::S,"m"::S]$Lisp,["pd"::S,"m"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"m"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["pf"::S,"pd"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,mArg::Any,ifailArg::Any,xArg::Any,fArg::Any,dArg::Any,pxArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01bhf(nArg:Integer,xArg:Matrix DoubleFloat,fArg:Matrix DoubleFloat,_
+ dArg:Matrix DoubleFloat,aArg:DoubleFloat,bArg:DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01bhf",_
+ ["n"::S,"a"::S,"b"::S,"pint"::S,"ifail"::S_
+ ,"x"::S,"f"::S,"d"::S]$Lisp,_
+ ["pint"::S]$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["f"::S,"n"::S]$Lisp_
+ ,["d"::S,"n"::S]$Lisp,"a"::S,"b"::S,"pint"::S]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["pint"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,aArg::Any,bArg::Any,ifailArg::Any,xArg::Any,fArg::Any,dArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01daf(mxArg:Integer,myArg:Integer,xArg:Matrix DoubleFloat,_
+ yArg:Matrix DoubleFloat,fArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01daf",_
+ ["mx"::S,"my"::S,"px"::S,"py"::S,"ifail"::S_
+ ,"x"::S,"y"::S,"f"::S,"lamda"::S,"mu"::S_
+ ,"c"::S,"wrk"::S]$Lisp,_
+ ["px"::S,"py"::S,"lamda"::S,"mu"::S,"c"::S,"wrk"::S]$Lisp,_
+ [["double"::S,["x"::S,"mx"::S]$Lisp,["y"::S,"my"::S]$Lisp_
+ ,["f"::S,["*"::S,"mx"::S,"my"::S]$Lisp]$Lisp,["lamda"::S,["+"::S,"mx"::S,4$Lisp]$Lisp]$Lisp,["mu"::S,["+"::S,"mx"::S,4$Lisp]$Lisp]$Lisp_
+ ,["c"::S,["*"::S,"mx"::S,"my"::S]$Lisp]$Lisp,["wrk"::S,["*"::S,["+"::S,"mx"::S,6$Lisp]$Lisp,["+"::S,"my"::S,6$Lisp]$Lisp]$Lisp]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"mx"::S,"my"::S,"px"::S,"py"::S_
+ ,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["px"::S,"py"::S,"lamda"::S,"mu"::S,"c"::S,"ifail"::S]$Lisp,_
+ [([mxArg::Any,myArg::Any,ifailArg::Any,xArg::Any,yArg::Any,fArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01saf(mArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ fArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01saf",_
+ ["m"::S,"ifail"::S,"x"::S,"y"::S,"f"::S,"triang"::S,"grads"::S_
+ ]$Lisp,_
+ ["triang"::S,"grads"::S]$Lisp,_
+ [["double"::S,["x"::S,"m"::S]$Lisp,["y"::S,"m"::S]$Lisp_
+ ,["f"::S,"m"::S]$Lisp,["grads"::S,2$Lisp,"m"::S]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,["triang"::S,["*"::S,7$Lisp,"m"::S]$Lisp]$Lisp_
+ ,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["triang"::S,"grads"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,ifailArg::Any,xArg::Any,yArg::Any,fArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01sbf(mArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ fArg:Matrix DoubleFloat,triangArg:Matrix Integer,gradsArg:Matrix DoubleFloat,_
+ pxArg:DoubleFloat,pyArg:DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01sbf",_
+ ["m"::S,"px"::S,"py"::S,"pf"::S,"ifail"::S_
+ ,"x"::S,"y"::S,"f"::S,"triang"::S,"grads"::S_
+ ]$Lisp,_
+ ["pf"::S]$Lisp,_
+ [["double"::S,["x"::S,"m"::S]$Lisp,["y"::S,"m"::S]$Lisp_
+ ,["f"::S,"m"::S]$Lisp,["grads"::S,2$Lisp,"m"::S]$Lisp,"px"::S,"py"::S,"pf"::S]$Lisp_
+ ,["integer"::S,"m"::S,["triang"::S,["*"::S,7$Lisp,"m"::S]$Lisp]$Lisp_
+ ,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["pf"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,pxArg::Any,pyArg::Any,ifailArg::Any,xArg::Any,yArg::Any,fArg::Any,triangArg::Any,gradsArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01sef(mArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ fArg:Matrix DoubleFloat,nwArg:Integer,nqArg:Integer,_
+ rnwArg:DoubleFloat,rnqArg:DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01sef",_
+ ["m"::S,"nw"::S,"nq"::S,"minnq"::S,"rnw"::S_
+ ,"rnq"::S,"ifail"::S,"x"::S,"y"::S,"f"::S,"fnodes"::S,"wrk"::S_
+ ]$Lisp,_
+ ["fnodes"::S,"minnq"::S,"wrk"::S]$Lisp,_
+ [["double"::S,["x"::S,"m"::S]$Lisp,["y"::S,"m"::S]$Lisp_
+ ,["f"::S,"m"::S]$Lisp,["fnodes"::S,["*"::S,5$Lisp,"m"::S]$Lisp]$Lisp,"rnw"::S,"rnq"::S,["wrk"::S,["*"::S,6$Lisp,"m"::S]$Lisp]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"m"::S,"nw"::S,"nq"::S,"minnq"::S_
+ ,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["fnodes"::S,"minnq"::S,"rnw"::S,"rnq"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nwArg::Any,nqArg::Any,rnwArg::Any,rnqArg::Any,ifailArg::Any,xArg::Any,yArg::Any,fArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ e01sff(mArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ fArg:Matrix DoubleFloat,rnwArg:DoubleFloat,fnodesArg:Matrix DoubleFloat,_
+ pxArg:DoubleFloat,pyArg:DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "e01sff",_
+ ["m"::S,"rnw"::S,"px"::S,"py"::S,"pf"::S_
+ ,"ifail"::S,"x"::S,"y"::S,"f"::S,"fnodes"::S]$Lisp,_
+ ["pf"::S]$Lisp,_
+ [["double"::S,["x"::S,"m"::S]$Lisp,["y"::S,"m"::S]$Lisp_
+ ,["f"::S,"m"::S]$Lisp,"rnw"::S,["fnodes"::S,["*"::S,5$Lisp,"m"::S]$Lisp]$Lisp,"px"::S,"py"::S,"pf"::S]$Lisp_
+ ,["integer"::S,"m"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["pf"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,rnwArg::Any,pxArg::Any,pyArg::Any,ifailArg::Any,xArg::Any,yArg::Any,fArg::Any,fnodesArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+@
+\section{License}
+<<license>>=
+--Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+--All rights reserved.
+--
+--Redistribution and use in source and binary forms, with or without
+--modification, are permitted provided that the following conditions are
+--met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+--IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+--TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+--PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+--OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+--EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+--PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+--PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+--LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+--NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+--SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+@
+<<*>>=
+<<license>>
+
+<<package NAGE01 NagInterpolationPackage>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}