LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine clatm4 | ( | integer | itype, |
integer | n, | ||
integer | nz1, | ||
integer | nz2, | ||
logical | rsign, | ||
real | amagn, | ||
real | rcond, | ||
real | triang, | ||
integer | idist, | ||
integer, dimension( 4 ) | iseed, | ||
complex, dimension( lda, * ) | a, | ||
integer | lda ) |
CLATM4
!> !> 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. !>
[in] | ITYPE | !> ITYPE is INTEGER !> The 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.) !> |
[in] | N | !> N is INTEGER !> The order of the matrix. !> |
[in] | NZ1 | !> NZ1 is INTEGER !> If abs(ITYPE) > 3, then the first NZ1 diagonal entries will !> be zero. !> |
[in] | NZ2 | !> NZ2 is INTEGER !> If abs(ITYPE) > 3, then the last NZ2 diagonal entries will !> be zero. !> |
[in] | RSIGN | !> RSIGN is 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.) !> |
[in] | AMAGN | !> AMAGN is REAL !> The diagonal and subdiagonal entries will be multiplied by !> AMAGN. !> |
[in] | RCOND | !> RCOND is REAL !> If abs(ITYPE) > 4, then the smallest diagonal entry will be !> RCOND. RCOND must be between 0 and 1. !> |
[in] | TRIANG | !> TRIANG is REAL !> The entries above the diagonal will be random numbers with !> magnitude bounded by TRIANG (i.e., random numbers multiplied !> by TRIANG.) !> |
[in] | IDIST | !> IDIST is 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 ) !> |
[in,out] | ISEED | !> ISEED is 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. !> |
[out] | A | !> A is COMPLEX array, dimension (LDA, N) !> Array to be computed. !> |
[in] | LDA | !> LDA is INTEGER !> Leading dimension of A. Must be at least 1 and at least N. !> |
Definition at line 169 of file clatm4.f.