NUMAL Section 1.2.5

BEGIN SECTION : 1.2.5 (May, 1974)

AUTHOR   : C.G. VAN DER LAAN.

CONTRIBUTORS : H.FIOLET , C.G. VAN DER LAAN.

INSTITUTE: MATHEMATICAL CENTRE.

RECEIVED : 730813.

BRIEF DESCRIPTION :

    THIS  SECTION  CONTAINS THE PROCEDURES ELMCOMVECCOL, ELMCOMCOL  AND
    ELMCOMROWVEC.
    ELMCOMVECCOL  ADDS  XR+I*XI  TIMES THE COMPLEX  COLUMN VECTOR GIVEN
    IN  ARRAY BR,BI[L:U,J:J]  TO  THE  COMPLEX VECTOR  GIVEN  IN  ARRAY
    AR,AI[L:U].
    ELMCOMCOL ADDS  XR+I*XI  TIMES THE  COMPLEX COLUMN VECTOR  GIVEN IN
    ARRAY  BR,BI[L:U,J:J]  TO THE COMPLEX COLUMN VECTOR GIVEN IN  ARRAY
    AR,AI[L:U,I:I].
    ELMCOMROWVEC ADDS  XR+I*XI  TIMES THE COMPLEX VECTOR GIVEN IN ARRAY
    BR,BI[L:U] TO THE COMPLEX ROW VECTOR GIVEN IN ARRAY AR,AI[I:I,L:U].

KEYWORDS :

    COMPLEX VECTOR OPERATIONS ,
    ELIMINATION.


SUBSECTION : ELMCOMVECCOL.

CALLING SEQUENCE :

    THE HEADING OF THE PROCEDURE READS :
    "PROCEDURE" ELMCOMVECCOL(L,U,J,AR,AI,BR,BI,XR,XI);
    "VALUE" L,U,J,XR,XI;
    "INTEGER" L,U,J;"REAL" XR,XI;"ARRAY" AR,AI,BR,BI;
    "CODE" 34376;

    THE MEANING OF THE FORMAL PARAMETERS IS :
    L,U:       <ARITHMETIC EXPRESSION>;
               LOWER AND UPPER BOUND OF THE VECTORS;
    J:         <ARITHMETIC EXPRESSION>;
               COLUMN-INDEX OF THE COLUMN VECTORS BR AND BI;
    AR,AI:     <ARRAY IDENTIFIER>;
               "ARRAY" AR,AI[L:U]
               ENTRY:
               AR : REAL PART OF THE VECTOR,
               AI : IMAGINARY  PART  OF  THE  VECTOR.
               EXIT:
               THE RESULTING VECTOR (SEE ALSO BRIEF DESCRIPTION);

    BR,BI:     <ARRAY IDENTIFIER>;
               "ARRAY" BR,BI[L:U,J:J];
               ENTRY:
               BR : REAL PART OF THE COLUMN VECTOR,
               BI : IMAGINARY PART OF THE COLUMN  VECTOR.
    XR,XI:     <ARITHMETIC EXPRESSION>;
               ENTRY:
               XR: REAL PART OF THE ELIMINATION FACTOR;
               XI: IMAGINARY PART OF THE ELIMINATION FACTOR .

PROCEDURES USED : ELMVECCOL = CP34021 .

RUNNING TIME : ROUGHLY PROPORTIONAL TO (U-L) .

LANGUAGE: ALGOL 60.


SUBSECTION : ELMCOMCOL.

CALLING SEQUENCE :

    THE HEADING OF THE PROCEDURE READS :
    "PROCEDURE" ELMCOMCOL(L,U,I,J,AR,AI,BR,BI,XR,XI);
    "VALUE" L,U,I,J,XR,XI;
    "INTEGER" L,U,I,J;"REAL" XR,XI;"ARRAY" AR,AI,BR,BI;
    "CODE" 34377;

    THE MEANING OF THE FORMAL PARAMETERS IS :
    L,U:       <ARITHMETIC EXPRESSION>;
               LOWER AND UPPER BOUND OF THE VECTORS;
    I,J:       <ARITHMETIC EXPRESSION>;
               I: COLUMN-INDEX OF THE COLUMN VECTORS AR AND AI;
               J: COLUMN-INDEX OF THE COLUMN VECTORS BR AND BI;
    AR,AI:     <ARRAY IDENTIFIER>;
               "ARRAY" AR,AI[L:U,I:I]
               ENTRY:
               AR : REAL PART OF THE COLUMN VECTOR,
               AI : IMAGINARY PART OF THE COLUMN VECTOR.
               EXIT:
               THE RESULTING VECTOR (SEE ALSO BRIEF DESCRIPTION);
    BR,BI:     <ARRAY IDENTIFIER>;
               "ARRAY" BR,BI[L:U,J:J]
               ENTRY:
               BR : REAL PART OF THE COLUMN VECTOR,
               BI : IMAGINARY PART OF THE COLUMN VECTOR.
    XR,XI:     <ARITHMETIC EXPRESSION>;
               ENTRY:
               XR: REAL PART OF THE ELIMINATION FACTOR;
               XI: IMAGINARY PART OF THE ELIMINATION FACTOR .

