SUBROUTINE GTPRD ( A, B, R, N, M, L )

Argument Definitions (+ indicates altered content)
DOUBLE PRECISION   A(1),       B(1),      +R(1)
INTEGER            L,          M,          N
Description
.................................................................. 
 
   subroutine gtprd 
 
   purpose 
      premultiply a general matrix by the transpose of another 
      general matrix 
 
   usage 
      call gtprd(a,b,r,n,m,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 b 
      m - number of columns in a and rows in r 
      l - number of columns in b and r 
 
   remarks 
      matrix r cannot be in the same location as matrix a 
      matrix r cannot be in the same location as matrix b 
      all matrices must be stored as general matrices 
 
   subroutines and function subprograms required 
      none 
 
   method 
      matrix transpose of a is not actually calculated. instead, 
      elements of matrix a are taken columnwise rather than 
      rowwise for postmultiplication by matrix b. 
 
..................................................................
Source file:gtprd.f
Local Variables (+ indicates altered content)
INTEGER           +I,         +IB,        +IJ,        +IK
INTEGER           +IR,        +J,         +K