NUMAL Section 3.3.1.2.1
BEGIN SECTION : 3.3.1.2.1 (July, 1974)
AUTHORS: T.J. DEKKER, W. HOFFMANN.
CONTRIBUTORS: W. HOFFMANN, S.P.N. VAN KAMPEN.
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 731115.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS FIVE PROCEDURES:
A) REAVALQRI CALCULATES THE EIGENVALUES OF A REAL UPPER-HESSEN-
BERG MATRIX, PROVIDED THAT ALL EIGENVALUES ARE REAL, BY MEANS OF
SINGLE QR ITERATION;
B) REAVECHES CALCULATES ONE EIGENVECTOR CORRESPONDING TO A GIVEN
REAL EIGENVALUE OF A REAL UPPER-HESSENBERG MATRIX BY MEANS OF
INVERSE ITERATION;
C) REAQRI CALCULATES THE EIGENVALUES AND EIGENVECTORS OF A REAL
UPPER-HESSENBERG MATRIX, PROVIDED THAT ALL EIGENVALUES ARE REAL,
BY MEANS OF SINGLE QR ITERATION;
D) COMVALQRI CALCULATES THE REAL AND COMPLEX EIGENVALUES OF A REAL
UPPER-HESSENBERG MATRIX BY MEANS OF DOUBLE QR ITERATION;
E) COMVECHES CALCULATES ONE EIGENVECTOR CORRESPONDING TO A GIVEN
COMPLEX EIGENVALUE OF A REAL UPPER-HESSENBERG MATRIX BY MEANS OF
INVERSE ITERATION.
KEYWORDS:
EIGENVALUE,
EIGENVECTOR,
UPPER-HESSENBERG MATRIX,
QR ITERATION,
INVERSE ITERATION.
SUBSECTION: REAVALQRI.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"INTEGER" "PROCEDURE" REAVALQRI(A, N, EM, VAL); "VALUE" N;
"INTEGER" N; "ARRAY" A, EM, VAL;
"CODE" 34180;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE ELEMENTS OF THE REAL UPPER-HESSENBERG MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE AND THE FIRST
SUBDIAGONAL OF ARRAY A;
EXIT: THE HESSENBERG PART OF ARRAY A IS ALTERED;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE GIVEN MATRIX;
EM: <ARRAY IDENTIFIER>;
"ARRAY" EM[0:5];
ENTRY: EM[0], THE MACHINE PRECISION;
EM[1], A NORM OF THE GIVEN MATRIX;
EM[2], THE RELATIVE TOLERANCE USED FOR THE QR
ITERATION;
IF THE ABSOLUTE VALUE OF SOME SUBDIAGONAL
ELEMENT IS SMALLER THAN EM[1] * EM[2], THEN
THIS ELEMENT IS NEGLECTED AND THE MATRIX IS
PARTITIONED;
EM[4], THE MAXIMUM ALLOWED NUMBER OF ITERATIONS;
FOR THE CD CYBER 73-28 SUITABLE VALUES OF THE
DATA TO BE GIVEN IN EM ARE:
EM[0] = "-14,
EM[2] > EM[0] (E.G. EM[2] = "-13),
EM[4] = 10 * N;
EXIT: EM[3], THE MAXIMUM ABSOLUTE VALUE OF THE SUBDIAGONAL
ELEMENTS NEGLECTED;
EM[5], THE NUMBER OF QR ITERATIONS PERFORMED;
IF THE ITERATION PROCESS IS NOT COMPLETED
WITHIN EM[4] ITERATIONS, THE VALUE EM[4] + 1
IS DELIVERED AND IN THIS CASE ONLY THE LAST
N - K ELEMENTS OF VAL ARE APPROXIMATE EIGEN-
VALUES OF THE GIVEN MATRIX, WHERE K IS
DELIVERED IN REAVALQRI;
VAL: <ARRAY IDENTIFIER>;
"ARRAY" VAL[1:N];
THE EIGENVALUES OF THE GIVEN MATRIX ARE DELIVERED IN VAL.
MOREOVER:
REAVALQRI DELIVERS 0, PROVIDED THAT THE PROCESS IS COMPLETED WITHIN
EM[4] ITERATIONS; OTHERWISE REAVALQRI DELIVERS THE NUMBER OF EIGEN-
VALUES NOT CALCULATED.
PROCEDURES USED:
ROTCOL = CP34040,
ROTROW = CP34041.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE METHOD USED IN THE PROCEDURE REAVALQRI IS THE SINGLE QR
ITERATION OF FRANCIS (SEE REF[1], P. 54, REF[2] P. 515 - 543 AND
REF[3]). THE EIGENVALUES OF A REAL UPPER-HESSENBERG MATRIX ARE
CALCULATED, PROVIDED THAT THE MATRIX HAS REAL EIGENVALUES ONLY.
REFERENCES:
[1]. T.J. DEKKER AND W. HOFFMANN.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 2.
MC TRACT 23, 1968, MATH. CENTR., AMSTERDAM.
[2]. J.H. WILKINSON.
THE ALGEBRAIC EIGENVALUE PROBLEM.
CLARENDON PRESS, OXFORD, 1965.
[3]. J.G. FRANCIS.
THE QR TRANSFORMATION, PARTS 1 AND 2.
COMP. J. 4 (1961), 265 - 271 AND 332 - 345.
EXAMPLE OF USE:
THE PROCEDURE REAVALQRI IS USED IN REAEIGVAL, SECTION 3.3.1.2.2.
SUBSECTION: REAVECHES.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" REAVECHES(A, N, LAMBDA, EM, V); "VALUE" N, LAMBDA;
"INTEGER" N; "REAL" LAMBDA; "ARRAY" A, EM, V;
"CODE" 34181;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE ELEMENTS OF THE REAL UPPER-HESSENBERG MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE AND THE FIRST
SUBDIAGONAL OF ARRAY A;
EXIT: THE HESSENBERG PART OF ARRAY A IS ALTERED;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE GIVEN MATRIX;
LAMBDA: <ARITHMETIC EXPRESSION>;
THE GIVEN REAL EIGENVALUE OF THE UPPER-HESSENBERG MATRIX;
EM: <ARRAY IDENTIFIER>;
"ARRAY" EM[0:9];
ENTRY: EM[0], THE MACHINE PRECISION;
EM[1], A NORM OF THE GIVEN MATRIX;
EM[6], THE TOLERANCE USED FOR THE EIGENVECTOR; THE
INVERSE ITERATION ENDS IF THE EUCLIDIAN
NORM OF THE RESIDUE VECTOR IS SMALLER THAN
EM[1] * EM[6];
EM[8], THE MAXIMUM ALLOWED NUMBER OF ITERATIONS;
FOR THE CD CYBER 73-28 SUITABLE VALUES OF THE
DATA TO BE GIVEN IN EM ARE:
EM[0] = "-14,
EM[6] = "-10,
EM[8] = 5;
EXIT: EM[7], THE EUCLIDIAN NORM OF THE RESIDUE VECTOR OF
THE CALCULATED EIGENVECTOR;
EM[9], THE NUMBER OF INVERSE ITERATIONS PERFORMED;
IF EM[7] REMAINS LARGER THAN EM[1] * EM[6]
DURING EM[8] ITERATIONS, THE VALUE EM[8] + 1
IS DELIVERED;
V: <ARRAY IDENTIFIER>;
"ARRAY" V[1:N];
THE CALCULATED EIGENVECTOR IS DELIVERED IN V.
PROCEDURES USED:
VECVEC = CP34010,
MATVEC = CP34011.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N SQUARED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE REAVECHES CALCULATES AN EIGENVECTOR CORRESPONDING TO
A GIVEN APPROXIMATE REAL EIGENVALUE OF A REAL UPPER-HESSENBERG
MATRIX, BY MEANS OF INVERSE ITERATION (SEE REF[1], P. 55, REF[2],
P. 619 - 629 AND REF[3]).
REFERENCES:
[1]. T.J. DEKKER AND W. HOFFMANN.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 2.
MC TRACT 23, 1968, MATH. CENTR., AMSTERDAM.
[2]. J.H. WILKINSON.
THE ALGEBRAIC EIGENVALUE PROBLEM.
CLARENDON PRESS, OXFORD, 1965.
[3]. J.M. VARAH.
EIGENVECTORS OF A REAL MATRIX BY INVERSE ITERATION.
STANFORD UNIVERSITY, TECH. REP. NO. CS 34, 1966.
EXAMPLE OF USE:
THE PROCEDURE REAVECHES IS USED IN REAEIG1, SECTION 3.3.1.2.2.
SUBSECTION: REAQRI.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"INTEGER" "PROCEDURE" REAQRI(A, N, EM, VAL, VEC); "VALUE" N;
"INTEGER" N; "ARRAY" A, EM, VAL, VEC;
"CODE" 34186;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE ELEMENTS OF THE REAL UPPER-HESSENBERG MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE AND THE FIRST
SUBDIAGONAL OF ARRAY A;
EXIT: THE HESSENBERG PART OF ARRAY A IS ALTERED;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE GIVEN MATRIX;
EM: <ARRAY IDENTIFIER>;
"ARRAY" EM[0:5];
ENTRY: EM[0], THE MACHINE PRECISION;
EM[1], A NORM OF THE GIVEN MATRIX;
EM[2], THE RELATIVE TOLERANCE USED FOR THE QR
ITERATION;
IF THE ABSOLUTE VALUE OF SOME SUBDIAGONAL
ELEMENT IS SMALLER THAN EM[1] * EM[2], THEN
THIS ELEMENT IS NEGLECTED AND THE MATRIX IS
PARTITIONED;
EM[4], THE MAXIMUM ALLOWED NUMBER OF ITERATIONS;
FOR THE CD CYBER 73-28 SUITABLE VALUES OF THE
DATA TO BE GIVEN IN EM ARE:
EM[0] = "-14,
EM[2] > EM[0] (E.G. EM[2] = "-13),
EM[4] = 10 * N;
EXIT: EM[3], THE MAXIMUM ABSOLUTE VALUE OF THE SUBDIAGONAL
ELEMENTS NEGLECTED;
EM[5], THE NUMBER OF QR ITERATIONS PERFORMED;
IF THE ITERATION PROCESS IS NOT COMPLETED
WITHIN EM[4] ITERATIONS, THE VALUE EM[4] + 1
IS DELIVERED; IN THIS CASE ONLY THE LAST
N - K ELEMENTS OF VAL AND THE LAST N - K
COLUMNS OF VEC ARE APPROXIMATED EIGENVALUES
AND EIGENVECTORS OF THE GIVEN MATRIX, WHERE K
IS DELIVERED IN REAQRI;
VAL: <ARRAY IDENTIFIER>;
"ARRAY" VAL[1:N];
THE EIGENVALUES OF THE GIVEN MATRIX ARE DELIVERED IN VAL;
VEC: <ARRAY IDENTIFIER>;
"ARRAY" VEC[1:N,1:N];
THE CALCULATED EIGENVECTORS, CORRESPONDING TO THE EIGEN-
VALUES IN ARRAY VAL[1:N], ARE DELIVERED IN THE COLUMNS OF
ARRAY VEC.
MOREOVER:
REAQRI DELIVERS 0, PROVIDED THAT THE PROCESS IS COMPLETED WITHIN
EM[4] ITERATIONS; OTHERWISE REAQRI DELIVERS THE NUMBER OF EIGEN-
VALUES AND EIGENVECTORS NOT CALCULATED.
PROCEDURES USED:
MATVEC = CP34011,
ROTCOL = CP34040,
ROTROW = CP34041.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE REAQRI CALCULATES THE EIGENVALUES OF AN UPPER-
HESSENBERG MATRIX BY MEANS OF SINGLE QR ITERATION (SEE METHOD
AND PERFORMANCE OF REAVALQRI, THIS SECTION).
THE EIGENVECTORS ARE CALCULATED BY A DIRECT METHOD (SEE REF[1],
P. 55-56), IN CONTRAST WITH REAVECHES WHICH USES INVERSE ITERATION.
IF THE HESSENBERG MATRIX IS NOT TOO ILL-CONDITIONED WITH RESPECT
TO ITS EIGENVALUE PROBLEM, THEN THIS METHOD YIELDS NUMERICALLY
INDEPENDENT EIGENVECTORS AND IS COMPETITIVE WITH INVERSE ITERATION
AS TO ACCURACY AND COMPUTATION TIME.
IF THE QR ITERATION PROCESS IS NOT COMPLETED WITHIN THE GIVEN
NUMBER OF ITERATIONS, NOT ALL EIGENVALUES AND EIGENVECTORS ARE
DELIVERED.
THE PROCEDURE REAQRI SHOULD BE USED ONLY IF ALL EIGENVALUES ARE
REAL.
REFERENCES:
[1]. T.J. DEKKER AND W. HOFFMANN.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 2.
MC TRACT 23, 1968, MATH. CENTR., AMSTERDAM.
EXAMPLE OF USE:
THE PROCEDURE REAQRI IS USED IN REAEIG3, SECTION 3.3.1.2.2.
SUBSECTION: COMVALQRI.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"INTEGER" "PROCEDURE" COMVALQRI(A, N, EM, RE, IM); "VALUE" N;
"INTEGER" N; "ARRAY" A, EM, RE, IM;
"CODE" 34190;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE ELEMENTS OF THE REAL UPPER-HESSENBERG MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE AND THE FIRST
SUBDIAGONAL OF ARRAY A;
EXIT: THE HESSENBERG PART OF ARRAY A IS ALTERED;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE GIVEN MATRIX;
EM: <ARRAY IDENTIFIER>;
"ARRAY" EM[0:5];
ENTRY: EM[0], THE MACHINE PRECISION;
EM[1], A NORM OF THE GIVEN MATRIX;
EM[2], THE RELATIVE TOLERANCE USED FOR THE QR
ITERATION;
IF THE ABSOLUTE VALUE OF SOME SUBDIAGONAL
ELEMENT IS SMALLER THAN EM[1] * EM[2], THEN
THIS ELEMENT IS NEGLECTED AND THE MATRIX IS
PARTITIONED;
EM[4], THE MAXIMUM ALLOWED NUMBER OF ITERATIONS;
FOR THE CD CYBER 73-28 SUITABLE VALUES OF THE
DATA TO BE GIVEN IN EM ARE:
EM[0] = "-14,
EM[2] > EM[0] (E.G. EM[2] = "-13),
EM[4] = 10 * N;
EXIT: EM[3], THE MAXIMUM ABSOLUTE VALUE OF THE SUBDIAGONAL
ELEMENTS NEGLECTED;
EM[5], THE NUMBER OF QR ITERATIONS PERFORMED;
IF THE ITERATION PROCESS IS NOT COMPLETED
WITHIN EM[4] ITERATIONS, THE VALUE EM[4] + 1
IS DELIVERED AND IN THIS CASE ONLY THE LAST
N - K ELEMENTS OF RE AND IM ARE APPROXIMATE
EIGENVALUES OF THE GIVEN MATRIX, WHERE K IS
DELIVERED IN COMVALQRI;
RE,IM: <ARRAY IDENTIFIER>;
"ARRAY" RE, IM[1:N];
THE REAL AND IMAGINARY PARTS OF THE CALCULATED EIGENVALUES
OF THE GIVEN MATRIX ARE DELIVERED IN ARRAY RE, IM[1:N], THE
MEMBERS OF EACH NONREAL COMPLEX CONJUGATE PAIR BEING
CONSECUTIVE.
MOREOVER:
COMVALQRI DELIVERS 0, PROVIDED THAT THE PROCESS IS COMPLETED WITHIN
EM[4] ITERATIONS; OTHERWISE COMVALQRI DELIVERS THE NUMBER OF EIGEN-
VALUES NOT CALCULATED.
PROCEDURES USED: NONE.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE METHOD USED IN THE PROCEDURE COMVALQRI FOR CALCULATING THE REAL
AND COMPLEX EIGENVALUES OF A REAL UPPER-HESSENBERG MATRIX IS THE
DOUBLE QR ITERATION OF FRANCIS (SEE REF[1], P. 74, REF[2]
P. 528 - 537 AND REF[3]).
REFERENCES:
[1]. T.J. DEKKER AND W. HOFFMANN.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 2.
MC TRACT 23, 1968, MATH. CENTR., AMSTERDAM.
[2]. J.H. WILKINSON.
THE ALGEBRAIC EIGENVALUE PROBLEM.
CLARENDON PRESS, OXFORD, 1965.
[3]. J.G. FRANCIS.
THE QR TRANSFORMATION, PARTS 1 AND 2.
COMP. J. 4 (1961), 265 - 271 AND 332 - 345.
EXAMPLE OF USE:
THE COMPLEX EIGENVALUES AND -VECTORS OF H, WITH N = 4 AND H[I,J] =
"IF" I = 1 "THEN" -1 "ELSE" "IF" I - J = 1 "THEN" 1 "ELSE" 0, MAY
BE OBTAINED BY THE FOLLOWING PROGRAM:
"BEGIN" "INTEGER" I, J, M;
"ARRAY" A[1:4,1:4], RE, IM[1:4], EM[0:9];
EM[0]:= "-14; EM[2]:= "-13; EM[1]:= 4; EM[4]:= 40;
EM[6]:= "-10; EM[8]:= 5;
"FOR" I:= 1, 2, 3, 4 "DO" "FOR" J:= 1, 2, 3, 4 "DO" A[I,J]:=
"IF" I = 1 "THEN" -1 "ELSE" "IF" I - J = 1 "THEN" 1 "ELSE" 0;
M:= COMVALQRI(A, 4, EM, RE, IM); OUTPUT(61, "("D, /")", M);
"FOR" J:= M + 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" "INTEGER" K; "ARRAY" U, V[1:4];
"FOR" I:= 1, 2, 3, 4 "DO" "FOR" K:= 1, 2, 3, 4 "DO"
A[I,K]:= "IF" I = 1 "THEN" -1 "ELSE"
"IF" I - K = 1 "THEN" 1 "ELSE" 0;
COMVECHES(A, 4, RE[J], IM[J], EM, U, V);
OUTPUT(61, "("/, 2(+.13D"+2D, 2B), 2/")", RE[J], IM[J]);
"FOR" I:= 1, 2, 3, 4 "DO"
OUTPUT(61, "("21B, 2(+.13D"+2D, 2B), /")", U[I], V[I])
"END";
OUTPUT(61, "("/, 2(.2D"+2D, /), 2(ZD, /)")",
EM[3], EM[7], EM[5], EM[9])
"END"
THE PROGRAM DELIVERS (THE RESULTS ARE CORRECT UP TO TWELVE DIGITS):
THE NUMBER OF NOT CALCULATED EIGENVALUES: 0
THE EIGENVALUES AND -VECTORS:
+.3090169943750"+00 +.9510565162952"+00
-.2527643931136"+00 -.4314048696688"+00
-.4883989055049"+00 +.1070817869743"+00
-.4908273055667"-01 +.4975850535950"+00
+.4580641097602"+00 +.2004426884413"+00
+.3090169943750"+00 -.9510565162952"+00
-.2527643931136"+00 +.4314048696688"+00
-.4883989055049"+00 -.1070817869743"+00
-.4908273055667"-01 -.4975850535950"+00
+.4580641097602"+00 -.2004426884413"+00
-.8090169943749"+00 +.5877852522924"+00
+.1095191711534"+00 -.4878581260468"+00
-.3753586823743"+00 +.3303117611685"+00
+.4978239349006"+00 -.4659753040772"-01
-.4301373647081"+00 -.2549153731770"+00
-.8090169943749"+00 -.5877852522924"+00
+.1095191711534"+00 +.4878581260468"+00
-.3753586823743"+00 -.3303117611685"+00
+.4978239349006"+00 +.4659753040772"-01
-.4301373647081"+00 +.2549153731770"+00
THE ARRAY EM: EM[3] = .67"-22
EM[7] = .17"-13
EM[5] = 9
EM[9] = 1 .
SUBSECTION: COMVECHES.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" COMVECHES(A, N, LAMBDA, MU, EM, U, V);
"VALUE" N, LAMBDA, MU;
"INTEGER" N; "REAL" LAMBDA, MU; "ARRAY" A, EM, U, V;
"CODE" 34191;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE ELEMENTS OF THE REAL UPPER-HESSENBERG MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE AND THE FIRST
SUBDIAGONAL OF ARRAY A;
EXIT: THE HESSENBERG PART OF ARRAY A IS ALTERED;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE GIVEN MATRIX;
LAMBDA, MU:
<ARITHMETIC EXPRESSION>;
THE REAL AND IMAGINARY PART OF THE GIVEN EIGENVALUE;
EM: <ARRAY IDENTIFIER>;
"ARRAY" EM[0:9];
ENTRY: EM[0], THE MACHINE PRECISION;
EM[1], A NORM OF THE GIVEN MATRIX;
EM[6], THE TOLERANCE USED FOR THE EIGENVECTOR; THE
INVERSE ITERATION ENDS IF THE EUCLIDIAN
NORM OF THE RESIDUE VECTOR IS SMALLER THAN
EM[1] * EM[6];
EM[8], THE MAXIMUM ALLOWED NUMBER OF ITERATIONS;
FOR THE CD CYBER 73-28 SUITABLE VALUES OF THE
DATA TO BE GIVEN IN EM ARE:
EM[0] = "-14,
EM[6] = "-10,
EM[8] = 5;
EXIT: EM[7], THE EUCLIDIAN NORM OF THE RESIDUE VECTOR OF
THE CALCULATED EIGENVECTOR;
EM[9], THE NUMBER OF INVERSE ITERATIONS PERFORMED;
IF EM[7] REMAINS LARGER THAN EM[1] * EM[6]
DURING EM[8] ITERATIONS, THE VALUE EM[8] + 1
IS DELIVERED;
U, V: <ARRAY IDENTIFIER>;
"ARRAY" U, V[1:N];
THE REAL AND IMAGINARY PARTS OF THE CALCULATED EIGENVECTOR
ARE DELIVERED IN THE ARRAYS U, V[1:N].
PROCEDURES USED:
VECVEC = CP34010,
MATVEC = CP34011,
TAMVEC = CP34012.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N SQUARED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE COMVECHES CALCULATES AN EIGENVECTOR CORRESPONDING TO
A GIVEN APPROXIMATE EIGENVALUE OF A REAL UPPER-HESSENBERG MATRIX,
BY MEANS OF INVERSE ITERATION (SEE REF[1], P. 75, REF[2],
P. 629 - 633 AND REF[3]).
REFERENCES:
[1]. T.J. DEKKER AND W. HOFFMANN.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 2.
MC TRACT 23, 1968, MATH. CENTR., AMSTERDAM.
[2]. J.H. WILKINSON.
THE ALGEBRAIC EIGENVALUE PROBLEM.
CLARENDON PRESS, OXFORD, 1965.
[3]. J.M. VARAH.
EIGENVECTORS OF A REAL MATRIX BY INVERSE ITERATION.
STANFORD UNIVERSITY, TECH. REP. NO. CS 34, 1966.
EXAMPLE OF USE:
SEE EXAMPLE OF USE OF COMVALQRI, THIS SECTION.
SOURCE TEXT(S) :
"CODE" 34180;
"CODE" 34181;
"CODE" 34186;
"CODE" 34190;
"CODE" 34191;