diff options
Diffstat (limited to 'src/interp/nag-f02.boot')
-rw-r--r-- | src/interp/nag-f02.boot | 2733 |
1 files changed, 0 insertions, 2733 deletions
diff --git a/src/interp/nag-f02.boot b/src/interp/nag-f02.boot deleted file mode 100644 index d532b389..00000000 --- a/src/interp/nag-f02.boot +++ /dev/null @@ -1,2733 +0,0 @@ --- 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. - - -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,")") - - |