SLATM4(3)
π NAME π
okay bestie, welcome to SLATM4(3) from the Library Functions Manual β yes, this is the LAPACK page, and it's literally about this file: /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/EIG/slatm4.f β¨
β¨ SYNOPSIS β¨
Functions/Subroutines β that's the label, and here's the whole signature situation:
subroutine SLATM4 (itype, n, nz1, nz2, isign, amagn, rcond, triang,
idist, iseed, a, lda)
SLATM4
π¦ Function/Subroutine Documentation π¦
so the full typed-out version is this, character for character:
subroutine SLATM4 (integer itype, integer n, integer nz1, integer nz2,
integer isign, real amagn, real rcond, real triang, integer idist,
integer, dimension( 4 ) iseed, real, dimension( lda, * ) a, integer lda)
and yes, the subroutine name is SLATM4 again β iconique π
.
π Purpose π
okay so here's the lore: SLATM4 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 kind 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: 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(seeSLARND.)
NβN is INTEGER. The order of the matrix. πNZ1βNZ1 is INTEGER. Ifabs(ITYPE) > 3, then the firstNZ1diagonal entries will be zero. πNZ2βNZ2 is INTEGER. Ifabs(ITYPE) > 3, then the lastNZ2diagonal 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: IfITYPEis2or3, then the same asISIGN=1. Otherwise, with probability0.5, odd-even pairs of diagonal entriesA(2*j-1,2*j-1), A(2*j,2*j)will be converted to a2x2block by pre- and post-multiplying by distinct random orthogonal rotations. The remaining diagonal entries will have their sign changed at random. π
AMAGNβAMAGN is REAL. The diagonal and subdiagonal entries will be multiplied byAMAGN. π₯RCONDβRCOND is REAL. Ifabs(ITYPE) > 4, then the smallest diagonal entry will be entry will beRCOND.RCONDmust be between0and1. (yes, the source has that little βentry will beβ echo β I'm keeping the detail, bestie π.)TRIANGβTRIANG is REAL. The entries above the diagonal will be random numbers with magnitude bounded byTRIANG(i.e., random numbers multiplied byTRIANG.) π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 entryISEEDspecifies the seed of the random number generator. The values ofISEEDare changed on exit, and can be used in the next call toSLATM4to continue the same random number sequence. Note:ISEED(4)should be odd, for the random number generator used at present. πAβA is REAL array, dimension (LDA, N). Array to be computed. πLDAβLDA is INTEGER. Leading dimension ofA. Must be at least1and at leastN. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 173 of file slatm4.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. β¨
that's the whole page, bestie! LAPACK Version 3.12.0, source path /home/abui...IG/slatm4.f(3) β periodt π
π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms