F110: TC Matrix Manipulation Package

Author(s): TC Library: KERNLIB
Submitter: C. Letertre Submitted: 01.08.1969
Language: Fortran Revised: 07.03.1989

tex2html_wrap271

The routines of MXPACK compute the product of two matrices or the product of their transposed matrices and may add or subtract to the resultant matrix a third one, add or subtract one matrix from another, or transfer a matrix, its negative, or a multiple of it, transpose a given matrix, build up a unit matrix, multiply a matrix by a diagonal (from left or from right) and may add the result to another matrix, add to square matrix the multiple of a diagonal matrix, compute the products tex2html_wrap_inline191 ( tex2html_wrap_inline193 denotes the transpose of tex2html_wrap_inline195 ) and tex2html_wrap_inline197 . It is assumed that matrices are stored row-wise without gaps, contrary to the Fortran convention.

Structure:

SUBROUTINE subprograms
User Entry Names:
MXMAD, MXMAD1, MXMAD2, MXMAD3, MXMPY, MXMPY1, MXMPY2, MXMPY3,
MXMUB, MXMUB1, MXMUB2, MXMUB3, MXTRP, MXUTY, MXMLRT, MXMLTR

Usage:

Matrix Multiplication
CALL MXMPY(A,B,C,NI,NJ,NK) tex2html_wrap_inline199
CALL MXMPY1(A,Q,C,NI,NJ,NK) tex2html_wrap_inline201 \ ( tex2html_wrap_inline203 is tex2html_wrap_inline205 )
CALL MXMPY2(P,B,C,NI,NJ,NK) tex2html_wrap_inline207 \ ( tex2html_wrap_inline209 is tex2html_wrap_inline211 )
CALL MXMPY3(P,Q,C,NI,NJ,NK) tex2html_wrap_inline213

If tex2html_wrap_inline215 , tex2html_wrap_inline217 will be filled with zeros.
Matrix Multiplication and Addition
CALL MXMAD(A,B,C,NI,NJ,NK) tex2html_wrap_inline219
CALL MXMAD1(A,Q,C,NI,NJ,NK) tex2html_wrap_inline221
CALL MXMAD2(P,B,C,NI,NJ,NK) tex2html_wrap_inline223
CALL MXMAD3(P,Q,C,NI,NJ,NK) tex2html_wrap_inline225

If tex2html_wrap_inline227 , tex2html_wrap_inline229 will not be changed.

Matrix Multiplication and Subtraction
CALL MXMUB(A,B,C,NI,NJ,NK) tex2html_wrap_inline231
CALL MXMUB1(A,Q,C,NI,NJ,NK) tex2html_wrap_inline233
CALL MXMUB2(P,B,C,NI,NJ,NK) tex2html_wrap_inline235
CALL MXMUB3(P,Q,C,NI,NJ,NK) tex2html_wrap_inline237

If tex2html_wrap_inline239 , tex2html_wrap_inline241 will be replaced by tex2html_wrap_inline243 .
Matrix Transposition
CALL MXTRP(A,B,NI,NJ) tex2html_wrap_inline245

Unity Matrix
CALL MXUTY(A,NI) tex2html_wrap_inline247

Matrix Multiplication
CALL MXMLRT(A,B,X,M,N) tex2html_wrap_inline249
CALL MXMLTR(A,B,X,N,M) tex2html_wrap_inline251

Notes:

In the formulae above, tex2html_wrap_inline253 etc denotes the ensemble of elements of the matrix tex2html_wrap_inline255 etc with the row index i and the column index j. The Fortran variables NI, NJ and NK specify the dimensions associated with the indices i,j and k. If DIMENSION A(NJ,NI) reserves space for the matrix tex2html_wrap_inline265 , then the element tex2html_wrap_inline267 is contained in A(J,I).
tex2html_wrap_inline269


Michel Goossens Wed Jun 5 04:52:43 METDST 1996