NUMAL Section 1.1.3

BEGIN SECTION : 1.1.3 (December, 1979)

AUTHORS:    P.A.BEENTJES, C.G. VAN DER LAAN.

INSTITUTE:  MATHEMATICAL CENTRE.

RECEIVED:   730715.

BRIEF DESCRIPTION:

    THIS SECTION CONTAINS FIVE PROCEDURES.
    MULVEC STORES X TIMES THE VECTOR GIVEN IN ARRAY  B[L+SHIFT:U+SHIFT]
    INTO THE VECTOR GIVEN IN ARRAY A[L:U].
    MULROW STORES X TIMES THE ROW VECTOR GIVEN IN ARRAY B[J:J,L:U] INTO
    THE ROW VECTOR GIVEN IN ARRAY A[I:I,L:U].
    MULCOL STORES X TIMES THE COLUMN VECTOR  GIVEN IN ARRAY  B[L:U,J:J]
    INTO THE COLUMN VECTOR GIVEN IN ARRAY A[L:U,I:I].
    COLCST MULTIPLIES THE COLUMN VECTOR GIVEN IN ARRAY A[L:U,J:J] BY X.
    ROWCST MULTIPLIES THE ROW VECTOR GIVEN IN ARRAY A[I:I,L:U] BY X.

KEYWORDS:

    ELEMENTARY PROCEDURE,
    VECTOR OPERATIONS,
    MULTIPLICATIONS.


SUBSECTION: MULVEC.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" MULVEC(L, U, SHIFT, A, B, X); "VALUE" L,U,SHIFT,X;
    "INTEGER" L,U,SHIFT; "REAL" X; "ARRAY" A,B;
    "CODE" 31020;

    FORMAL PARAMETERS:
    L,U:    <ARITMETIC EXPRESSION>;
            LOWER AND UPPER VECTOR-INDEX, RESPECTIVELY;
    SHIFT:  <ARITHMETIC EXPRESSION>;
            SUBSCRIPT-SHIFTING PARAMETER;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U], B[L + SHIFT : U + SHIFT],  THE PRODUCT OF
            THE CONTENTS OF B ARE STORED IN A.
    X:      <ARITHMETIC EXPRESSION>;
            MULTIPLICATION FACTOR.

LANGUAGE: COMPASS.


SUBSECTION: MULROW.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" MULROW(L, U, I, J, A, B, X); "VALUE" L,U,I,J,X;
    "INTEGER" L,U,I,J; "REAL" X; "ARRAY" A,B;
    "CODE" 31021;

    FORMAL PARAMETERS:
    L,U:    <ARITMETIC EXPRESSION>;
            LOWER AND UPPER COLUMN-INDEX, RESPECTIVELY;
    I,J:    <ARITHMETIC EXPRESSION>;
            ROW-INDICES OF THE ROW VECTORS A AND B;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[I : I, L : U], B[J : J, L : U], THE CONTENTS OF B
            MULTIPLIED BY X ARE STORED INTO A.
    X:      <ARITHMETIC EXPRESSION>;
            MULTIPLICATION FACTOR.

LANGUAGE: COMPASS.


SUBSECTION: MULCOL.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" MULCOL(L, U, I, J, A, B, X); "VALUE" L,U,I,J,X;
    "INTEGER" L,U,I,J; "REAL" X; "ARRAY" A,B;
    "CODE" 31022;

    FORMAL PARAMETERS:
    L,U:    <ARITMETIC EXPRESSION>;
            LOWER AND UPPER ROW-INDEX, RESPECTIVELY;
    I,J:    <ARITHMETIC EXPRESSION>;
            COLUMN-INDICES OF THE COLUMN VECTORS A AND B;
    A,B:    <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U, I : I], B[L : U, J : J], THE CONTENTS OF B
            MULTIPLIED BY X ARE STORED INTO A;
    X:      <ARITHMETIC EXPRESSION>;
            MULTIPLICATION FACTOR.

LANGUAGE: COMPASS.


SUBSECTION: COLCST.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" COLCST(L, U, J, A, X); "VALUE" L,U,J,X;
    "INTEGER" L,U,J; "REAL" X; "ARRAY" A;
    "CODE" 31131;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER AND UPPER ROW-INDEX, RESPECTIVELY;
    J:      <ARITHMETIC EXPRESSION>;
            COLUMN-INDEX;
    A:      <ARRAY IDENTIFIER>;
            "ARRAY" A[L : U, J : J];
    X:      <ARITHMETIC EXPRESSION>;
            MULTIPLICATION FACTOR.

LANGUAGE: COMPASS.


SUBSECTION: ROWCST.

CALLING SEQUENCE:

    HEADING:
    "PROCEDURE" ROWCST(L, U, I, A, X); "VALUE" L,U,I,X;
    "INTEGER" L,U,I; "REAL" X; "ARRAY" A;
    "CODE" 31132;

    FORMAL PARAMETERS:
    L,U:    <ARITHMETIC EXPRESSION>;
            LOWER AND UPPER COLUMN-INDEX, RESPECTIVELY;
    I:      <ARITHMETIC EXPRESSION>;
            ROW-INDEX;
    A:      <ARRAY IDENTIFIER>;
            "ARRAY" A[I : I, L : U];
    X:      <ARITHMETIC EXPRESSION>;
            MULTIPLICATION FACTOR.

LANGUAGE: COMPASS.

SOURCE TEXT(S):

THE FOLLOWING PROCEDURES ARE WRITTEN IN COMPASS, AN EQUIVALENT ALGOL 60
TEXT OF THESE COMPASS ROUTINES IS GIVEN.

"CODE" 31020;

"CODE" 31021;

"CODE" 31022;

"CODE" 31131;

"CODE" 31132;