SUBROUTINE MPRD ( A, B, R, N, M, MSA, MSB, L )

Argument Definitions (+ indicates altered content)
DOUBLE PRECISION   A(1),       B(1),      +R(1)
INTEGER            L,          M,          MSA,        MSB
INTEGER            N
Description
.................................................................. 
 
   subroutine mprd 
 
   purpose 
      multiply two matrices to form a resultant matrix 
 
   usage 
      call mprd(a,b,r,n,m,msa,msb,l) 
 
   description of parameters 
      a - name of first input matrix 
      b - name of second input matrix 
      r - name of output matrix 
      n - number of rows in a and r 
      m - number of columns in a and rows in b 
      msa - one digit number for storage mode of matrix a 
             0 - general 
             1 - symmetric 
             2 - diagonal 
      msb - same as msa except for matrix b 
      l - number of columns in b and r 
 
   remarks 
      matrix r cannot be in the same location as matrices a or b 
      number of columns of matrix a must be equal to number of row 
      of matrix b 
 
   subroutines and function subprograms required 
      loc 
 
   method 
      the m by l matrix b is premultiplied by the n by m matrix a 
      and the result is stored in the n by l matrix r. this is a 
      row into column product. 
      the following table shows the storage mode of the output 
      matrix for all combinations of input matrices 
                    a                b                r 
                 general          general          general 
                 general          symmetric        general 
                 general          diagonal         general 
                 symmetric        general          general 
                 symmetric        symmetric        general 
                 symmetric        diagonal         general 
                 diagonal         general          general 
                 diagonal         symmetric        general 
                 diagonal         diagonal         diagonal 
 
..................................................................
Source file:mprd.f
Intrinsic Functions Called
SUBROUTINE         LOC
External Functions and Subroutines Called
SUBROUTINE         LOC
Local Variables (+ indicates altered content)
INTEGER           +I,         +IA,        +IB,        +IR
INTEGER           +J,         +K,         +MS