\documentclass{article} \usepackage{open-axiom} \begin{document} \title{\$SPAD/src/algebra c02.spad} \author{Godfrey Nolan, Mike Dewar} \maketitle \begin{abstract} \end{abstract} \eject \tableofcontents \eject \section{package NAGC02 NagPolynomialRootsPackage} <>= )abbrev package NAGC02 NagPolynomialRootsPackage ++ Author: Godfrey Nolan and Mike Dewar ++ Date Created: Jan 1994 ++ Date Last Updated: Thu May 12 17:44:27 1994 ++Description: ++This package uses the NAG Library to compute the zeros of a ++polynomial with real or complex coefficients. ++See \downlink{Manual Page}{manpageXXc02}. NagPolynomialRootsPackage(): Exports == Implementation where S ==> Symbol FOP ==> FortranOutputStackPackage Exports ==> with c02aff : (Matrix DoubleFloat,Integer,Boolean,Integer) -> Result ++ c02aff(a,n,scale,ifail) ++ finds all the roots of a complex polynomial equation, ++ using a variant of Laguerre's Method. ++ See \downlink{Manual Page}{manpageXXc02aff}. c02agf : (Matrix DoubleFloat,Integer,Boolean,Integer) -> Result ++ c02agf(a,n,scale,ifail) ++ finds all the roots of a real polynomial equation, using a ++ variant of Laguerre's Method. ++ See \downlink{Manual Page}{manpageXXc02agf}. Implementation ==> add import Lisp import DoubleFloat import Matrix DoubleFloat import Any import Record import Integer import Boolean import NAGLinkSupportPackage import AnyFunctions1(Matrix DoubleFloat) import AnyFunctions1(Integer) import AnyFunctions1(Boolean) macro I == Integer c02aff(aArg:Matrix DoubleFloat,nArg:Integer,scaleArg:Boolean,_ ifailArg:Integer): Result == [(invokeNagman(NIL$Lisp,_ "c02aff",_ ["n"::S,"scale"::S,"ifail"::S,"a"::S,"z"::S,"w"::S]$Lisp,_ ["z"::S,"w"::S]$Lisp,_ [["double"::S,["a"::S,2$Lisp,["+"::S,"n"::S,1@I]$Lisp]$Lisp_ ,["z"::S,2$Lisp,"n"::S]$Lisp,["w"::S,["*"::S,["+"::S,"n"::S,1@I]$Lisp,4$Lisp]$Lisp]$Lisp]$Lisp_ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_ ,["logical"::S,"scale"::S]$Lisp_ ]$Lisp,_ ["z"::S,"ifail"::S]$Lisp,_ [([nArg::Any,scaleArg::Any,ifailArg::Any,aArg::Any ])_ @List Any]$Lisp)$Lisp)_ pretend List (Record(key:Symbol,entry:Any))]$Result c02agf(aArg:Matrix DoubleFloat,nArg:Integer,scaleArg:Boolean,_ ifailArg:Integer): Result == [(invokeNagman(NIL$Lisp,_ "c02agf",_ ["n"::S,"scale"::S,"ifail"::S,"a"::S,"z"::S,"w"::S]$Lisp,_ ["z"::S,"w"::S]$Lisp,_ [["double"::S,["a"::S,["+"::S,"n"::S,1@I]$Lisp]$Lisp_ ,["z"::S,2$Lisp,"n"::S]$Lisp,["w"::S,["*"::S,["+"::S,"n"::S,1@I]$Lisp,2$Lisp]$Lisp]$Lisp]$Lisp_ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_ ,["logical"::S,"scale"::S]$Lisp_ ]$Lisp,_ ["z"::S,"ifail"::S]$Lisp,_ [([nArg::Any,scaleArg::Any,ifailArg::Any,aArg::Any ])_ @List Any]$Lisp)$Lisp)_ pretend List (Record(key:Symbol,entry:Any))]$Result @ \section{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. @ <<*>>= <> <> @ \eject \begin{thebibliography}{99} \bibitem{1} nothing \end{thebibliography} \end{document}