PROCEDURES USED : ELMCOL = CP34023 .

RUNNING TIME : ROUGHLY PROPORTIONAL TO (U-L) .

LANGUAGE: ALGOL 60.


SUBSECTION : ELMCOMROWVEC .

CALLING SEQUENCE :

    THE HEADING OF THE PROCEDURE READS :
    "PROCEDURE" ELMCOMROWVEC(L,U,I,AR,AI,BR,BI,XR,XI);
    "VALUE" L,U,I,XR,XI;
    "INTEGER" L,U,I;"REAL" XR,XI;"ARRAY" AR,AI,BR,BI;
    "CODE" 34378;

    THE MEANING OF THE FORMAL PARAMETERS IS :
    L,U:       <ARITHMETIC EXPRESSION>;
               LOWER AND UPPER BOUND OF THE VECTORS;
    I:         <ARITHMETIC EXPRESSION>;
               ROW-INDEX OF THE ROW VECTORS AR AND AI;
    AR,AI:     <ARRAY IDENTIFIER>;
               "ARRAY" AR,AI[I:I,L:U]
               ENTRY:
               AR : REAL PART OF THE ROW VECTOR,
               AI : IMAGINARY PART OF THE ROW VECTOR.
               EXIT:
               THE RESULTING VECTOR (SEE ALSO BRIEF DESCRIPTION);
    BR,BI:     <ARRAY IDENTIFIER>;
               "ARRAY" BR,BI[L:U]
               ENTRY:
               BR : REAL PART OF THE VECTOR,
               BI : IMAGINARY PART OF THE VECTOR
    XR,XI:     <ARITHMETIC EXPRESSION>;
               ENTRY:
               XR: REAL PART OF THE ELIMINATION FACTOR;
               XI: IMAGINARY PART OF THE ELIMINATION FACTOR .

PROCEDURES USED : ELMROWVEC = CP34027 .

RUNNING TIME : ROUGHLY PROPORTIONAL TO (U-L) .

LANGUAGE: ALGOL 60.

EXAMPLE OF USE :

    "BEGIN"
    "COMMENT" EXAMPLE OF USE ELMCOMCOL;
    "REAL" "ARRAY" AR,AI[1:2,1:2];
    "INTEGER" I,J;
    "PROCEDURE" OUT(K);"INTEGER" K;
    OUTPUT(61,"("2(-D,+D,"("*I  ")"),/")",
              AR[K,1],AI[K,1],AR[K,2],AI[K,2]);
    AR[1,1]:=+1;AR[1,2]:=-9;AR[2,1]:=-1;AR[2,2]:=-1;
    AI[1,1]:=+2;AI[1,2]:=+2;AI[2,1]:=+2;AI[2,2]:=-2;
    OUTPUT(61,"(""("INPUT MATRIX:")",/")");
    "FOR" I:=1,2 "DO" OUT(I);
    ELMCOMCOL(1,2,2,1,AR,AI,AR,AI,1,-4);
    OUTPUT(61,"("/,"("MATRIX AFTER ELIMINATION:")",/")");
    OUTPUT(61,"("-D,+D,"("*I")",4B,Z,D/")",
              AR[1,1],AI[1,1],AR[1,2],AI[1,2]);
    OUT(2)
    "END"

    OUTPUT:
    INPUT MATRIX:
     1+2*I  -9+2*I
    -1+2*I  -1-2*I

    MATRIX AFTER ELIMINATION:
     1+2*I     0
    -1+2*I   6+4*I    .

SOURCE TEXT(S) :
"CODE" 34376;
"CODE" 34377;
"CODE" 34378;