NUMAL Section 1.2.9
BEGIN SECTION : 1.2.9 (December, 1975)
AUTHORS :
T.J. DEKKER, W. HOFFMANN (COMSCL),
C.G. VAN DER LAAN (SCLCOM).
CONTRIBUTORS:
W. HOFFMANN, S.P.N. VAN KAMPEN (COMSCL),
H. FIOLET, C.G. VAN DER LAAN (SCLCOM).
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 731030.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS TWO PROCEDURES :
COMSCL NORMALIZES THE REAL AND COMPLEX EIGENVECTORS
GIVEN COLUMNWISE IN A TWO-DIMENSIONAL ARRAY; THE IMAGINARY PARTS OF
THE CORRESPONDING EIGENVALUES MUST BE GIVEN IN A ONE-DIMENSIONAL
ARRAY;
THE EIGENVECTORS ARE NORMALIZED IN SUCH A WAY THAT, IN EACH EIGEN-
VECTOR, AN ELEMENT OF MAXIMUM MODULUS EQUALS 1;
THE NORMALIZED EIGENVECTORS ARE DELIVERED IN THE GIVEN ARRAY.
SCLCOM NORMALIZES THE (NON-NULL) COLUMNS OF A COMPLEX MATRIX
IN SUCH A WAY THAT IN EACH COLUMN AN ELEMENT OF MAXIMUM ABSOLUTE
VALUE BECOMES EQUAL TO ONE.
KEYWORDS:
NORMALIZATION,
SCALING OF COMPLEX EIGENVECTORS,
COMPLEX SCALING.
SUBSECTION : COMSCL.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" COMSCL(A, N, N1, N2, IM); "VALUE" N, N1, N2;
"INTEGER" N, N1, N2; "ARRAY" A, IM;
"CODE" 34193;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,N1:N2];
ENTRY: EACH REAL EIGENVECTOR MUST BE GIVEN IN A COLUMN OF
ARRAY A, WHOSE CORRESPONDING ELEMENT OF ARRAY IM
EQUALS 0;
THE REAL AND IMAGINARY PART OF EACH COMPLEX EIGEN-
VECTOR MUST BE GIVEN IN CONSECUTIVE COLUMNS OF ARRAY
A, WHOSE CORRESPONDING ELEMENTS OF ARRAY IM ARE NOT
EQUAL TO 0;
EXIT: THE NORMALIZED EIGENVECTORS (I.E. IN EACH EIGEN-
VECTOR AN ELEMENT OF MAXIMUM MODULUS EQUALS 1) ARE
DELIVERED IN THE CORRESPONDING COLUMNS OF A;
N: <ARITHMETIC EXPRESSION>;
THE NUMBER OF ROWS OF ARRAY A;
N1, N2: <ARITHMETIC EXPRESSION>;
THE LOWER AND UPPER BOUND OF THE COLUMN INDICES OF ARRAY A;
IM: <ARRAY IDENTIFIER>;
"ARRAY" IM[N1:N2];
THE IMAGINARY PARTS OF THE EIGENVALUES, OF WHICH THE EIGEN-
VECTORS ARE GIVEN IN THE CORRESPONDING COLUMNS OF ARRAY A,
MUST BE GIVEN IN ARRAY IM.
PROCEDURES USED: NONE.
RUNNING TIME: PROPORTIONAL TO N * (N2 - N1 + 1).
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE: SEE REF [1].
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 COMSCL IS USED IN COMEIG1, SECTION 3.3.1.2.2.
SUBSECTION : SCLCOM.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE READS:
"PROCEDURE"SCLCOM(AR,AI,N,N1,N2);
"VALUE"N,N1,N2;"INTEGER"N,N1,N2;"ARRAY"AR,AI;
"CODE" 34360;
THE MEANING OF THE FORMAL PARAMETERS IS:
AR,AI: <ARRAY IDENTIFIER>;
"ARRAY" AR,AI[1:N,N1:N2];
ENTRY:
THE REAL PART AND THE IMAGINARY PART OF THE MATRIX OF
WHICH THE COLUMNS ARE TO BE SCALED MUST BE GIVEN IN THE
ARRAYS AR AND AI,RESPECTIVELY;
EXIT:
THE REAL PART AND THE IMAGINARY PART OF THE MATRIX WITH
SCALED COLUMNS ARE DELIVERED IN THE ARRAYS AR AND AI,
RESPECTIVELY;
N,N1,N2:<ARITHMETIC EXPRESSION>;
N : ORDER OF THE MATRIX;
N1,N2: THE N1-TH TO N2-TH COLUMN VECTORS ARE TO BE
SCALED.
PROCEDURES USED: COMCOLCST = CP34352.
RUNNING TIME: PROPORTIONAL TO N*(N2-N1).
LANGUAGE: ALGOL 60.
EXAMPLE OF USE: SEE EIGCOM (SECTION 3.3.2.2.2).
SOURCE TEXT(S) :
"CODE" 34193;
"CODE" 34360;