TESTING/EIG/zlatm4.f(3)
okay bestie, welcome to the TESTING/EIG/zlatm4.f(3) page from the Library Functions Manual β it's giving "LAPACK test-matrix lore" and we're gonna read every bit together π
β¨
β¨ NAME β¨
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 (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.
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βITYPEisINTEGER. It's the of matrix on the diagonal and sub-diagonal. (Yes bestie, there's a lil blank in the original β i'm not inventing a word for it π)
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:IfNis odd, then ak+1 x k+1transposed Jordan block followed by ak x kidentity block, wherek=(N-1)/2. IfNis even, thenk=(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 distributionIDIST(seeZLARND.)
NβNisINTEGER. The order of the matrix.NZ1βNZ1isINTEGER. Ifabs(ITYPE) > 3, then the firstNZ1diagonal entries will be zero.NZ2βNZ2isINTEGER. Ifabs(ITYPE) > 3, then the lastNZ2diagonal entries will be zero.RSIGNβRSIGNisLOGICAL.= .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βAMAGNisDOUBLE PRECISION. The diagonal and subdiagonal entries will be multiplied byAMAGN.RCONDβRCONDisDOUBLE PRECISION. Ifabs(ITYPE) > 4, then the smallest diagonal entry will beRCOND.RCONDmust be between 0 and 1.TRIANGβTRIANGisDOUBLE PRECISION. The entries above the diagonal will be random numbers with magnitude bounded byTRIANG(i.e., random numbers multiplied byTRIANG.)IDISTβIDISTisINTEGER. On entry,DISTspecifies the type of distribution to be used to generate a random matrix .= 1:real and imaginary parts eachUNIFORM( 0, 1 )= 2:real and imaginary parts eachUNIFORM( -1, 1 )= 3:real and imaginary parts eachNORMAL( 0, 1 )= 4:complex number uniform inDISK( 0, 1 )
ISEEDβISEEDisINTEGER array, dimension (4). On entryISEEDspecifies the seed of the random number generator. The values ofISEEDare changed on exit, and can be used in the next call toZLATM4to continue the same random number sequence. Note:ISEED(4)should be odd, for the random number generator used at present.AβAisCOMPLEX*16 array, dimension (LDA, N). Array to be computed.LDAβLDAisINTEGER. Leading dimension ofA. Must be at least 1 and at leastN.
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 169 of file zlatm4.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
xoxo, bestie π this footer energy is LAPACK Version 3.12.0 and the path is TESTING/EIG/zlatm4.f(3) β no date in sight, so that's the whole sign-off πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms