# clatm4.f - Man Page

TESTING/EIG/clatm4.f

## Synopsis

### Functions/Subroutines

subroutine clatm4 (itype, n, nz1, nz2, rsign, amagn, rcond, triang, idist, iseed, a, lda)
CLATM4

## Function/Subroutine Documentation

### 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

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.```
Parameters

ITYPE

```          ITYPE is INTEGER
The 'type' of matrix on the diagonal and sub-diagonal.
If ITYPE < 0, then type abs(ITYPE) is generated and then
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

```          N is INTEGER
The order of the matrix.```

NZ1

```          NZ1 is INTEGER
If abs(ITYPE) > 3, then the first NZ1 diagonal entries will
be zero.```

NZ2

```          NZ2 is INTEGER
If abs(ITYPE) > 3, then the last NZ2 diagonal entries will
be zero.```

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.)```

AMAGN

```          AMAGN is REAL
The diagonal and subdiagonal entries will be multiplied by
AMAGN.```

RCOND

```          RCOND is REAL
If abs(ITYPE) > 4, then the smallest diagonal entry will be
RCOND.  RCOND must be between 0 and 1.```

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.)```

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 )```

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.```

A

```          A is COMPLEX array, dimension (LDA, N)
Array to be computed.```

LDA

```          LDA is INTEGER
Leading dimension of A.  Must be at least 1 and at least N.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 169 of file clatm4.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page clatm4(3) is an alias of clatm4.f(3).

Tue Nov 28 2023 12:08:42 Version 3.12.0 LAPACK