/usr/share/axiom-20170501/src/algebra/NAGC05.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 125 | )abbrev package NAGC05 NagRootFindingPackage
++ Author: Godfrey Nolan and Mike Dewar
++ Date Created: Jan 1994
++ Date Last Updated: Thu May 12 17:44:28 1994
++ Description:
++ This package uses the NAG Library to calculate real zeros of
++ continuous real functions of one or more variables. (Complex
++ equations must be expressed in terms of the equivalent larger
++ system of real equations.)
NagRootFindingPackage() : SIG == CODE where
S ==> Symbol
FOP ==> FortranOutputStackPackage
SIG ==> with
c05adf : (DoubleFloat,DoubleFloat,DoubleFloat,DoubleFloat,_
Integer,Union(fn:FileName,fp:Asp1(F))) -> Result
++ c05adf(a,b,eps,eta,ifail,f)
++ locates a zero of a continuous function in a given
++ interval by a combination of the methods of linear interpolation,
++ extrapolation and bisection.
++ See \downlink{Manual Page}{manpageXXc05adf}.
c05nbf : (Integer,Integer,Matrix DoubleFloat,DoubleFloat,_
Integer,Union(fn:FileName,fp:Asp6(FCN))) -> Result
++ c05nbf(n,lwa,x,xtol,ifail,fcn)
++ is an easy-to-use routine to find a solution of a system
++ of nonlinear equations by a modification of the Powell hybrid
++ method.
++ See \downlink{Manual Page}{manpageXXc05nbf}.
c05pbf : (Integer,Integer,Integer,Matrix DoubleFloat,_
DoubleFloat,Integer,Union(fn:FileName,fp:Asp35(FCN))) -> Result
++ c05pbf(n,ldfjac,lwa,x,xtol,ifail,fcn)
++ is an easy-to-use routine to find a solution of a system
++ of nonlinear equations by a modification of the Powell hybrid
++ method. The user must provide the Jacobian.
++ See \downlink{Manual Page}{manpageXXc05pbf}.
CODE ==> add
import Lisp
import DoubleFloat
import Any
import Record
import Integer
import Matrix DoubleFloat
import Boolean
import NAGLinkSupportPackage
import FortranPackage
import Union(fn:FileName,fp:Asp1(F))
import AnyFunctions1(DoubleFloat)
import AnyFunctions1(Matrix DoubleFloat)
import AnyFunctions1(Integer)
c05adf(aArg:DoubleFloat,bArg:DoubleFloat,epsArg:DoubleFloat,_
etaArg:DoubleFloat,ifailArg:Integer,_
fArg:Union(fn:FileName,fp:Asp1(F))): Result ==
pushFortranOutputStack(fFilename := aspFilename "f")$FOP
if fArg case fn
then outputAsFortran(fArg.fn)
else outputAsFortran(fArg.fp)
popFortranOutputStack()$FOP
[(invokeNagman([fFilename]$Lisp,_
"c05adf",_
["a"::S,"b"::S,"eps"::S,"eta"::S,"x"::S_
,"ifail"::S,"f"::S]$Lisp,_
["x"::S,"f"::S]$Lisp,_
[["double"::S,"a"::S,"b"::S,"eps"::S,"eta"::S_
,"x"::S,"f"::S]$Lisp_
,["integer"::S,"ifail"::S]$Lisp_
]$Lisp,_
["x"::S,"ifail"::S]$Lisp,_
[([aArg::Any,bArg::Any,epsArg::Any,etaArg::Any,ifailArg::Any ])_
@List Any]$Lisp)$Lisp)_
pretend List (Record(key:Symbol,entry:Any))]$Result
c05nbf(nArg:Integer,lwaArg:Integer,xArg:Matrix DoubleFloat,_
xtolArg:DoubleFloat,ifailArg:Integer,_
fcnArg:Union(fn:FileName,fp:Asp6(FCN))): Result ==
pushFortranOutputStack(fcnFilename := aspFilename "fcn")$FOP
if fcnArg case fn
then outputAsFortran(fcnArg.fn)
else outputAsFortran(fcnArg.fp)
popFortranOutputStack()$FOP
[(invokeNagman([fcnFilename]$Lisp,_
"c05nbf",_
["n"::S,"lwa"::S,"xtol"::S,"ifail"::S,"fcn"::S_
,"fvec"::S,"x"::S,"wa"::S]$Lisp,_
["fvec"::S,"wa"::S,"fcn"::S]$Lisp,_
[["double"::S,["fvec"::S,"n"::S]$Lisp,["x"::S,"n"::S]$Lisp_
,"xtol"::S,["wa"::S,"lwa"::S]$Lisp,"fcn"::S]$Lisp_
,["integer"::S,"n"::S,"lwa"::S,"ifail"::S]$Lisp_
]$Lisp,_
["fvec"::S,"x"::S,"xtol"::S,"ifail"::S]$Lisp,_
[([nArg::Any,lwaArg::Any,xtolArg::Any,ifailArg::Any,xArg::Any ])_
@List Any]$Lisp)$Lisp)_
pretend List (Record(key:Symbol,entry:Any))]$Result
c05pbf(nArg:Integer,ldfjacArg:Integer,lwaArg:Integer,_
xArg:Matrix DoubleFloat,xtolArg:DoubleFloat,ifailArg:Integer,_
fcnArg:Union(fn:FileName,fp:Asp35(FCN))): Result ==
pushFortranOutputStack(fcnFilename := aspFilename "fcn")$FOP
if fcnArg case fn
then outputAsFortran(fcnArg.fn)
else outputAsFortran(fcnArg.fp)
popFortranOutputStack()$FOP
[(invokeNagman([fcnFilename]$Lisp,_
"c05pbf",_
["n"::S,"ldfjac"::S,"lwa"::S,"xtol"::S,"ifail"::S_
,"fcn"::S,"fvec"::S,"fjac"::S,"x"::S,"wa"::S]$Lisp,_
["fvec"::S,"fjac"::S,"wa"::S,"fcn"::S]$Lisp,_
[["double"::S,["fvec"::S,"n"::S]$Lisp,_
["fjac"::S,"ldfjac"::S,"n"::S]$Lisp_
,["x"::S,"n"::S]$Lisp,"xtol"::S,["wa"::S,"lwa"::S]$Lisp,"fcn"::S]$Lisp_
,["integer"::S,"n"::S,"ldfjac"::S,"lwa"::S_
,"ifail"::S]$Lisp_
]$Lisp,_
["fvec"::S,"fjac"::S,"x"::S,"xtol"::S,"ifail"::S]$Lisp,_
[([nArg::Any,ldfjacArg::Any,lwaArg::Any,xtolArg::Any,_
ifailArg::Any,xArg::Any ])_
@List Any]$Lisp)$Lisp)_
pretend List (Record(key:Symbol,entry:Any))]$Result
|