ZLATM4(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… ZLATM4(3) β€” Library Functions Manual πŸ’…

okay so bestie, this is from the Library Functions Manual, and the source file is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zlatm4.f. It’s giving LAPACK test-matrix generator energy, and we’re gonna read it together. 🫢

πŸ“› NAME πŸ“›

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/zlatm4.f

🧾 SYNOPSIS 🧾

Functions/Subroutines

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

ZLATM4

πŸ› οΈ Function/Subroutine Documentation πŸ› οΈ

subroutine ZLATM4

subroutine ZLATM4 (integer itype, integer n, integer nz1, integer nz2,
    logical rsign, double precision amagn, double precision rcond, double
    precision triang, integer idist, integer, dimension( 4 ) iseed,
    complex*16, dimension( lda, * ) a, integer lda)

ZLATM4

Purpose ✨

okay so ZLATM4 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. No cap. πŸ‘‘

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. Periodt. πŸ’…

Parameters πŸŽ€

  • ITYPE β€” ITYPE is INTEGER. The of matrix on the diagonal and sub-diagonal. (Yep, the original really has a blank right there, bestie β€” I’m keeping the blank, not inventing a word. πŸ™ˆ)

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 ZLARND.)
  • N β€” N is INTEGER. The order of the matrix. Slay, simple. πŸ¦‹
  • 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 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 RCOND. RCOND must be between 0 and 1. Lowkey important, bestie. ⚠️
  • 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. On entry, DIST specifies the type of distribution to be used to generate a random matrix . (Yes, it says DIST here; I’m not renaming it. 😭)
    • = 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 ZLATM4 to continue the same random number sequence. Note: ISEED(4) should be odd, for the random number generator used at present. iykyk 🌸
  • A β€” A is COMPLEX*16 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 169 of file zlatm4.f.

Author (generated by Doxygen) πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


okay bye bestie πŸ’– this iconic little page is LAPACK Version 3.12.0, footer path /home/abui...IG/zlatm4.f(3), and the footer does not list a date. Slay and goodbye. πŸŽ€

πŸ“¦ where this page comes from