aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/c06.spad.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/c06.spad.pamphlet')
-rw-r--r--src/algebra/c06.spad.pamphlet339
1 files changed, 339 insertions, 0 deletions
diff --git a/src/algebra/c06.spad.pamphlet b/src/algebra/c06.spad.pamphlet
new file mode 100644
index 00000000..be504dde
--- /dev/null
+++ b/src/algebra/c06.spad.pamphlet
@@ -0,0 +1,339 @@
+\documentclass{article}
+\usepackage{axiom}
+\begin{document}
+\title{\$SPAD/src/algebra c06.spad}
+\author{Godfrey Nolan, Mike Dewar}
+\maketitle
+\begin{abstract}
+\end{abstract}
+\eject
+\tableofcontents
+\eject
+\section{package NAGC06 NagSeriesSummationPackage}
+<<package NAGC06 NagSeriesSummationPackage>>=
+)abbrev package NAGC06 NagSeriesSummationPackage
+++ Author: Godfrey Nolan and Mike Dewar
+++ Date Created: Jan 1994
+++ Date Last Updated: Thu May 12 17:44:30 1994
+++Description:
+++This package uses the NAG Library to calculate the discrete Fourier
+++transform of a sequence of real or complex data values, and
+++applies it to calculate convolutions and correlations.
+++See \downlink{Manual Page}{manpageXXc06}.
+
+NagSeriesSummationPackage(): Exports == Implementation where
+ S ==> Symbol
+ FOP ==> FortranOutputStackPackage
+
+ Exports ==> with
+ c06eaf : (Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06eaf(n,x,ifail)
+ ++ calculates the discrete Fourier transform of a sequence of
+ ++ n real data values. (No extra workspace required.)
+ ++ See \downlink{Manual Page}{manpageXXc06eaf}.
+ c06ebf : (Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06ebf(n,x,ifail)
+ ++ calculates the discrete Fourier transform of a Hermitian
+ ++ sequence of n complex data values. (No extra workspace required.)
+ ++ See \downlink{Manual Page}{manpageXXc06ebf}.
+ c06ecf : (Integer,Matrix DoubleFloat,Matrix DoubleFloat,Integer) -> Result
+ ++ c06ecf(n,x,y,ifail)
+ ++ calculates the discrete Fourier transform of a sequence of
+ ++ n complex data values. (No extra workspace required.)
+ ++ See \downlink{Manual Page}{manpageXXc06ecf}.
+ c06ekf : (Integer,Integer,Matrix DoubleFloat,Matrix DoubleFloat,_
+ Integer) -> Result
+ ++ c06ekf(job,n,x,y,ifail)
+ ++ calculates the circular convolution of two
+ ++ real vectors of period n. No extra workspace is required.
+ ++ See \downlink{Manual Page}{manpageXXc06ekf}.
+ c06fpf : (Integer,Integer,String,Matrix DoubleFloat,_
+ Matrix DoubleFloat,Integer) -> Result
+ ++ c06fpf(m,n,init,x,trig,ifail)
+ ++ computes the discrete Fourier transforms of m sequences,
+ ++ each containing n real data values. This routine is designed to
+ ++ be particularly efficient on vector processors.
+ ++ See \downlink{Manual Page}{manpageXXc06fpf}.
+ c06fqf : (Integer,Integer,String,Matrix DoubleFloat,_
+ Matrix DoubleFloat,Integer) -> Result
+ ++ c06fqf(m,n,init,x,trig,ifail)
+ ++ computes the discrete Fourier transforms of m Hermitian
+ ++ sequences, each containing n complex data values. This routine is
+ ++ designed to be particularly efficient on vector processors.
+ ++ See \downlink{Manual Page}{manpageXXc06fqf}.
+ c06frf : (Integer,Integer,String,Matrix DoubleFloat,_
+ Matrix DoubleFloat,Matrix DoubleFloat,Integer) -> Result
+ ++ c06frf(m,n,init,x,y,trig,ifail)
+ ++ computes the discrete Fourier transforms of m sequences,
+ ++ each containing n complex data values. This routine is designed
+ ++ to be particularly efficient on vector processors.
+ ++ See \downlink{Manual Page}{manpageXXc06frf}.
+ c06fuf : (Integer,Integer,String,Matrix DoubleFloat,_
+ Matrix DoubleFloat,Matrix DoubleFloat,Matrix DoubleFloat,Integer) -> Result
+ ++ c06fuf(m,n,init,x,y,trigm,trign,ifail)
+ ++ computes the two-dimensional discrete Fourier transform of
+ ++ a bivariate sequence of complex data values. This routine is
+ ++ designed to be particularly efficient on vector processors.
+ ++ See \downlink{Manual Page}{manpageXXc06fuf}.
+ c06gbf : (Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06gbf(n,x,ifail)
+ ++ forms the complex conjugate of n
+ ++ data values.
+ ++ See \downlink{Manual Page}{manpageXXc06gbf}.
+ c06gcf : (Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06gcf(n,y,ifail)
+ ++ forms the complex conjugate of a sequence of n data
+ ++ values.
+ ++ See \downlink{Manual Page}{manpageXXc06gcf}.
+ c06gqf : (Integer,Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06gqf(m,n,x,ifail)
+ ++ forms the complex conjugates,
+ ++ each containing n data values.
+ ++ See \downlink{Manual Page}{manpageXXc06gqf}.
+ c06gsf : (Integer,Integer,Matrix DoubleFloat,Integer) -> Result
+ ++ c06gsf(m,n,x,ifail)
+ ++ takes m Hermitian sequences, each containing n data
+ ++ values, and forms the real and imaginary parts of the m
+ ++ corresponding complex sequences.
+ ++ See \downlink{Manual Page}{manpageXXc06gsf}.
+ Implementation ==> add
+
+ import Lisp
+ import DoubleFloat
+ import Any
+ import Record
+ import Integer
+ import Matrix DoubleFloat
+ import Boolean
+ import NAGLinkSupportPackage
+ import AnyFunctions1(Integer)
+ import AnyFunctions1(String)
+ import AnyFunctions1(Matrix DoubleFloat)
+
+
+ c06eaf(nArg:Integer,xArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06eaf",_
+ ["n"::S,"ifail"::S,"x"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,xArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+
+ c06ebf(nArg:Integer,xArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06ebf",_
+ ["n"::S,"ifail"::S,"x"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,xArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06ecf(nArg:Integer,xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06ecf",_
+ ["n"::S,"ifail"::S,"x"::S,"y"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["y"::S,"n"::S]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"y"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,xArg::Any,yArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06ekf(jobArg:Integer,nArg:Integer,xArg:Matrix DoubleFloat,_
+ yArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06ekf",_
+ ["job"::S,"n"::S,"ifail"::S,"x"::S,"y"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp,["y"::S,"n"::S]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"job"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"y"::S,"ifail"::S]$Lisp,_
+ [([jobArg::Any,nArg::Any,ifailArg::Any,xArg::Any,yArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06fpf(mArg:Integer,nArg:Integer,initArg:String,_
+ xArg:Matrix DoubleFloat,trigArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06fpf",_
+ ["m"::S,"n"::S,"init"::S,"ifail"::S,"x"::S,"trig"::S,"work"::S]$Lisp,_
+ ["work"::S]$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ,["trig"::S,["*"::S,2$Lisp,"n"::S]$Lisp]$Lisp,["work"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ,["character"::S,"init"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"trig"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,initArg::Any,ifailArg::Any,xArg::Any,trigArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06fqf(mArg:Integer,nArg:Integer,initArg:String,_
+ xArg:Matrix DoubleFloat,trigArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06fqf",_
+ ["m"::S,"n"::S,"init"::S,"ifail"::S,"x"::S,"trig"::S,"work"::S]$Lisp,_
+ ["work"::S]$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ,["trig"::S,["*"::S,2$Lisp,"n"::S]$Lisp]$Lisp,["work"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ,["character"::S,"init"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"trig"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,initArg::Any,ifailArg::Any,xArg::Any,trigArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06frf(mArg:Integer,nArg:Integer,initArg:String,_
+ xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,trigArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06frf",_
+ ["m"::S,"n"::S,"init"::S,"ifail"::S,"x"::S,"y"::S,"trig"::S,"work"::S]$Lisp,_
+ ["work"::S]$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ,["y"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp,["trig"::S,["*"::S,2$Lisp,"n"::S]$Lisp]$Lisp,["work"::S,["*"::S,["*"::S,2$Lisp,"m"::S]$Lisp,"n"::S]$Lisp]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ,["character"::S,"init"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"y"::S,"trig"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,initArg::Any,ifailArg::Any,xArg::Any,yArg::Any,trigArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06fuf(mArg:Integer,nArg:Integer,initArg:String,_
+ xArg:Matrix DoubleFloat,yArg:Matrix DoubleFloat,trigmArg:Matrix DoubleFloat,_
+ trignArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06fuf",_
+ ["m"::S,"n"::S,"init"::S,"ifail"::S,"x"::S,"y"::S,"trigm"::S,"trign"::S,"work"::S_
+ ]$Lisp,_
+ ["work"::S]$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ,["y"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp,["trigm"::S,["*"::S,2$Lisp,"m"::S]$Lisp]$Lisp,["trign"::S,["*"::S,2$Lisp,"n"::S]$Lisp]$Lisp_
+ ,["work"::S,["*"::S,["*"::S,2$Lisp,"m"::S]$Lisp,"n"::S]$Lisp]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ,["character"::S,"init"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"y"::S,"trigm"::S,"trign"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,initArg::Any,ifailArg::Any,xArg::Any,yArg::Any,trigmArg::Any,trignArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06gbf(nArg:Integer,xArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06gbf",_
+ ["n"::S,"ifail"::S,"x"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,"n"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,xArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06gcf(nArg:Integer,yArg:Matrix DoubleFloat,ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06gcf",_
+ ["n"::S,"ifail"::S,"y"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["y"::S,"n"::S]$Lisp]$Lisp_
+ ,["integer"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["y"::S,"ifail"::S]$Lisp,_
+ [([nArg::Any,ifailArg::Any,yArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06gqf(mArg:Integer,nArg:Integer,xArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06gqf",_
+ ["m"::S,"n"::S,"ifail"::S,"x"::S]$Lisp,_
+ []$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["x"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,ifailArg::Any,xArg::Any ])_
+ @List Any]$Lisp)$Lisp)_
+ pretend List (Record(key:Symbol,entry:Any))]$Result
+
+ c06gsf(mArg:Integer,nArg:Integer,xArg:Matrix DoubleFloat,_
+ ifailArg:Integer): Result ==
+ [(invokeNagman(NIL$Lisp,_
+ "c06gsf",_
+ ["m"::S,"n"::S,"ifail"::S,"x"::S,"u"::S,"v"::S]$Lisp,_
+ ["u"::S,"v"::S]$Lisp,_
+ [["double"::S,["x"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp_
+ ,["u"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp,["v"::S,["*"::S,"m"::S,"n"::S]$Lisp]$Lisp]$Lisp_
+ ,["integer"::S,"m"::S,"n"::S,"ifail"::S]$Lisp_
+ ]$Lisp,_
+ ["u"::S,"v"::S,"ifail"::S]$Lisp,_
+ [([mArg::Any,nArg::Any,ifailArg::Any,xArg::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 NAGC06 NagSeriesSummationPackage>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}