TESTING/EIG/dlatm4.f(3)

NAME
TESTING/EIG/dlatm4.f

SYNOPSIS

  Functions/Subroutines
subroutine dlatm4 (itype, n, nz1, nz2, isign, amagn, rcond, triang, idist, iseed, a, lda)
DLATM4

Function/Subroutine Documentation

  subroutine dlatm4 (integer itype, integer n, integer nz1, integer nz2, integer isign, double precision amagn, double precision rcond, double precision triang, integer idist, integer, dimension( 4 ) iseed, double precision, dimension( lda, * ) a, integer lda)

DLATM4

Purpose:

     DLATM4 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, ISIGN, 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
                 swapped end for end (A(I,J) := A'(N-J,N-I).)  See also
                 the description of AMAGN and ISIGN.
              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 DLARND.)

    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.

    ISIGN

              ISIGN is INTEGER
              = 0: The sign of the diagonal and subdiagonal entries will
                   be left unchanged.
              = 1: The diagonal and subdiagonal entries will have their
                   sign changed at random.
              = 2: If ITYPE is 2 or 3, then the same as ISIGN=1.
                   Otherwise, with probability 0.5, odd-even pairs of
                   diagonal entries A(2*j-1,2*j-1), A(2*j,2*j) will be
                   converted to a 2x2 block by pre- and post-multiplying
                   by distinct random orthogonal rotations.  The remaining
                   diagonal entries will have their sign changed at random.

    AMAGN

              AMAGN is DOUBLE PRECISION
              The diagonal and subdiagonal entries will be multiplied by
              AMAGN.

    RCOND

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

    TRIANG

              TRIANG is DOUBLE PRECISION
              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
              Specifies the type of distribution to be used to generate a
              random matrix.
              = 1:  UNIFORM( 0, 1 )
              = 2:  UNIFORM( -1, 1 )
              = 3:  NORMAL ( 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 DLATM4 to continue the same
              random number sequence.
              Note: ISEED(4) should be odd, for the random number generator
              used at present.

    A

              A is DOUBLE PRECISION 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

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 173 of file dlatm4.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.