CLATM4
   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
November 2006
November 2006
Purpose
CLATM4 generates basic square matrices, which may later be
multiplied by others in order to produce test matrices. It is
intended mainly to be used to test the generalized eigenvalue
routines.
It first generates the diagonal and (possibly) subdiagonal,
according to the value of ITYPE, NZ1, NZ2, RSIGN, AMAGN, and RCOND.
It then fills in the upper triangle with random numbers, if TRIANG is
non-zero.
multiplied by others in order to produce test matrices. It is
intended mainly to be used to test the generalized eigenvalue
routines.
It first generates the diagonal and (possibly) subdiagonal,
according to the value of ITYPE, NZ1, NZ2, RSIGN, AMAGN, and RCOND.
It then fills in the upper triangle with random numbers, if TRIANG is
non-zero.
Arguments
| ITYPE | 
 
(input) INTEGER
 
The "type" of matrix on the diagonal and sub-diagonal. 
If ITYPE < 0, then type abs(ITYPE) is generated and then swapped end for end (A(I,J) := A'(N-J,N-I).) See also the description of AMAGN and RSIGN. Special types: = 0: the zero matrix. = 1: the identity. = 2: a transposed Jordan block. = 3: If N is odd, then a k+1 x k+1 transposed Jordan block followed by a k x k identity block, where k=(N-1)/2. If N is even, then k=(N-2)/2, and a zero diagonal entry is tacked onto the end. Diagonal types. The diagonal consists of NZ1 zeros, then k=N-NZ1-NZ2 nonzeros. The subdiagonal is zero. ITYPE specifies the nonzero diagonal entries as follows: = 4: 1, ..., k = 5: 1, RCOND, ..., RCOND = 6: 1, ..., 1, RCOND = 7: 1, a, a^2, ..., a^(k-1)=RCOND = 8: 1, 1-d, 1-2*d, ..., 1-(k-1)*d=RCOND = 9: random numbers chosen from (RCOND,1) = 10: random numbers with distribution IDIST (see CLARND.)  | 
| N | 
 
(input) INTEGER
 
The order of the matrix. 
 | 
| NZ1 | 
 
(input) INTEGER
 
If abs(ITYPE) > 3, then the first NZ1 diagonal entries will 
be zero.  | 
| NZ2 | 
 
(input) INTEGER
 
If abs(ITYPE) > 3, then the last NZ2 diagonal entries will 
be zero.  | 
| RSIGN | 
 
(input) LOGICAL
 
= .TRUE.:  The diagonal and subdiagonal entries will be 
multiplied by random numbers of magnitude 1. = .FALSE.: The diagonal and subdiagonal entries will be left as they are (usually non-negative real.)  | 
| AMAGN | 
 
(input) REAL
 
The diagonal and subdiagonal entries will be multiplied by 
AMAGN.  | 
| RCOND | 
 
(input) REAL
 
If abs(ITYPE) > 4, then the smallest diagonal entry will be 
RCOND. RCOND must be between 0 and 1.  | 
| TRIANG | 
 
(input) REAL
 
The entries above the diagonal will be random numbers with 
magnitude bounded by TRIANG (i.e., random numbers multiplied by TRIANG.)  | 
| IDIST | 
 
(input) INTEGER
 
On entry, DIST specifies the type of distribution to be used 
to generate a random matrix . = 1: real and imaginary parts each UNIFORM( 0, 1 ) = 2: real and imaginary parts each UNIFORM( -1, 1 ) = 3: real and imaginary parts each NORMAL( 0, 1 ) = 4: complex number uniform in DISK( 0, 1 )  | 
| ISEED | 
 
(input/output) INTEGER array, dimension (4)
 
On entry ISEED specifies the seed of the random number 
generator. The values of ISEED are changed on exit, and can be used in the next call to CLATM4 to continue the same random number sequence. Note: ISEED(4) should be odd, for the random number generator used at present.  | 
| A | 
 
(output) COMPLEX array, dimension (LDA, N)
 
Array to be computed. 
 | 
| LDA | 
 
(input) INTEGER
 
Leading dimension of A.  Must be at least 1 and at least N. 
 |