SUBROUTINE MATA ( A, R, N, M, MS )

Argument Definitions (+ indicates altered content)
DOUBLE PRECISION   A(1),      +R(1)
INTEGER            M,          MS,         N
Description
.................................................................. 
 
   subroutine mata 
 
   purpose 
      premultiply a matrix by its transpose to form a 
      symmetric matrix 
 
   usage 
      call mata(a,r,n,m,ms) 
 
   description of parameters 
      a  - name of input matrix 
      r  - name of output matrix 
      n  - number of rows in a 
      m  - number of columns in a. also number of rows and 
           number of columns of r. 
      ms  - one digit number for storage mode of matrix a 
             0 - general 
             1 - symmetric 
             2 - diagonal 
 
   remarks 
      matrix r cannot be in the same location as matrix a 
      matrix r is always a symmetric matrix with a storage mode=1 
 
   subroutines and function subprograms required 
      loc 
 
   method 
      calculation of (a transpose a) results in a symmetric matrix 
      regardless of the storage mode of the input matrix. the 
      elements of matrix a are not changed. 
 
..................................................................
Source file:mata.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,         +KX