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/interp/nag-c06.boot.pamphlet | 1854 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 1854 insertions(+) create mode 100644 src/interp/nag-c06.boot.pamphlet (limited to 'src/interp/nag-c06.boot.pamphlet') diff --git a/src/interp/nag-c06.boot.pamphlet b/src/interp/nag-c06.boot.pamphlet new file mode 100644 index 00000000..6bf1b75b --- /dev/null +++ b/src/interp/nag-c06.boot.pamphlet @@ -0,0 +1,1854 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp nag-c06.boot} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\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. + +@ +<<*>>= +<> + +c06eaf() == + htInitPage('"C06EAF - Single 1-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06eaf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06eaf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Calculates the discrete Fourier transform of the sequence ") + (text . "of real data values \space{1} \inputbitmap{\htbmdir{}/xj.bitmap}, for ") + (text . "j = 0,1,...,n-1. ") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values: ") + (text . "\newline\tab{2} ") + (bcStrings (5 7 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06eafSolve) + htShowPage() + +c06eafSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '7 => c06eafDefaultSolve(htPage,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{15} ") + rnam := INTERN STRCONC ('"r",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :labelList] + page := htInitPage("C06EAF - Single 1-D real discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the sequence to be transformed: " + htMakePage equationPart + htSay '"\blankline " + htSay '"Note : On exit, the transformed sequence is stored " + htSay '"in Hermitian form " + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06eafGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06eafDefaultSolve (htPage, ifail) == + n := '7 + page := htInitPage('"C06EAF - Single 1-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the sequence to be transformed: ") + (text . "\newline \tab{15} ") + (bcStrings (10 "0.34907" r1 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.54890" r2 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.74776" r3 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.94459" r4 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.13850" r5 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.32850" r6 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.51370" r7 F)) + (text . "\blankline ") + (text . "Note : On exit, the transformed sequence is stored ") + (text . "in Hermitian form ") + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06eafGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06eafGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + reallist := [left,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06eaf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")") + +c06ebf() == + htInitPage('"C06EBF - Single 1-D Hermitian discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06ebf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06ebf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Calculates the discrete Fourier transform of a Hermitian ") + (text . "sequence of complex data values. ") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values: ") + (text . "\newline \tab{2}") + (bcStrings (5 7 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06ebfSolve) + htShowPage() + +c06ebfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '7 => c06ebfDefaultSolve(htPage,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{15} ") + rnam := INTERN STRCONC ('"r",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :labelList] + page := htInitPage("C06EBF - Single 1-D real discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the sequence to be transformed, stored in Hermitian form: " + htMakePage equationPart + htSay '"\blankline " + htSay '"Note : On exit, the components of the discrete Fourier transform " + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06ebfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06ebfDefaultSolve (htPage, ifail) == + n := '7 + page := htInitPage('"C06EBF - Single 1-D Hermitian discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the sequence to be transformed, stored in Hermitian form: ") + (text . "\newline \tab{15} ") + (bcStrings (10 "0.34907" r1 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.54890" r2 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.74776" r3 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.94459" r4 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.13850" r5 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.32850" r6 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.51370" r7 F)) + (text . "\blankline ") + (text . "Note : On exit, the components of the discrete Fourier transform") + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06ebfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06ebfGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + reallist := [left,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06ebf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")") + + +c06ecf() == + htInitPage('"C06ECF - Single 1-D complex discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06ecf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06ecf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Calculates the discrete Fourier transform of a complex sequence.") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values: ") + (text . "\newline\tab{2} ") + (bcStrings (5 7 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06ecfSolve) + htShowPage() + + +c06ecfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '7 => c06ecfDefaultSolve(htPage,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{2} ") + post := ('"\tab{32} ") + xnam := INTERN STRCONC ('"x",STRINGIMAGE i) + ynam := INTERN STRCONC ('"y",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, xnam, 'F]], + ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :labelList] + page := htInitPage("C06ECF - Single 1-D complex discrete Fourier transform ",htpPropertyList htPage) + htSay '"\menuitemstyle{}\tab{2} Real parts of sequence: \tab{30} " + htSay '"\menuitemstyle{}\tab{32} Imaginary parts: " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06ecfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +c06ecfDefaultSolve (htPage, ifail) == + n := '7 + page := htInitPage('"C06ECF - Single 1-D complex discrete Fourier transform ",htpPropertyList htPage) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Real parts of sequence: \tab{30} ") + (text . "\menuitemstyle{}\tab{32} Imaginary parts: ") + (text . "\newline \tab{2}") + (bcStrings (10 "0.34907" x1 F)) + (text . "\tab{32} ") + (bcStrings (10 "-0.37168" y1 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.54890" x2 F)) + (text . "\tab{32} ") + (bcStrings (10 "-0.35669" y2 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.74776" x3 F)) + (text . "\tab{32} ") + (bcStrings (10 "-0.31175" y3 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.94459" x4 F)) + (text . "\tab{32} ") + (bcStrings (10 "-0.23702" y4 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.13850" x5 F)) + (text . "\tab{32} ") + (bcStrings (10 "-0.13274" y5 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.32850" x6 F)) + (text . "\tab{32} ") + (bcStrings (10 "0.00074" y6 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.51370" x7 F)) + (text . "\tab{32} ") + (bcStrings (10 "0.16298" y7 F)) + (text . "\blankline")) + htMakeDoneButton('"Continue",'c06ecfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06ecfGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + right := STRCONC ((first y).1," ") + y := rest y + left := STRCONC ((first y).1," ") + y := rest y + reallist := [left,:reallist] + imaglist := [right,:imaglist] + realstring := bcwords2liststring reallist + imagstring := bcwords2liststring imaglist + linkGen STRCONC ('"c06ecf(",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],", STRINGIMAGE ifail,")") + + +c06ekf() == + htInitPage('"C06EKF - Circular convolution or correlation of two real vectors",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06ekf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06ekf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Calculates the circular convolution or correlation of two real ") + (text . "vectors of period {\em n} ") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values: ") + (text . "\newline\tab{2} ") + (bcStrings (5 9 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Choose the computation to be performed:") + (radioButtons job + ("" " Convolution" conv) + ("" " Correlation" corr)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06ekfSolve) + htShowPage() + + +c06ekfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + type := htpButtonValue(htPage,'job) + job := + type = 'conv => '1 + '2 + n = '9 => c06ekfDefaultSolve(htPage,job,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{2} ") + post := ('"\tab{34} ") + xnam := INTERN STRCONC ('"x",STRINGIMAGE i) + ynam := INTERN STRCONC ('"y",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, xnam, 'F]], + ['text,:post],['bcStrings,[10, 0.0, ynam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :labelList] + page := htInitPage("C06EKF - Single 1-D complex discrete Fourier transform ",htpPropertyList htPage) + htSay '"\menuitemstyle{}\tab{2} Elements of period of vector {\em x}: " + htSay '"\tab{31} " + htSay '"\menuitemstyle{}\tab{34} Elements of period of vector {\em y}:" + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06ekfGen) + htpSetProperty(page,'job,job) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +c06ekfDefaultSolve (htPage, job, ifail) == + n := '9 + page := htInitPage('"C06EKF - Circular convolution or correlation of two real vectors ",htpPropertyList htPage) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Elements of period of vector {\em x}: \tab{32} ") + (text . "\menuitemstyle{}\tab{34} Elements of period of vector {\em y}: ") + (text . "\newline \tab{2}") + (bcStrings (10 "1.00" x1 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.50" y1 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.00" x2 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.50" y2 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.00" x3 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.50" y3 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.00" x4 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.50" y4 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "1.00" x5 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.00" y5 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.00" x6 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.00" y6 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.00" x7 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.00" y7 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.00" x8 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.00" y8 F)) + (text . "\newline \tab{2} ") + (bcStrings (10 "0.00" x9 F)) + (text . "\tab{34} ") + (bcStrings (10 "0.00" y9 F)) + (text . "\blankline")) + htMakeDoneButton('"Continue",'c06ekfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'job,job) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06ekfGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + job := htpProperty(htPage,'job) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + right := STRCONC ((first y).1," ") + y := rest y + left := STRCONC ((first y).1," ") + y := rest y + reallist := [left,:reallist] + imaglist := [right,:imaglist] + realstring := bcwords2liststring reallist + imagstring := bcwords2liststring imaglist + linkGen STRCONC ('"c06ekf(",STRINGIMAGE job,",",STRINGIMAGE n,",[",realstring,"],[",imagstring,"],", STRINGIMAGE ifail,")") + +c06fpf() == + htInitPage('"C06FPF - Multiple 1-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06fpf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06fpf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Computes the discrete Fourier transforms of {\it m} real ") + (text . "sequences, each containing {\it n} data values.") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of sequences to be transformed {\it m}: ") + (text . "\newline \tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values {\it n}: ") + (text . "\newline\tab{2} ") + (bcStrings (5 6 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Type of call:") + (radioButtons init + ("" " Initial" i) + ("" " Subsequent" s) + ("" " Restart" r)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06fpfSolve) + htShowPage() + +c06fpfSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + call := htpButtonValue(htPage,'init) + init := + call = 'i => '"i" + call = 's => '"s" + '"r" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (n = '6 and m = '3) => c06fpfDefaultSolve(htPage,init,ifail) + matList := + "append"/[f(i,m) for i in 1..n] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + xnam := INTERN STRCONC ('"r",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, xnam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + trigList := + "append"/[h(k) for k in 1..(2*n)] where h(k) == + prefix := ('"\newline \tab{2} ") + trignam := INTERN STRCONC ('"t",STRINGIMAGE k) + [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Trigonometric coefficients ") + prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ") + prefix := STRCONC(prefix,"\newline \tab{2} ") + trigList := [['text,:prefix],:trigList] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :matList,:trigList] + page := htInitPage("C06FPF - Multiple 1-D real discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter each sequence to be transformed, {\it x}. " + htSay '"(Each column to contain a sequence.) " + htMakePage equationPart + htMakeDoneButton('"Continue",'c06fpfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fpfDefaultSolve (htPage, init,ifail) == + n := '6 + m := '3 + page := htInitPage('"C06FPF - Multiple 1-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter each sequence to be transformed, {\it x}. ") + (text . "(Each column to contain a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.3854" x11 F)) + (bcStrings (6 "0.5417" x21 F)) + (bcStrings (6 "0.9172" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6772" x12 F)) + (bcStrings (6 "0.2983" x22 F)) + (bcStrings (6 "0.0644" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1138" x13 F)) + (bcStrings (6 "0.1181" x23 F)) + (bcStrings (6 "0.6037" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6751" x14 F)) + (bcStrings (6 "0.7255" x24 F)) + (bcStrings (6 "0.6430" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6362" x15 F)) + (bcStrings (6 "0.8638" x25 F)) + (bcStrings (6 "0.0428" x35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1424" x16 F)) + (bcStrings (6 "0.8723" x26 F)) + (bcStrings (6 "0.4815" x36 F)) + (text . "\blankline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Trignometric coefficients (not required if initial call) ") + (text . "{\it TRIG}: \newline \tab{2} ") + (bcStrings (6 "0.0" t1 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t2 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t3 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t4 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t5 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t6 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t7 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t8 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t9 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t10 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t11 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t12 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06fpfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fpfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + init := htpProperty(htPage,'init) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + for i in 1..(2*n) repeat + left := STRCONC((first y).1," ") + y := rest y + triglist := [left,:triglist] + trigstring := bcwords2liststring triglist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + xlist := [left,:xlist] + xstring := bcwords2liststring xlist + prefix := STRCONC ('"c06fpf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"") + prefix := STRCONC(prefix,init,"_",[",xstring,"],[",trigstring,"],") + linkGen STRCONC(prefix,STRINGIMAGE ifail,")") + + +c06fqf() == + htInitPage('"C06FQF - Multiple 1-D Hermitian discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06fqf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06fqf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Computes the discrete Fourier transforms of {\it m} real ") + (text . "sequences, each containing {\it n} data values.") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of sequences to be transformed {\it m}: ") + (text . "\newline \tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values {\it n}: ") + (text . "\newline\tab{2} ") + (bcStrings (5 6 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Type of call:") + (radioButtons init + ("" " Initial" i) + ("" " Subsequent" s) + ("" " Restart" r)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06fqfSolve) + htShowPage() + +c06fqfSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + call := htpButtonValue(htPage,'init) + init := + call = 'i => '"i" + call = 's => '"s" + '"r" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (n = '6 and m = '3) => c06fqfDefaultSolve(htPage,init,ifail) + matList := + "append"/[f(i,m) for i in 1..n] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + xnam := INTERN STRCONC ('"r",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, xnam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + trigList := + "append"/[h(k) for k in 1..(2*n)] where h(k) == + prefix := ("\newline \tab{2} ") + trignam := INTERN STRCONC ('"t",STRINGIMAGE k) + [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ") + prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ") + prefix := STRCONC(prefix,"\newline \tab{2} ") + trigList := [['text,:prefix],:trigList] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :matList,:trigList] + page := htInitPage("C06FQF - Multiple 1-D Hermitian discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter each sequence to be transformed, {\it x}. " + htSay '"(Each column to contain a sequence.) " + htMakePage equationPart + htMakeDoneButton('"Continue",'c06fqfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fqfDefaultSolve (htPage, init,ifail) == + n := '6 + m := '3 + page := htInitPage('"C06FQF - Multiple 1-D Hermitian discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter each sequence to be transformed, {\it x}. ") + (text . "(Each column to contain a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.3854" x11 F)) + (bcStrings (6 "0.5417" x21 F)) + (bcStrings (6 "0.9172" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6772" x12 F)) + (bcStrings (6 "0.2983" x22 F)) + (bcStrings (6 "0.0644" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1138" x13 F)) + (bcStrings (6 "0.1181" x23 F)) + (bcStrings (6 "0.6037" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6751" x14 F)) + (bcStrings (6 "0.7255" x24 F)) + (bcStrings (6 "0.6430" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6362" x15 F)) + (bcStrings (6 "0.8638" x25 F)) + (bcStrings (6 "0.0428" x35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1424" x16 F)) + (bcStrings (6 "0.8723" x26 F)) + (bcStrings (6 "0.4815" x36 F)) + (text . "\blankline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Trignometric coefficients (not required if initial call) ") + (text . "{\it TRIG}: \newline \tab{2} ") + (bcStrings (6 "0.0" t1 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t2 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t3 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t4 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t5 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t6 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t7 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t8 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t9 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t10 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t11 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t12 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06fqfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fqfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + init := htpProperty(htPage,'init) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + for i in 1..(2*n) repeat + left := STRCONC((first y).1," ") + y := rest y + triglist := [left,:triglist] + trigstring := bcwords2liststring triglist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + xlist := [left,:xlist] + xstring := bcwords2liststring xlist + prefix := STRCONC ('"c06fqf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"") + prefix := STRCONC(prefix,init,"_",[",xstring,"],[",trigstring,"],") + linkGen STRCONC(prefix,STRINGIMAGE ifail,")") + + +c06frf() == + htInitPage('"C06FRF - Multiple 1-D complex discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06frf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06frf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Computes the discrete Fourier transforms of {\it m} complex ") + (text . "sequences, each containing {\it n} data values.") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of sequences to be transformed {\it m}: ") + (text . "\newline \tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values {\it n}: ") + (text . "\newline\tab{2} ") + (bcStrings (5 6 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Type of call:") + (radioButtons init + ("" " Initial" i) + ("" " Subsequent" s) + ("" " Restart" r)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06frfSolve) + htShowPage() + +c06frfSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + call := htpButtonValue(htPage,'init) + init := + call = 'i => '"i" + call = 's => '"s" + '"r" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (n = '6 and m = '3) => c06frfDefaultSolve(htPage,init,ifail) + xList := + "append"/[fx(i,m) for i in 1..n] where fx(i,n) == + labelList := + "append"/[gx(i,j) for j in 1..n] where gx(i,j) == + xnam := INTERN STRCONC ('"x",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, xnam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + yList := + "append"/[fy(i,m) for i in 1..n] where fy(i,n) == + labelList := + "append"/[gy(i,j) for j in 1..n] where gy(i,j) == + ynam := INTERN STRCONC ('"y",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, ynam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Enter the imaginary parts ") + prefix := STRCONC(prefix,"of each sequence to be transformed, {\it y}. ") + prefix := STRCONC(prefix,"(Each column to contain the imaginary parts ") + prefix := STRCONC(prefix,"of a sequence.) \newline \tab{2} ") + yList := [['text,:prefix],:yList] + trigList := + "append"/[h(k) for k in 1..(2*n)] where h(k) == + prefix := ("\newline \tab{2} ") + trignam := INTERN STRCONC ('"t",STRINGIMAGE k) + [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ") + prefix := STRCONC(prefix,"(not required if initial call) {\it TRIG}: ") + prefix := STRCONC(prefix,"\newline \tab{2} ") + trigList := [['text,:prefix],:trigList] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :xList,:yList,:trigList] + page := htInitPage("C06FRF - Multiple 1-D real discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the real parts of each sequence to be transformed, {\it x}. " + htSay '"(Each column to contain the real parts of a sequence.) " + htMakePage equationPart + htMakeDoneButton('"Continue",'c06frfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06frfDefaultSolve (htPage, init,ifail) == + n := '6 + m := '3 + page := htInitPage('"C06FRF - Multiple 1-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the real parts of each sequence to be transformed, ") + (text . "{\it x}. (Each column to contain the real parts of a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.3854" x11 F)) + (bcStrings (6 "0.9172" x21 F)) + (bcStrings (6 "0.1156" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6772" x12 F)) + (bcStrings (6 "0.0644" x22 F)) + (bcStrings (6 "0.0685" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1138" x13 F)) + (bcStrings (6 "0.6037" x23 F)) + (bcStrings (6 "0.2060" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6751" x14 F)) + (bcStrings (6 "0.6430" x24 F)) + (bcStrings (6 "0.8630" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6362" x15 F)) + (bcStrings (6 "0.0428" x25 F)) + (bcStrings (6 "0.6967" x35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1424" x16 F)) + (bcStrings (6 "0.4815" x26 F)) + (bcStrings (6 "0.2792" x36 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter the imaginary parts of each ") + (text . "sequence to be transformed, {\it y}. ") + (text . "(Each column to contain the imaginary parts of a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5417" y11 F)) + (bcStrings (6 "0.9089" y21 F)) + (bcStrings (6 "0.6214" y31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.2983" y12 F)) + (bcStrings (6 "0.3118" y22 F)) + (bcStrings (6 "0.8681" y32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1181" y13 F)) + (bcStrings (6 "0.3465" y23 F)) + (bcStrings (6 "0.7060" y33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.7255" y14 F)) + (bcStrings (6 "0.6198" y24 F)) + (bcStrings (6 "0.8652" y34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.8638" y15 F)) + (bcStrings (6 "0.2668" y25 F)) + (bcStrings (6 "0.9190" y35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.8723" y16 F)) + (bcStrings (6 "0.1614" y26 F)) + (bcStrings (6 "0.3355" y36 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Trignometric coefficients (not required if initial call) ") + (text . "{\it TRIG}: \newline \tab{2} ") + (bcStrings (6 "0.0" t1 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t2 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t3 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t4 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t5 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t6 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t7 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t8 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t9 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t10 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t11 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" t12 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06frfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06frfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + init := htpProperty(htPage,'init) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + for i in 1..(2*n) repeat + left := STRCONC((first y).1," ") + y := rest y + triglist := [left,:triglist] + trigstring := bcwords2liststring triglist + for i in 1..(m*n) repeat + left := STRCONC((first y).1," ") + y := rest y + ylist := [left,:ylist] + ystring := bcwords2liststring ylist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + xlist := [left,:xlist] + xstring := bcwords2liststring xlist + prefix := STRCONC ('"c06frf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"") + prefix := STRCONC(prefix,init,"_",[",xstring,"],[",ystring,"],[") + linkGen STRCONC(prefix,trigstring,"],",STRINGIMAGE ifail,")") + + +c06fuf() == + htInitPage('"C06FUF - 2-D complex discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06fuf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06fuf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Computes the two-dimensional discrete Fourier transform of ") + (text . "a bivaraite sequence of complex data values; likely to be ") + (text . "efficient on vector processors. ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of {\it m} of rows of X and Y; ") + (text . "\htbitmap{great=} 1 \newline \tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of {\it n} of columns of X and Y; ") + (text . "\htbitmap{great=} 1 \newline \tab{2} ") + (bcStrings (5 5 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Type of call:") + (radioButtons init + ("" " Initial" i) + ("" " Subsequent" s) + ("" " Restart" r)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06fufSolve) + htShowPage() + +c06fufSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + call := htpButtonValue(htPage,'init) + init := + call = 'i => '"i" + call = 's => '"s" + '"r" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (n = '5 and m = '3) => c06fufDefaultSolve(htPage,init,ifail) + xList := + "append"/[fx(i,m) for i in 1..n] where fx(i,n) == + labelList := + "append"/[gx(i,j) for j in 1..n] where gx(i,j) == + xnam := INTERN STRCONC ('"x",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, xnam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + yList := + "append"/[fy(i,m) for i in 1..n] where fy(i,n) == + labelList := + "append"/[gy(i,j) for j in 1..n] where gy(i,j) == + ynam := INTERN STRCONC ('"y",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, 0.0, ynam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Enter the imaginary parts ") + prefix := STRCONC(prefix,"of each sequence to be transformed, {\it y}. ") + prefix := STRCONC(prefix,"(Each column to contain the imaginary parts ") + prefix := STRCONC(prefix,"of a sequence.) \newline \tab{2} ") + yList := [['text,:prefix],:yList] + trigmList := + "append"/[hm(k) for k in 1..(2*m)] where hm(k) == + prefix := ("\newline \tab{2} ") + trignam := INTERN STRCONC ('"tm",STRINGIMAGE k) + [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]] + prefix := ('"\blankline \menuitemstyle{} \tab{2} Trignometric coefficients ") + prefix := STRCONC(prefix,"(not required if initial call) {\it TRIGM}: ") + prefix := STRCONC(prefix,"\newline \tab{2} ") + trigmList := [['text,:prefix],:trigmList] + trignList := + "append"/[hn(k) for k in 1..(2*n)] where hn(k) == + prefix := ("\newline \tab{2} ") + trignam := INTERN STRCONC ('"tn",STRINGIMAGE k) + [['text,:prefix],['bcStrings,[6, "0.0", trignam, 'F]]] + prefix := ('"\blankline \menuitemstyle{} \tab{2} {\it TRIGN}: ") + prefix := STRCONC(prefix,"\newline \tab{2} ") + trignList := [['text,:prefix],:trignList] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :xList,:yList,:trigmList,:trignList] + page := htInitPage("C06FUF - 2-D complex discrete Fourier transform ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the real part of each sequence to be transformed, {\it x}. " + htSay '"(Each column to contain the real parts of a sequence.) " + htMakePage equationPart + htMakeDoneButton('"Continue",'c06fufGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fufDefaultSolve (htPage, init,ifail) == + n := '5 + m := '3 + page := htInitPage('"C06FUF - 2-D real discrete Fourier transform ",nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the real parts of each sequence to be transformed, ") + (text . "{\it x}. (Each column to contain the real parts of a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "1.000" x11 F)) + (bcStrings (6 "0.994" x21 F)) + (bcStrings (6 "0.903" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.999" x12 F)) + (bcStrings (6 "0.989" x22 F)) + (bcStrings (6 "0.885" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.987" x13 F)) + (bcStrings (6 "0.963" x23 F)) + (bcStrings (6 "0.823" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.936" x14 F)) + (bcStrings (6 "0.891" x24 F)) + (bcStrings (6 "0.694" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.802" x15 F)) + (bcStrings (6 "0.731" x25 F)) + (bcStrings (6 "0.467" x35 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter the imaginary parts of each ") + (text . "sequence to be transformed, {\it y}. (Each column to contain ") + (text . "the imaginary parts of a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.000" y11 F)) + (bcStrings (6 "-0.111" y21 F)) + (bcStrings (6 "-0.430" y31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-0.040" y12 F)) + (bcStrings (6 "-0.151" y22 F)) + (bcStrings (6 "-0.466" y32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-0.159" y13 F)) + (bcStrings (6 "-0.268" y23 F)) + (bcStrings (6 "-0.568" y33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-0.352" y14 F)) + (bcStrings (6 "-0.454" y24 F)) + (bcStrings (6 "-0.720" y34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-0.597" y15 F)) + (bcStrings (6 "-0.682" y25 F)) + (bcStrings (6 "-0.884" y35 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Trignometric coefficients (not required if initial call) ") + (text . "{\it TRIGM}: \newline \tab{2} ") + (bcStrings (6 "0.0" tm1 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tm2 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tm3 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tm4 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tm5 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tm6 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "{\it TRIGN}: \newline \tab{2} ") + (bcStrings (6 "0.0" tn1 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn2 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn3 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn4 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn5 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn6 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn7 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn8 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn9 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" tn10 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06fufGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'init,init) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06fufGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + init := htpProperty(htPage,'init) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + for i in 1..(2*n) repeat + left := STRCONC((first y).1," ") + y := rest y + trignlist := [left,:trignlist] + trignstring := bcwords2liststring trignlist + for i in 1..(2*m) repeat + left := STRCONC((first y).1," ") + y := rest y + trigmlist := [left,:trigmlist] + trigmstring := bcwords2liststring trigmlist + for i in 1..(m*n) repeat + left := STRCONC((first y).1," ") + y := rest y + ylist := [left,:ylist] + ystring := bcwords2liststring ylist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + xlist := [left,:xlist] + xstring := bcwords2liststring xlist + prefix := STRCONC ('"c06fuf(",STRINGIMAGE m,", ",STRINGIMAGE n,", _"") + prefix := STRCONC(prefix,init,"_",[",xstring,"],[",ystring,"],[",trigmstring) + linkGen STRCONC(prefix,"],[",trignstring,"],",STRINGIMAGE ifail,")") + + + +c06gbf() == + htInitPage('"C06GBF - Complex conjugate of a Hermitian sequence ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06gbf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06gbf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Forms the complex conjugate of a Hermitian sequence of {\it n} data values") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values {\it n} ") + (text . "\space{1} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "\newline\tab{2} ") + (bcStrings (5 7 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06gbfSolve) + htShowPage() + +c06gbfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '7 => c06gbfDefaultSolve(htPage,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{15} ") + rnam := INTERN STRCONC ('"r",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :labelList] + page := htInitPage("C06GBF - Complex conjugate of a Hermitian sequence ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the Hermitian sequence to be transformed stored in Hermitian form: " + htMakePage equationPart + htSay '"\blankline " + htSay '"Note : On exit, the imaginary values are negated " + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06gbfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gbfDefaultSolve (htPage, ifail) == + n := '7 + page := htInitPage('"C06GBF - Complex conjugate of a Hermitian sequence ", nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the Hermitian sequence to be transformed ") + (text . "stored in Hermitian form: ") + (text . "\newline \tab{15} ") + (bcStrings (10 "0.34907" r1 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.54890" r2 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.74776" r3 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.94459" r4 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.13850" r5 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.32850" r6 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.51370" r7 F)) + (text . "\blankline ") + (text . "Note : On exit, the imaginary values are negated ") + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06gbfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gbfGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + reallist := [left,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06gbf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")") + + +c06gcf() == + htInitPage('"C06GCF - Complex conjugate of complex sequence ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06gcf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06gcf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Forms the complex conjugate of a sequence of {\it n} data values") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number of data values {\it n} ") + (text . "\space{1} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "\newline\tab{2} ") + (bcStrings (5 7 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06gcfSolve) + htShowPage() + +c06gcfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '7 => c06gcfDefaultSolve(htPage,ifail) + labelList := + "append"/[f(i) for i in 1..n] where f(i) == + prefix := ('"\newline \tab{15} ") + rnam := INTERN STRCONC ('"r",STRINGIMAGE i) + [['text,:prefix],['bcStrings,[10, 0.0, rnam, 'F]]] + equationPart := [ + '(domainConditions + (isDomain F (Float))), + :labelList] + page := htInitPage("C06GCF - Complex conjugate of a Hermitian sequence ", htpPropertyList htPage) + htSay '"\menuitemstyle{} \tab{2} " + htSay '"Enter the imaginary parts of the sequence: " + htMakePage equationPart + htSay '"\blankline " + htSay '"Note : On exit, these values are negated " + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06gcfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gcfDefaultSolve (htPage, ifail) == + n := '7 + page := htInitPage('"C06GCF - Complex conjugate of complex sequence ", nil) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "Enter the imaginary parts of the sequence: ") + (text . "\newline \tab{15} ") + (bcStrings (10 "-0.37168" r1 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "-0.35669" r2 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "-0.31175" r3 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "-0.23702" r4 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.00074" r5 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "0.16298" r6 F)) + (text . "\newline \tab{15} ") + (bcStrings (10 "1.51370" r7 F)) + (text . "\blankline ") + (text . "Note : On exit, these values are negated ") + (text . "\blankline ")) + htMakeDoneButton('"Continue",'c06gcfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gcfGen htPage == + n := htpProperty(htPage,'n) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + left := STRCONC((first y).1," ") + y := rest y + reallist := [left,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06gcf(",STRINGIMAGE n,",[",realstring,"],",STRINGIMAGE ifail,")") + +c06gqf() == + htInitPage('"C06GQF - Complex conjugate of multiple Hermitian sequences ",nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06gqf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06gqf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Forms the complex conjugates of {\it m} Hermitian sequences, ") + (text . "each containing {\it n} data values. ") + (text . "\newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number {\it m} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "of sequences to be tranformed: ") + (text . "\newline\tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number {\it n} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "of data values in each sequence: ") + (text . "\newline\tab{2} ") + (bcStrings (5 6 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06gqfSolve) + htShowPage() + + +c06gqfSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (m = '3 and n = '6) => c06gqfDefaultSolve(htPage,ifail) + newList:= + "append"/[g(i,m) for i in 1..n] where g(i,n) == + labelList := + "append"/[f(i,j) for j in 1..n] where f(i,j) == + rnam := INTERN STRCONC ('"r",STRINGIMAGE i,STRINGIMAGE j) + [['bcStrings,[6, 0.0, rnam, 'P]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :newList] + page := htInitPage("C06GQF - Complex conjugate of multiple Hermitian sequences ",htpPropertyList htPage) + htSay '"\newline " + htSay '"\menuitemstyle{}\tab{2} Please enter each sequence to be " + htSay '"transformed in Hermitian format. (Each column to contain " + htSay '"a sequence.) " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06gqfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +c06gqfDefaultSolve (htPage, ifail) == + m := '3 + n := '6 + page := htInitPage('"C06GQF - Complex conjugate of multiple Hermitian sequences ",htpPropertyList htPage) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Please enter each sequence to be ") + (text . "transformed in Hermitian format. ") + (text . "(Each column to contain a sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.3854" x11 F)) + (bcStrings (6 "0.5417" x21 F)) + (bcStrings (6 "0.9172" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6772" x12 F)) + (bcStrings (6 "0.2983" x22 F)) + (bcStrings (6 "0.0644" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1138" x13 F)) + (bcStrings (6 "0.1181" x23 F)) + (bcStrings (6 "0.6037" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6751" x14 F)) + (bcStrings (6 "0.7255" x24 F)) + (bcStrings (6 "0.6430" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6362" x15 F)) + (bcStrings (6 "0.8638" x25 F)) + (bcStrings (6 "0.0428" x35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1424" x16 F)) + (bcStrings (6 "0.8723" y26 F)) + (bcStrings (6 "0.4815" y36 F)) + (text . "\blankline")) + htMakeDoneButton('"Continue",'c06gqfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gqfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + right := STRCONC ((first y).1," ") + y := rest y + reallist := [right,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06gqf(",STRINGIMAGE m,",",STRINGIMAGE n,",[",realstring,"],", STRINGIMAGE ifail,")") + + + +c06gsf() == + htInitPage('"C06GSF - Convert Hermitian sequences to general complex sequences", nil) + htMakePage '( + (domainConditions + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXc06gsf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|c06gsf| '|NagSeriesSummationPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "Takes {\it m} Hermitian sequences, each containing {\it n} data values, ") + (text . "and forms the real and imaginary parts of the {\it m} ") + (text . "corresponding complex sequences. \newline ") + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number {\it m} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "of sequences to be transformed: ") + (text . "\newline\tab{2} ") + (bcStrings (5 3 m PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Enter the number {\it n} \inputbitmap{\htbmdir{}/great=.bitmap} 1 ") + (text . "of data values in each sequence: ") + (text . "\newline\tab{2} ") + (bcStrings (5 6 n PI)) + (text . "\blankline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "Ifail value:") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'c06gsfSolve) + htShowPage() + + +c06gsfSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + (m = '3 and n = '6) => c06gsfDefaultSolve(htPage,ifail) + newList:= + "append"/[g(i,m) for i in 1..n] where g(i,n) == + labelList := + "append"/[f(i,j) for j in 1..n] where f(i,j) == + rnam := INTERN STRCONC ('"r",STRINGIMAGE i,STRINGIMAGE j) + [['bcStrings,[6, 0.0, rnam, 'P]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :newList] + page := htInitPage("C06GSF - Convert Hermitian sequences to general complex sequences ",htpPropertyList htPage) + htSay '"\newline " + htSay '"\menuitemstyle{}\tab{2} Please enter each sequence to be " + htSay '"transformed in Hermitian format. (Each column to contain a " + htSay '"sequence.) " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'c06gsfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +c06gsfDefaultSolve (htPage, ifail) == + m := '3 + n := '6 + page := htInitPage('"C06GSF - Convert Hermitian sequences to general complex sequences ",htpPropertyList htPage) + htMakePage '( + (domainConditions + (isDomain F (Float))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Please enter each sequence to be ") + (text . "transformed in Hermitian format. (Each column to contain a ") + (text . "sequence.) ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.3854" x11 F)) + (bcStrings (6 "0.5417" x21 F)) + (bcStrings (6 "0.9172" x31 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6772" x12 F)) + (bcStrings (6 "0.2983" x22 F)) + (bcStrings (6 "0.0644" x32 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1138" x13 F)) + (bcStrings (6 "0.1181" x23 F)) + (bcStrings (6 "0.6037" x33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6751" x14 F)) + (bcStrings (6 "0.7255" x24 F)) + (bcStrings (6 "0.6430" x34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.6362" x15 F)) + (bcStrings (6 "0.8638" x25 F)) + (bcStrings (6 "0.0428" x35 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.1424" x16 F)) + (bcStrings (6 "0.8723" y26 F)) + (bcStrings (6 "0.4815" y36 F)) + (text . "\blankline")) + htMakeDoneButton('"Continue",'c06gsfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +c06gsfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + while y repeat + right := STRCONC ((first y).1," ") + y := rest y + reallist := [right,:reallist] + realstring := bcwords2liststring reallist + linkGen STRCONC ('"c06gsf(",STRINGIMAGE m,",",STRINGIMAGE n,",[",realstring,"],", STRINGIMAGE ifail,")") + + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} -- cgit v1.2.3