From bdea50f2baa8f866a77d355ef23a1ba844f8c2b7 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Thu, 11 Oct 2007 08:33:03 +0000 Subject: Remove more pamphlet files --- src/interp/nag-f02.boot | 2735 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2735 insertions(+) create mode 100644 src/interp/nag-f02.boot (limited to 'src/interp/nag-f02.boot') diff --git a/src/interp/nag-f02.boot b/src/interp/nag-f02.boot new file mode 100644 index 00000000..f0cb92ed --- /dev/null +++ b/src/interp/nag-f02.boot @@ -0,0 +1,2735 @@ +-- 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. + + +)package "BOOT" + +f02aaf() == + htInitPage('"F02AAF - All eigenvalues of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02aaf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02aaf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues of a real symmetric matrix ") + (text . "{\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02aafSolve) + htShowPage() + +f02aafSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02aafDefaultSolve(htPage,ia,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList] + page := htInitPage("F02AAF - All eigenvalues of real symmetric matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02aafGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02aafDefaultSolve (htPage,ia,ifail) == + n := '4 + page := htInitPage('"F02AAF - All eigenvalues of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "2.3" a13 F)) + (bcStrings (6 "-2.6" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "0.5" a22 F)) + (bcStrings (6 "-1.4" a23 F)) + (bcStrings (6 "-0.7" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.3" a31 F)) + (bcStrings (6 "-1.4" a32 F)) + (bcStrings (6 "0.5" a33 F)) + (bcStrings (6 "0.0" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.6" a41 F)) + (bcStrings (6 "-0.7" a42 F)) + (bcStrings (6 "0.0" a43 F)) + (bcStrings (6 "0.5" a44 F))) + htMakeDoneButton('"Continue",'f02aafGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02aafGen htPage == + n := htpProperty(htPage,'n) + -- ia should be = n, unlike the example program + -- where ia = nmax +-- ia := htpProperty(htPage,'ia) + ia := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + prefix := STRCONC('"f02aaf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ") + prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")") + linkGen prefix + +f02abf() == + htInitPage('"F02ABF - All eigenvalues and eignevectors of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02abf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02abf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues and eigenvectors of a real ") + (text . "symmetric matrix ") + (text . "{\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of V, {\it v} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 v PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02abfSolve) + htShowPage() + +f02abfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + iv := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'v) +-- objValUnwrap htpLabelSpadValue(htPage, 'v) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02abfDefaultSolve(htPage,ia,iv,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList] + page := htInitPage("F02ABF - All eigenvalues and eigenvectors of real symmetric matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02abfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02abfDefaultSolve (htPage,ia,iv,ifail) == + n := '4 + page := htInitPage('"F02ABF - All eigenvalues and eigenvectors of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "2.3" a13 F)) + (bcStrings (6 "-2.6" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "0.5" a22 F)) + (bcStrings (6 "-1.4" a23 F)) + (bcStrings (6 "-0.7" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.3" a31 F)) + (bcStrings (6 "-1.4" a32 F)) + (bcStrings (6 "0.5" a33 F)) + (bcStrings (6 "0.0" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.6" a41 F)) + (bcStrings (6 "-0.7" a42 F)) + (bcStrings (6 "0.0" a43 F)) + (bcStrings (6 "0.5" a44 F))) + htMakeDoneButton('"Continue",'f02abfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02abfGen htPage == + n := htpProperty(htPage,'n) + -- ia should be = n, unlike the example program + -- where ia = nmax +-- ia := htpProperty(htPage,'ia) +-- iv := htpProperty(htPage,'iv) + ia := n + iv := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + prefix := STRCONC('"f02abf(",matstring,", ",STRINGIMAGE ia,", ") + prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE iv,", ") + linkGen STRCONC(prefix,STRINGIMAGE ifail,")") + +f02adf() == + htInitPage('"F02ADF - All eigenvalues of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02adf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02adf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\blankline ") + (text . "Calculates all the eigenvalues of Ax = \lambda Bx, where ") + (text . "A and B are real symmetric matrices of order n and B is positive-definite ") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrices A and B, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "\newline First dimension of B, {\it ib}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 ib F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02adfSolve) + htShowPage() + +f02adfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + ib := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ib) +-- objValUnwrap htpLabelSpadValue(htPage, 'ib) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02adfDefaultSolve(htPage,ia,ib,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..ib] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02ADF - All eigenvalues of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02adfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02adfDefaultSolve (htPage,ia,ib,ifail) == + n := '4 + page := htInitPage('"F02ADF - All eigenvalues of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "1.5" a12 F)) + (bcStrings (6 "6.6" a13 F)) + (bcStrings (6 "4.8" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" a21 F)) + (bcStrings (6 "6.5" a22 F)) + (bcStrings (6 "16.2" a23 F)) + (bcStrings (6 "8.6" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "6.6" a31 F)) + (bcStrings (6 "16.2" a32 F)) + (bcStrings (6 "37.6" a33 F)) + (bcStrings (6 "9.8" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "4.8" a41 F)) + (bcStrings (6 "8.6" a42 F)) + (bcStrings (6 "9.8" a43 F)) + (bcStrings (6 "-17.1" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it B}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 1 b11 F)) + (bcStrings (6 3 b12 F)) + (bcStrings (6 4 b13 F)) + (bcStrings (6 1 b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 3 b21 F)) + (bcStrings (6 13 b22 F)) + (bcStrings (6 16 b23 F)) + (bcStrings (6 11 b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 4 b31 F)) + (bcStrings (6 16 b32 F)) + (bcStrings (6 24 b33 F)) + (bcStrings (6 18 b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 1 b41 F)) + (bcStrings (6 11 b42 F)) + (bcStrings (6 18 b43 F)) + (bcStrings (6 27 b44 F))) + htMakeDoneButton('"Continue",'f02adfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02adfGen htPage == + n := htpProperty(htPage,'n) +-- ia := htpProperty(htPage,'ia) +-- ib := htpProperty(htPage,'ib) + ia := n + ib := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..ib repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02adf(",STRINGIMAGE ia,", ",STRINGIMAGE ib,", ") + prefix := STRCONC(prefix,STRINGIMAGE n,", ",matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + +f02aef() == + htInitPage('"F02AEF - All eigenvalues and eigenvectors of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02aef} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02aef| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\blankline ") + (text . "Calculates all the eigenvalues and eigenvectors of Ax = ") + (text . "\lambda Bx, where A and B are real symmetric matrices of order ") + (text . "n and B is positive-definite ") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrices A and B, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "\newline First dimension of B, {\it ib}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 ib F)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of V, {\it iv}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 iv PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02aefSolve) + htShowPage() + +f02aefSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + ib := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ib) +-- objValUnwrap htpLabelSpadValue(htPage, 'ib) + iv := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iv) +-- objValUnwrap htpLabelSpadValue(htPage, 'iv) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02aefDefaultSolve(htPage,ia,ib,iv,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..ib] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02AEF - All eigenvalues and eigenvectors of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02aefGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02aefDefaultSolve (htPage,ia,ib,iv,ifail) == + n := '4 + page := htInitPage('"F02AEF - All eigenvalues and eigenvectors of generalized real eigenproblem of the form Ax = \lambda Bx where A and B are symmetric and B is positive definite",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "1.5" a12 F)) + (bcStrings (6 "6.6" a13 F)) + (bcStrings (6 "4.8" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" a21 F)) + (bcStrings (6 "6.5" a22 F)) + (bcStrings (6 "16.2" a23 F)) + (bcStrings (6 "8.6" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "6.6" a31 F)) + (bcStrings (6 "16.2" a32 F)) + (bcStrings (6 "37.6" a33 F)) + (bcStrings (6 "9.8" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "4.8" a41 F)) + (bcStrings (6 "8.6" a42 F)) + (bcStrings (6 "9.8" a43 F)) + (bcStrings (6 "-17.1" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it B}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 1 b11 F)) + (bcStrings (6 3 b12 F)) + (bcStrings (6 4 b13 F)) + (bcStrings (6 1 b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 3 b21 F)) + (bcStrings (6 13 b22 F)) + (bcStrings (6 16 b23 F)) + (bcStrings (6 11 b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 4 b31 F)) + (bcStrings (6 16 b32 F)) + (bcStrings (6 24 b33 F)) + (bcStrings (6 18 b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 1 b41 F)) + (bcStrings (6 11 b42 F)) + (bcStrings (6 18 b43 F)) + (bcStrings (6 27 b44 F))) + htMakeDoneButton('"Continue",'f02aefGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02aefGen htPage == + n := htpProperty(htPage,'n) +-- ia := htpProperty(htPage,'ia) +-- ib := htpProperty(htPage,'ib) +-- iv := htpProperty(htPage,'iv) + ia := n + ib := n + iv := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..ib repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02aef(",STRINGIMAGE ia,", ",STRINGIMAGE ib,", ") + prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE iv,", ") + prefix := STRCONC(prefix,matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + + +f02aff() == + htInitPage('"F02AFF - All eigenvalues of real matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02aff} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02aff| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues of a real unsymmetric matrix ") + (text . "{\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02affSolve) + htShowPage() + +f02affSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02affDefaultSolve(htPage,ia,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList] + page := htInitPage("F02AFF - All eigenvalues of real matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02affGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02affDefaultSolve (htPage,ia,ifail) == + n := '4 + page := htInitPage('"F02AFF - All eigenvalues of real matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" a11 F)) + (bcStrings (6 "0.1" a12 F)) + (bcStrings (6 "4.5" a13 F)) + (bcStrings (6 "-1.5" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-22.5" a21 F)) + (bcStrings (6 "3.5" a22 F)) + (bcStrings (6 "12.5" a23 F)) + (bcStrings (6 "-2.5" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" a31 F)) + (bcStrings (6 "0.3" a32 F)) + (bcStrings (6 "4.5" a33 F)) + (bcStrings (6 "-2.5" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" a41 F)) + (bcStrings (6 "0.1" a42 F)) + (bcStrings (6 "4.5" a43 F)) + (bcStrings (6 "2.5" a44 F))) + htMakeDoneButton('"Continue",'f02affGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02affGen htPage == + n := htpProperty(htPage,'n) + -- ia should be = n, unlike the example program + -- where ia = nmax +-- ia := htpProperty(htPage,'ia) + ia := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + prefix := STRCONC('"f02aff(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ") + prefix := STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")") + linkGen prefix + +f02agf() == + htInitPage('"F02AGF - All eigenvalues and eignevectors of real matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02agf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02agf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues and eigenvectors of a real ") + (text . "unsymmetric matrix {\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of VR, {\it ivr} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 ivr PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of VI, {\it ivi} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ivi PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02agfSolve) + htShowPage() + +f02agfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + ivr := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivr) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivr) + ivi := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivi) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivi) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02agfDefaultSolve(htPage,ia,ivr,ivi,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList] + page := htInitPage("F02AGF - All eigenvalues and eigenvectors of real matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02agfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02agfDefaultSolve (htPage,ia,ivr,ivi,ifail) == + n := '4 + page := htInitPage('"F02AGF - All eigenvalues and eigenvectors of real matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" a11 F)) + (bcStrings (6 "0.1" a12 F)) + (bcStrings (6 "4.5" a13 F)) + (bcStrings (6 "-1.5" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-22.5" a21 F)) + (bcStrings (6 "3.5" a22 F)) + (bcStrings (6 "12.5" a23 F)) + (bcStrings (6 "-2.5" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" a31 F)) + (bcStrings (6 "0.3" a32 F)) + (bcStrings (6 "4.5" a33 F)) + (bcStrings (6 "-2.5" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" a41 F)) + (bcStrings (6 "0.1" a42 F)) + (bcStrings (6 "4.5" a43 F)) + (bcStrings (6 "2.5" a44 F))) + htMakeDoneButton('"Continue",'f02agfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02agfGen htPage == + n := htpProperty(htPage,'n) + -- ia should be = n, unlike the example program + -- where ia = nmax +-- ia := htpProperty(htPage,'ia) +-- ivr := htpProperty(htPage,'ivr) +-- ivi := htpProperty(htPage,'ivi) + ia := n + ivr := n + ivi := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + prefix := STRCONC('"f02agf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ") + prefix := STRCONC(prefix,STRINGIMAGE ivr,", ",STRINGIMAGE ivi,", ") + linkGen STRCONC(prefix,matstring,", ",STRINGIMAGE ifail,")") + +f02ajf() == + htInitPage('"F02AJF - All eigenvalues of complex matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02ajf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02ajf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\blankline ") + (text . "Calculates all the eigenvalues of a complex matrix {\it A} ") + (text . "of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing real parts, ") +-- (text . " {\it iar}: \newline \tab{2} ") +-- (bcStrings (6 4 iar PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing imaginary parts,") +-- (text . " {\it iai}: \newline \tab{2} ") +-- (bcStrings (6 4 iai F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02ajfSolve) + htShowPage() + +f02ajfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + iar := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iar) +-- objValUnwrap htpLabelSpadValue(htPage, 'iar) + iai := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iai) +-- objValUnwrap htpLabelSpadValue(htPage, 'iai) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02ajfDefaultSolve(htPage,iar,iai,ifail) + matList := + "append"/[f(i,n) for i in 1..iar] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..iai] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{}\tab{2}Enter imag values of {\it A}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02AJF - All eigenvalues of complex matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter real values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02ajfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02ajfDefaultSolve (htPage,iar,iai,ifail) == + n := '4 + page := htInitPage('"F02AJF - All eigenvalues of complex matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter real values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "-21.0" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "13.6" a13 F)) + (bcStrings (6 "0.0" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "26.0" a22 F)) + (bcStrings (6 "7.5" a23 F)) + (bcStrings (6 "2.5" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.0" a31 F)) + (bcStrings (6 "1.68" a32 F)) + (bcStrings (6 "4.5" a33 F)) + (bcStrings (6 "1.5" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a41 F)) + (bcStrings (6 "-2.6" a42 F)) + (bcStrings (6 "-2.7" a43 F)) + (bcStrings (6 "2.5" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter imaginary values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "-5.0" b11 F)) + (bcStrings (6 "24.6" b12 F)) + (bcStrings (6 "10.2"b13 F)) + (bcStrings (6 "4.0" b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "22.5" b21 F)) + (bcStrings (6 "-5.0" b22 F)) + (bcStrings (6 "-10.0" b23 F)) + (bcStrings (6 "0.0" b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" b31 F)) + (bcStrings (6 "2.24" b32 F)) + (bcStrings (6 "-5.0" b33 F)) + (bcStrings (6 "2.0" b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" b41 F)) + (bcStrings (6 "0.0" b42 F)) + (bcStrings (6 "3.6" b43 F)) + (bcStrings (6 "-5.0" b44 F))) + htMakeDoneButton('"Continue",'f02ajfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02ajfGen htPage == + n := htpProperty(htPage,'n) +-- iar := htpProperty(htPage,'iar) +-- iai := htpProperty(htPage,'iai) + iar := n + iai := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..iar repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..iai repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02ajf(",STRINGIMAGE n,", ",STRINGIMAGE iar,", ") + prefix := STRCONC(prefix,STRINGIMAGE iai,", ",matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + +f02akf() == + htInitPage('"F02AKF - All eigenvalues and eigenvectors of complex matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02akf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02akf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues and eigenvectors of a complex ") + (text . "matrix {\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing real parts, ") +-- (text . " {\it iar}: \newline \tab{2} ") +-- (bcStrings (6 4 iar PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing imaginary parts,") +-- (text . " {\it iai}: \newline \tab{2} ") +-- (bcStrings (6 4 iai F)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} \newline ") +-- (text . "First dimension of array of real parts of the eigenvectors, ") +-- (text . " {\it ivr}: \newline \tab{2} ") +-- (bcStrings (6 4 ivr PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} \newline ") +-- (text . "First dimension of array of imaginary parts of the eigenvectors,") +-- (text . " {\it ivi}: \newline \tab{2} ") +-- (bcStrings (6 4 ivi PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02akfSolve) + htShowPage() + +f02akfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + iar := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iar) +-- objValUnwrap htpLabelSpadValue(htPage, 'iar) + iai := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iai) +-- objValUnwrap htpLabelSpadValue(htPage, 'iai) + ivr := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivr) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivr) + ivi := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivi) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivi) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02akfDefaultSolve(htPage,iar,iai,ivr,ivi,ifail) + matList := + "append"/[f(i,n) for i in 1..iar] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..iai] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{}\tab{2}Enter imag values of {\it A}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02AKF - All eigenvalues and eigenvectors of complex matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter real values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02akfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02akfDefaultSolve (htPage,iar,iai,ivr,ivi,ifail) == + n := '4 + page := htInitPage('"F02AKF - All eigenvalues and eigenvectors of complex matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter real values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "-21.0" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "13.6" a13 F)) + (bcStrings (6 "0.0" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "26.0" a22 F)) + (bcStrings (6 "7.5" a23 F)) + (bcStrings (6 "2.5" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.0" a31 F)) + (bcStrings (6 "1.68" a32 F)) + (bcStrings (6 "4.5" a33 F)) + (bcStrings (6 "1.5" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a41 F)) + (bcStrings (6 "-2.6" a42 F)) + (bcStrings (6 "-2.7" a43 F)) + (bcStrings (6 "2.5" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter imaginary values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "-5.0" b11 F)) + (bcStrings (6 "24.6" b12 F)) + (bcStrings (6 "10.2"b13 F)) + (bcStrings (6 "4.0" b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "22.5" b21 F)) + (bcStrings (6 "-5.0" b22 F)) + (bcStrings (6 "-10.0" b23 F)) + (bcStrings (6 "0.0" b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.5" b31 F)) + (bcStrings (6 "2.24" b32 F)) + (bcStrings (6 "-5.0" b33 F)) + (bcStrings (6 "2.0" b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.5" b41 F)) + (bcStrings (6 "0.0" b42 F)) + (bcStrings (6 "3.6" b43 F)) + (bcStrings (6 "-5.0" b44 F))) + htMakeDoneButton('"Continue",'f02akfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02akfGen htPage == + n := htpProperty(htPage,'n) +-- iar := htpProperty(htPage,'iar) +-- iai := htpProperty(htPage,'iai) +-- ivr := htpProperty(htPage,'ivr) +-- ivi := htpProperty(htPage,'ivi) + iar := n + iai := n + ivr := n + ivi := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..iar repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..iai repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02akf(",STRINGIMAGE iar,", ",STRINGIMAGE iai,", ") + prefix := STRCONC(prefix,STRINGIMAGE n,", ",STRINGIMAGE ivr,", ") + prefix := STRCONC(prefix,STRINGIMAGE ivi,", ",matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + +f02awf() == + htInitPage('"F02AWF - All eigenvalues of complex Hermitian matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02awf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02awf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\blankline ") + (text . "Calculates all the eigenvalues of a complex Hermitian matrix ") + (text . "{\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of the complex Hermitian matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing real parts, ") +-- (text . " {\it iar}: \newline \tab{2} ") +-- (bcStrings (6 4 iar PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing imaginary parts,") +-- (text . " {\it iai}: \newline \tab{2} ") +-- (bcStrings (6 4 iai F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02awfSolve) + htShowPage() + +f02awfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + iar := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iar) +-- objValUnwrap htpLabelSpadValue(htPage, 'iar) + iai := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iai) +-- objValUnwrap htpLabelSpadValue(htPage, 'iai) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02awfDefaultSolve(htPage,iar,iai,ifail) + matList := + "append"/[f(i,n) for i in 1..iar] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..iai] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{}\tab{2}Enter imaginary values {\it AI}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02AWF - All eigenvalues of complex Hermitian matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter real values of {\it AR}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02awfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02awfDefaultSolve (htPage,iar,iai,ifail) == + n := '4 + page := htInitPage('"F02AWF - All eigenvalues of complex Hermitian matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter real values {\it AR}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "1.84" a13 F)) + (bcStrings (6 "2.08" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "0.5" a22 F)) + (bcStrings (6 "1.12" a23 F)) + (bcStrings (6 "-0.56" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.84" a31 F)) + (bcStrings (6 "1.12" a32 F)) + (bcStrings (6 "0.5" a33 F)) + (bcStrings (6 "0.0" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.08" a41 F)) + (bcStrings (6 "-0.56" a42 F)) + (bcStrings (6 "0.0" a43 F)) + (bcStrings (6 "0.5" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter imaginary values {\it AI}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" b11 F)) + (bcStrings (6 "0.0" b12 F)) + (bcStrings (6 "1.38" b13 F)) + (bcStrings (6 "-1.56" b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" b21 F)) + (bcStrings (6 "0.0" b22 F)) + (bcStrings (6 "0.84" b23 F)) + (bcStrings (6 "0.42" b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-1.38" b31 F)) + (bcStrings (6 "-0.84" b32 F)) + (bcStrings (6 "0.0" b33 F)) + (bcStrings (6 "0.0" b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.56" b41 F)) + (bcStrings (6 "-0.42" b42 F)) + (bcStrings (6 "0.0" b43 F)) + (bcStrings (6 "0.0" b44 F))) + htMakeDoneButton('"Continue",'f02awfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02awfGen htPage == + n := htpProperty(htPage,'n) +-- iar := htpProperty(htPage,'iar) +-- iai := htpProperty(htPage,'iai) + iar := n + iai := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..iar repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..iai repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02awf(",STRINGIMAGE n,", ",STRINGIMAGE iar,", ") + prefix := STRCONC(prefix,STRINGIMAGE iai,", ",matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + +f02axf() == + htInitPage('"F02AXF - All eigenvalues and eigenvectors of complex Hermitian matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02axf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02axf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues and eigenvectors of a complex ") + (text . "Hermitian matrix {\it A} of order {\it n}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing real parts, ") +-- (text . " {\it iar}: \newline \tab{2} ") +-- (bcStrings (6 4 iar PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of array containing imaginary parts,") +-- (text . " {\it iai}: \newline \tab{2} ") +-- (bcStrings (6 4 iai F)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} \newline ") +-- (text . "First dimension of array of real parts of the eigenvectors, ") +-- (text . " {\it ivr}: \newline \tab{2} ") +-- (bcStrings (6 4 ivr PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} \newline ") +-- (text . "First dimension of array of imaginary parts of the eigenvectors,") +-- (text . " {\it ivi}: \newline \tab{2} ") +-- (bcStrings (6 4 ivi PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02axfSolve) + htShowPage() + +f02axfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + iar := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iar) +-- objValUnwrap htpLabelSpadValue(htPage, 'iar) + iai := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iai) +-- objValUnwrap htpLabelSpadValue(htPage, 'iai) + ivr := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivr) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivr) + ivi := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ivi) +-- objValUnwrap htpLabelSpadValue(htPage, 'ivi) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02axfDefaultSolve(htPage,iar,iai,ivr,ivi,ifail) + matList := + "append"/[f(i,n) for i in 1..iar] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..iai] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{}\tab{2}Enter imaginary values of {\it A}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage("F02AXF - All eigenvalues and eigenvectors of complex Hermitian matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter real values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02axfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02axfDefaultSolve (htPage,iar,iai,ivr,ivi,ifail) == + n := '4 + page := htInitPage('"F02AXF - All eigenvalues and eigenvectors of complex Hermitian matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter real values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "1.84" a13 F)) + (bcStrings (6 "2.08" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "0.5" a22 F)) + (bcStrings (6 "1.12" a23 F)) + (bcStrings (6 "-0.56" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.84" a31 F)) + (bcStrings (6 "1.12" a32 F)) + (bcStrings (6 "0.5" a33 F)) + (bcStrings (6 "0.0" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.08" a41 F)) + (bcStrings (6 "-0.56" a42 F)) + (bcStrings (6 "0.0" a43 F)) + (bcStrings (6 "0.5" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter imaginary values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" b11 F)) + (bcStrings (6 "0.0" b12 F)) + (bcStrings (6 "1.38" b13 F)) + (bcStrings (6 "-1.56" b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" b21 F)) + (bcStrings (6 "0.0" b22 F)) + (bcStrings (6 "0.84" b23 F)) + (bcStrings (6 "0.42" b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-1.38" b31 F)) + (bcStrings (6 "-0.84" b32 F)) + (bcStrings (6 "0.0" b33 F)) + (bcStrings (6 "0.0" b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.56" b41 F)) + (bcStrings (6 "-0.42" b42 F)) + (bcStrings (6 "0.0" b43 F)) + (bcStrings (6 "0.0" b44 F))) + htMakeDoneButton('"Continue",'f02axfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'iar,iar) +-- htpSetProperty(page,'iai,iai) +-- htpSetProperty(page,'ivr,ivr) +-- htpSetProperty(page,'ivi,ivi) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02axfGen htPage == + n := htpProperty(htPage,'n) +-- iar := htpProperty(htPage,'iar) +-- iai := htpProperty(htPage,'iai) +-- ivr := htpProperty(htPage,'ivr) +-- ivi := htpProperty(htPage,'ivi) + iar := n + iai := n + ivr := n + ivi := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..iar repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..iai repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02axf(",matstring,", ",STRINGIMAGE iar,", ",bstring) + prefix := STRCONC(prefix,", ",STRINGIMAGE iai,", ",STRINGIMAGE n,", ") + prefix := STRCONC(prefix,STRINGIMAGE ivr,", ",STRINGIMAGE ivi,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + +f02bbf() == + htInitPage('"F02BBF - Selected eigenvalues and eigenvectors of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02bbf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02bbf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates selected eigenvalues and eigenvectors of a real ") + (text . "symmetric matrix {\it A} of order {\it n} by reduction to ") + (text . "tridiagonal form, bisection and inverse iteration, where the ") + (text . "selected eigenvalues lie within a given interval [{\it l,u}].") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrix A, {\it n}: ") + (text . "\tab{32} \menuitemstyle{} \tab{34} ") + (text . "Max number of eigenvectors, {\it m}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) + (text . "\tab{34} ") + (bcStrings (6 3 m PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Lower end-point of interval {\it l}: ") + (text . "\tab{32} \menuitemstyle{} \tab{34} ") + (text . "Upper end-point of interval {\it u}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.0" alb F)) + (text . "\tab{34} ") + (bcStrings (6 "3.0" ub F)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of V, {\it v} ") +-- (text . "\inputbitmap{\htbmdir{}/great=.bitmap} n: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 iv PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02bbfSolve) + htShowPage() + +f02bbfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + alb := htpLabelInputString(htPage,'alb) + ub := htpLabelInputString(htPage,'ub) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + iv := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iv) +-- objValUnwrap htpLabelSpadValue(htPage, 'iv) + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02bbfDefaultSolve(htPage,m,alb,ub,ia,iv,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList] + page := htInitPage('"F02BBF - Selected eigenvalues and eigenvectors of real symmetric matrix (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02bbfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'alb,alb) + htpSetProperty(page,'ub,ub) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02bbfDefaultSolve (htPage,m,alb,ub,ia,iv,ifail) == + n := '4 + page := htInitPage('"F02BBF - Selected eigenvalues and eigenvectors of real symmetric matrix (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "0.5" a11 F)) + (bcStrings (6 "0.0" a12 F)) + (bcStrings (6 "2.3" a13 F)) + (bcStrings (6 "-2.6" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "0.0" a21 F)) + (bcStrings (6 "0.5" a22 F)) + (bcStrings (6 "-1.4" a23 F)) + (bcStrings (6 "-0.7" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.3" a31 F)) + (bcStrings (6 "-1.4" a32 F)) + (bcStrings (6 "0.5" a33 F)) + (bcStrings (6 "0.0" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "-2.6" a41 F)) + (bcStrings (6 "-0.7" a42 F)) + (bcStrings (6 "0.0" a43 F)) + (bcStrings (6 "0.5" a44 F))) + htMakeDoneButton('"Continue",'f02bbfGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'alb,alb) + htpSetProperty(page,'ub,ub) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02bbfGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + alb := htpProperty(htPage,'alb) + ub := htpProperty(htPage,'ub) + -- ia should be = n, unlike the example program + -- where ia = nmax +-- ia := htpProperty(htPage,'ia) +-- iv := htpProperty(htPage,'iv) + ia := n + iv := n + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + prefix := STRCONC('"f02bbf(",STRINGIMAGE ia,", ",STRINGIMAGE n,", ") + prefix := STRCONC(prefix,alb,", ",ub,", ",STRINGIMAGE m,", ",STRINGIMAGE iv) + prefix := STRCONC(prefix,", ",matstring,", ",STRINGIMAGE ifail,")") + linkGen prefix + +f02bjf() == + htInitPage('"F02BJF - All eigenvalues and optionally eigenvectors of generalized eigenproblem by {\it QZ} algorithm, real matrices (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02bjf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02bjf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Calculates all the eigenvalues and, if required, all the ") + (text . "eigenvectors of Ax = \lambda Bx, where A and B are real ") + (text . "symmetric matrices of order n and B using the QZ algorithm. ") + (text . "The routine does not actually produce the eigenvalues ") + (text . "\inputbitmap{\htbmdir{}/lamdaj.bitmap}, but instead returns ") + (text . "\inputbitmap{\htbmdir{}/alphaj.bitmap} and ") + (text . "\inputbitmap{\htbmdir{}/betaj.bitmap} ") + (text . "such that \inputbitmap{\htbmdir{}/lamdaj.bitmap} = ") + (text . "\inputbitmap{\htbmdir{}/alphaj.bitmap} / ") + (text . "\inputbitmap{\htbmdir{}/betaj.bitmap}, ") + (text . "for j = 1,2,...,n. ") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Order of matrices A and B, {\it n}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 4 n PI)) +-- (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it ia}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "\newline First dimension of B, {\it ib}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 4 ia PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 4 ib F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of V, {\it iv}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") + (text . "\newline Tolerance, {\it eps}: ") + (text . "\newline \tab{2} ") +-- (bcStrings (6 4 iv PI)) +-- (text . "\tab{34} ") + (bcStrings (6 "1.0e-4" eps F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Are eigenvectors required: ") + (radioButtons matv + ("" " true" true) + ("" " false" false)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02bjfSolve) + htShowPage() + +f02bjfSolve htPage == + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + ia := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ia) +-- objValUnwrap htpLabelSpadValue(htPage, 'ia) + ib := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ib) +-- objValUnwrap htpLabelSpadValue(htPage, 'ib) + iv := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'iv) +-- objValUnwrap htpLabelSpadValue(htPage, 'iv) + eps := htpLabelInputString(htPage,'eps) + bool := htpButtonValue(htPage,'matv) + matv := + bool = 'true => '"true" + '"false" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + n = '4 => f02bjfDefaultSolve(htPage,ia,ib,iv,eps,matv,ifail) + matList := + "append"/[f(i,n) for i in 1..ia] where f(i,n) == + labelList := + "append"/[g(i,j) for j in 1..n] where g(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bmatList := + "append"/[h(k,n) for k in 1..ib] where h(k,n) == + bList := + "append"/[l(k,p) for p in 1..n] where l(k,p) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE k,STRINGIMAGE p) + [['bcStrings,[6, "0.0", bnam, 'F]]] + prefix := ('"\newline \tab{2} ") + bList := [['text,:prefix],:bList] + start := ('"\blankline \menuitemstyle{} \tab{2} Enter values of {\it b}:") + bmatList := [['text,:start],:bmatList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bmatList] + page := htInitPage('"F02BJF - All eigenvalues and optionally eigenvectors of generalized eigenproblem by {\it QZ} algorithm, real matrices (Black box)",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02bjfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'eps,eps) + htpSetProperty(page,'matv,matv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + + +f02bjfDefaultSolve (htPage,ia,ib,iv,eps,matv,ifail) == + n := '4 + page := htInitPage('"F02BJF - All eigenvalues and optionally eigenvectors of generalized eigenproblem by {\it QZ} algorithm, real matrices (Black box)",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "3.9" a11 F)) + (bcStrings (6 "12.5" a12 F)) + (bcStrings (6 "-34.5" a13 F)) + (bcStrings (6 "-0.5" a14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "4.3" a21 F)) + (bcStrings (6 "21.5" a22 F)) + (bcStrings (6 "-47.5" a23 F)) + (bcStrings (6 "7.5" a24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "4.3" a31 F)) + (bcStrings (6 "21.5" a32 F)) + (bcStrings (6 "-43.5" a33 F)) + (bcStrings (6 "3.5" a34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "4.4" a41 F)) + (bcStrings (6 "26.0" a42 F)) + (bcStrings (6 "-46.0" a43 F)) + (bcStrings (6 "6.0" a44 F)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it B}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 1 b11 F)) + (bcStrings (6 2 b12 F)) + (bcStrings (6 "-3" b13 F)) + (bcStrings (6 1 b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 1 b21 F)) + (bcStrings (6 3 b22 F)) + (bcStrings (6 "-5" b23 F)) + (bcStrings (6 4b24 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 1 b31 F)) + (bcStrings (6 3 b32 F)) + (bcStrings (6 -4 b33 F)) + (bcStrings (6 3 b34 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 1 b41 F)) + (bcStrings (6 3 b42 F)) + (bcStrings (6 -4 b43 F)) + (bcStrings (6 4 b44 F))) + htMakeDoneButton('"Continue",'f02bjfGen) + htpSetProperty(page,'n,n) +-- htpSetProperty(page,'ia,ia) +-- htpSetProperty(page,'ib,ib) +-- htpSetProperty(page,'iv,iv) + htpSetProperty(page,'eps,eps) + htpSetProperty(page,'matv,matv) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02bjfGen htPage == + n := htpProperty(htPage,'n) +-- ia := htpProperty(htPage,'ia) +-- ib := htpProperty(htPage,'ib) +-- iv := htpProperty(htPage,'iv) + ia := n + ib := n + iv := n + eps := htpProperty(htPage,'eps) + matv := htpProperty(htPage,'matv) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..ia repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + for i in 1..ib repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02bjf(",STRINGIMAGE n,", ",STRINGIMAGE ia,", ") + prefix := STRCONC(prefix,STRINGIMAGE ib,", ",eps,", ",matv,", ") + prefix := STRCONC(prefix,STRINGIMAGE iv,", ",matstring,", ",bstring,", ") + prefix := STRCONC(prefix,STRINGIMAGE ifail,")") + linkGen prefix + + +f02fjf() == + htInitPage('"F02FJF - Selected eigenvalues and eigenvectors of sparse symmetric eigenproblem",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02fjf} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02fjf| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Finds the {\it m} eigenvalues of largest absolute value and the ") + (text . "corresponding eigenvectors for the eigenvalue problem ") + (text . "{\it Cx = \htbitmap{lambda}x}, where {\it C} is a real matrix ") + (text . "of order {\it n} such that {\it BC = \htbitmap{ctb}} for a ") + (text . "given positive-definite matrix {\it B}. ") + (text . "\blankline ") + (text . "\newline ") + (text . "Read the input file to see the example program. ") + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} ") + (text . "\spadcommand{)read f02fjf \bound{s0}} ")) + htShowPage() + + +f02wef() == + htInitPage('"F02WEF - SVD of real matrix",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02wef} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02wef| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Returns all or part of the singular value decomposition of a ") + (text . "real {\it m} by {\it n} matrix {\it A}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Rows of matrix A, {\it m}: ") + (text . "\tab{32} \menuitemstyle{} \tab{34} ") + (text . "Columns of matrix A, {\it n}: \newline \tab{2} ") + (bcStrings (6 5 m PI)) + (text . "\tab{34} ") + (bcStrings (6 3 n PI)) + (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it lda}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of B, {\it ldb}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 5 lda PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 5 ldb PI)) +-- (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Number of columns of matrix B, {\it ncolb}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 1 ncolb PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Is the matrix {\it Q} required, {\it wantq}:") + (radioButtons wantq + (" " " true" qtrue) + (" " " false" qfalse)) + (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of {\it Q}, {\it ldq}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of {\it PT}, {\it ldpt}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 1 ldq PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 5 ldpt PI)) +-- (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Is the matrix {\it PT} required, {\it wantp}:") + (radioButtons wantp + (" " " true" ptrue) + (" " " false" pfalse)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02wefSolve) + htShowPage() + +f02wefSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + lda := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'lda) +-- objValUnwrap htpLabelSpadValue(htPage, 'lda) + ldb := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldb) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldb) + ncolb := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ncolb) + objValUnwrap htpLabelSpadValue(htPage, 'ncolb) + operation := htpButtonValue(htPage,'wantq) + wantq := + operation = 'qtrue => '"true" + '"false" + ldq := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldq) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldq) + ldpt := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldpt) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldpt) + elements := htpButtonValue(htPage,'wantp) + wantp := + elements = 'ptrue => '"true" + '"false" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + ((m = '5 and n = '3) and ncolb = '1) => + f02wefDefaultSolve(htPage,lda,ldb,wantq,ldq,ldpt,wantp,ifail) + matList := + "append"/[fa(i,n) for i in 1..lda] where fa(i,n) == + labelList := + "append"/[ga(i,j) for j in 1..n] where ga(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[10, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bList := + "append"/[fb(i,ncolb) for i in 1..ldb] where fb(i,ncolb) == + pre := ("\newline \tab{2} ") + labelList := + "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[6, "0.0", bnam, 'F]]] + labelList := [['text,:pre],:labelList] + prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of {\it B}: ") + bList := [['text,:prefix],:bList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bList] + page := htInitPage('"F02WEF - SVD of real matrix",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02wefGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) +-- htpSetProperty(page,'lda,lda) +-- htpSetProperty(page,'ldb,ldb) + htpSetProperty(page,'ncolb,ncolb) + htpSetProperty(page,'wantq,wantq) +-- htpSetProperty(page,'ldq,ldq) +-- htpSetProperty(page,'ldpt,ldpt) + htpSetProperty(page,'wantp,wantp) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02wefDefaultSolve(htPage,lda,ldb,wantq,ldq,ldpt,wantp,ifail) == + n := '3 + m := '5 + ncolb := '1 + page := htInitPage('"F02WEF - SVD of real matrix",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "2.0" a11 F)) + (bcStrings (6 "2.5" a12 F)) + (bcStrings (6 "2.5" a13 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.0" a21 F)) + (bcStrings (6 "2.5" a22 F)) + (bcStrings (6 "2.5" a23 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.6" a31 F)) + (bcStrings (6 "-0.4" a32 F)) + (bcStrings (6 "2.8" a33 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "2.0" a41 F)) + (bcStrings (6 "-0.5" a42 F)) + (bcStrings (6 "0.5" a43 F)) + (text . "\newline \tab{2} ") + (bcStrings (6 "1.2" a51 F)) + (bcStrings (6 "-0.3" a52 F)) + (bcStrings (6 "-2.9" a53 F)) + (text . "\blankline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it B}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 "1.1" b11 F)) + (bcStrings (6 "0.9" b12 F)) + (bcStrings (6 "0.6" b13 F)) + (bcStrings (6 "0.0" b14 F)) + (bcStrings (6 "-0.8" b15 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'f02wefGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'lda,lda) + htpSetProperty(page,'ldb,ldb) + htpSetProperty(page,'ncolb,ncolb) + htpSetProperty(page,'wantq,wantq) + htpSetProperty(page,'ldq,ldq) + htpSetProperty(page,'ldpt,ldpt) + htpSetProperty(page,'wantp,wantp) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02wefGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + lda := htpProperty(htPage,'lda) + ldb := htpProperty(htPage,'ldb) + ncolb := htpProperty(htPage,'ncolb) + wantq := htpProperty(htPage,'wantq) + ldq := htpProperty(htPage,'ldq) + ldpt := htpProperty(htPage,'ldpt) + wantp := htpProperty(htPage,'wantp) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..lda repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + for i in 1..ldb repeat + for j in 1..ncolb repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02wef(",STRINGIMAGE m,",",STRINGIMAGE n,",") + prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE ncolb,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",wantq,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldq,", ",wantp,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldpt,", ",matstring,", ",bstring," ,") + linkGen STRCONC(prefix,STRINGIMAGE ifail,")") + +f02xef() == + htInitPage('"F02XEF - SVD of complex matrix",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain PI (PositiveInteger))) + (text . "\windowlink{Manual Page}{manpageXXf02xef} for this routine ") + (text . "\newline ") + (text . "\lispwindowlink{Browser operation page}{(|oPageFrom| '|f02xef| '|NagEigenPackage|)} for this routine") + (text . "\newline \horizontalline ") + (text . "\newline ") + (text . "Returns all or part of the singular value decomposition of a ") + (text . "complex {\it m} by {\it n} matrix {\it A}.") + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline Rows of matrix A, {\it m}: ") + (text . "\tab{32} \menuitemstyle{} \tab{34} ") + (text . "Columns of matrix A, {\it n}: \newline \tab{2} ") + (bcStrings (6 5 m PI)) + (text . "\tab{34} ") + (bcStrings (6 3 n PI)) + (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of A, {\it lda}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of B, {\it ldb}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 5 lda PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 5 ldb PI)) +-- (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Number of columns of matrix B, {\it ncolb}: ") + (text . "\newline \tab{2} ") + (bcStrings (6 1 ncolb PI)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Is the matrix {\it Q} required, {\it wantq}:") + (radioButtons wantq + (" " " true" qtrue) + (" " " false" qfalse)) + (text . "\blankline ") +-- (text . "\newline ") +-- (text . "\menuitemstyle{} \tab{2} ") +-- (text . "\newline First dimension of {\it Q}, {\it ldq}: ") +-- (text . "\tab{32} \menuitemstyle{} \tab{34} ") +-- (text . "First dimension of {\it PH}, {\it ldph}: ") +-- (text . "\newline \tab{2} ") +-- (bcStrings (6 5 ldq PI)) +-- (text . "\tab{34} ") +-- (bcStrings (6 3 ldph PI)) +-- (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Is the matrix {\it PH} required, {\it wantp}:") + (radioButtons wantp + (" " " true" ptrue) + (" " " false" pfalse)) + (text . "\blankline ") + (text . "\newline ") + (text . "\menuitemstyle{} \tab{2} ") + (text . "\newline \tab{2} ") + (text . "Ifail value: ") + (radioButtons ifail + ("" " -1, Print error messages" minusOne) + ("" " 1, Suppress error messages" one))) + htMakeDoneButton('"Continue", 'f02xefSolve) + htShowPage() + +f02xefSolve htPage == + m := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'm) + objValUnwrap htpLabelSpadValue(htPage, 'm) + n := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'n) + objValUnwrap htpLabelSpadValue(htPage, 'n) + lda := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'lda) +-- objValUnwrap htpLabelSpadValue(htPage, 'lda) + ldb := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldb) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldb) + ncolb := + $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ncolb) + objValUnwrap htpLabelSpadValue(htPage, 'ncolb) + operation := htpButtonValue(htPage,'wantq) + wantq := + operation = 'qtrue => '"true" + '"false" + ldq := m +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldq) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldq) + ldph := n +-- $bcParseOnly => PARSE_-INTEGER htpLabelInputString(htPage, 'ldph) +-- objValUnwrap htpLabelSpadValue(htPage, 'ldph) + elements := htpButtonValue(htPage,'wantp) + wantp := + elements = 'ptrue => '"true" + '"false" + error := htpButtonValue(htPage,'ifail) + ifail := + error = 'one => '1 + '-1 + ((m = '5 and n = '3) and ncolb = '1) => + f02xefDefaultSolve(htPage,lda,ldb,wantq,ldq,ldph,wantp,ifail) + matList := + "append"/[fa(i,n) for i in 1..lda] where fa(i,n) == + labelList := + "append"/[ga(i,j) for j in 1..n] where ga(i,j) == + anam := INTERN STRCONC ('"a",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[15, "0.0", anam, 'F]]] + prefix := ('"\newline \tab{2} ") + labelList := [['text,:prefix],:labelList] + bList := + "append"/[fb(i,ncolb) for i in 1..ldb] where fb(i,ncolb) == + pre := ("\newline \tab{2} ") + labelList := + "append"/[gb(i,j) for j in 1..ncolb] where gb(i,j) == + bnam := INTERN STRCONC ('"b",STRINGIMAGE i, STRINGIMAGE j) + [['bcStrings,[15, "0.0", bnam, 'F]]] + labelList := [['text,:pre],:labelList] + prefix := ("\blankline \menuitemstyle{}\tab{2} Enter values of {\it B}: ") + bList := [['text,:prefix],:bList] + equationPart := [ + '(domainConditions + (isDomain P (Polynomial $EmptyMode)) + (isDomain S (String)) + (isDomain F (Float)) + (isDomain PI (PositiveInteger))), + :matList,:bList] + page := htInitPage('"F02XEF - SVD of complex matrix",nil) + htSay '"\newline \menuitemstyle{}\tab{2} Enter values of {\it A}: " + htSay '"\newline \tab{2} " + htMakePage equationPart + htSay '"\blankline " + htMakeDoneButton('"Continue",'f02xefGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'lda,lda) + htpSetProperty(page,'ldb,ldb) + htpSetProperty(page,'ncolb,ncolb) + htpSetProperty(page,'wantq,wantq) + htpSetProperty(page,'ldq,ldq) + htpSetProperty(page,'ldph,ldph) + htpSetProperty(page,'wantp,wantp) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02xefDefaultSolve(htPage,lda,ldb,wantq,ldq,ldph,wantp,ifail) == + n := '3 + m := '5 + ncolb := '1 + page := htInitPage('"F02XEF - SVD of complex matrix",nil) + htMakePage '( + (domainConditions + (isDomain F (Float)) + (isDomain I (Integer))) + (text . "\newline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it A}: ") + (text . "\newline \tab{2} ") + (bcStrings (15 "0.5*%i" a11 F)) + (bcStrings (15 "-0.5 + 1.5*%i" a12 F)) + (bcStrings (15 "-1 + 1*%i" a13 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.4 + 0.3*%i" a21 F)) + (bcStrings (15 "0.9 + 1.3*%i" a22 F)) + (bcStrings (15 "0.2 + 1.4*%i" a23 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.4" a31 F)) + (bcStrings (15 "-0.4 + 0.4*%i" a32 F)) + (bcStrings (15 "1.8" a33 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.3 - 0.4*%i" a41 F)) + (bcStrings (15 "0.1 + 0.7*%i" a42 F)) + (bcStrings (15 "0.0" a43 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "-0.3*%i" a51 F)) + (bcStrings (15 "0.3 + 0.3*%i" a52 F)) + (bcStrings (15 "2.4*%i" a53 F)) + (text . "\blankline ") + (text . "\menuitemstyle{}\tab{2} Enter values of {\it B}: ") + (text . "\newline \tab{2} ") + (bcStrings (15 "-0.55+1.05*%i" b11 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.49+0.93*%i" b12 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.56-0.16*%i" b13 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "0.39+0.23*%i" b14 F)) + (text . "\newline \tab{2} ") + (bcStrings (15 "1.13+0.83*%i" b15 F)) + (text . "\blankline ")) + htMakeDoneButton('"Continue",'f02xefGen) + htpSetProperty(page,'n,n) + htpSetProperty(page,'m,m) + htpSetProperty(page,'lda,lda) + htpSetProperty(page,'ldb,ldb) + htpSetProperty(page,'ncolb,ncolb) + htpSetProperty(page,'wantq,wantq) + htpSetProperty(page,'ldq,ldq) + htpSetProperty(page,'ldph,ldph) + htpSetProperty(page,'wantp,wantp) + htpSetProperty(page,'ifail,ifail) + htpSetProperty(page,'inputArea, htpInputAreaAlist htPage) + htShowPage() + +f02xefGen htPage == + n := htpProperty(htPage,'n) + m := htpProperty(htPage,'m) + lda := htpProperty(htPage,'lda) + ldb := htpProperty(htPage,'ldb) + ncolb := htpProperty(htPage,'ncolb) + wantq := htpProperty(htPage,'wantq) + ldq := htpProperty(htPage,'ldq) + ldph := htpProperty(htPage,'ldph) + wantp := htpProperty(htPage,'wantp) + ifail := htpProperty(htPage,'ifail) + alist := htpInputAreaAlist htPage + y := alist + y := REVERSE y + for i in 1..lda repeat + for j in 1..n repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + matform := [:matform,rowList] + rowList := [] + matstring := bcwords2liststring [bcwords2liststring x for x in matform] + for i in 1..ldb repeat + for j in 1..ncolb repeat + elm := STRCONC((first y).1," ") + rowList := [:rowList,elm] + y := rest y + bform := [:bform,rowList] + rowList := [] + bstring := bcwords2liststring [bcwords2liststring x for x in bform] + prefix := STRCONC('"f02xef(",STRINGIMAGE m,",",STRINGIMAGE n,",") + prefix := STRCONC(prefix,STRINGIMAGE lda,", ",STRINGIMAGE ncolb,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldb,", ",wantq,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldq,", ",wantp,", ") + prefix := STRCONC(prefix,STRINGIMAGE ldph,", ",matstring,", ",bstring," ,") + linkGen STRCONC(prefix,STRINGIMAGE ifail,")") + + -- cgit v1.2.3