/home/abui...N/claror.f(3)
okay bestie, welcome to the /home/abui...N/claror.f(3) page from the Library Functions Manual π
this one is giving LAPACK test-matrix generator subroutine energy, and we're gonna get into it.
β¨ NAME β¨
the name/identity situation here is the full source path, and it is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/claror.f
πΈ SYNOPSIS πΈ
π¦ Functions/Subroutines π¦
subroutine CLAROR (side, init, m, n, a, lda, iseed, x, info)
CLAROR
π§ Function/Subroutine Documentation π§
the signature is literally this, no cap:
subroutine CLAROR (character side, character init, integer m, integer n,
complex, dimension( lda, * ) a, integer lda, integer, dimension( 4 )
iseed, complex, dimension( * ) x, integer info)
CLAROR
π Purpose π
CLAROR pre- or post-multiplies an M by N matrix A by a random unitary matrix U, overwriting A. A may optionally be initialized to the identity matrix before multiplying by U. U is generated using the method of G.W. Stewart ( SIAM J. Numer. Anal. 17, 1980, pp. 403-409 ). this is the (BLAS-2 version) π«Ά
π Parameters π
π¦ SIDE π¦
SIDE is CHARACTER*1, and it says whether A is multiplied on the left or right by U. not modified β¨
the SIDE values are:
SIDE = 'L'β Multiply A on the left (premultiply) by U.SIDE = 'R'β Multiply A on the right (postmultiply) byUC>β¦ okay the raw page has a formatting gremlin runaway here, so I'm keeping the exact cursed block below instead of pretending it's cute.SIDE = 'C'β Multiply A on the left by U and the right byUC>(the page literally saysUC>here, I'm not fixing it).SIDE = 'T'β Multiply A on the left by U and the right byU'.
verbatim raw lines, gremlins and all:
SIDE = 'L' Multiply A on the left (premultiply) by U
SIDE = 'R' Multiply A on the right (postmultiply) by UC> SIDE = 'C' Multiply A on the left by U and the right by UC> SIDE = 'T' Multiply A on the left by U and the right by U'
π INIT π
INIT is CHARACTER*1, and it says whether or not A should be initialized to the identity matrix. not modified π
INIT = 'I'β Initialize A to (a section of) the identity matrix before applying U.INIT = 'N'β No initialization. Apply U to the input matrix A.
INIT = 'I' may be used to generate square (i.e., unitary) or rectangular orthogonal matrices (orthogonality being in the sense of CDOTC):
- for square matrices,
M=N, and the doc saysSIDE many beeither'L'or'R'; the rows will be orthogonal to each other, as will the columns. - for rectangular matrices where
M < N,SIDE = 'R'will produce a dense matrix whose rows will be orthogonal and whose columns will not, whileSIDE = 'L'will produce a matrix whose rows will be orthogonal, and whose firstMcolumns will be orthogonal, the remaining columns being zero. - for matrices where
M > N, just use the previous explanation, interchanging'L'and'R'and and . yes, that danglingand and .is literally in the page π
πΈ M πΈ
M is INTEGER β number of rows of A. not modified.
πΈ N πΈ
N is INTEGER β number of columns of A. not modified.
π A π
A is COMPLEX array, dimension ( LDA, N ) β input and output array. overwritten on exit by:
U A ( if SIDE = 'L' )
or by A U ( if SIDE = 'R' )
or by U A U* ( if SIDE = 'C')
or by U A U' ( if SIDE = 'T') on exit.
π LDA π
LDA is INTEGER β leading dimension of A. must be at least MAX ( 1, M ). not modified.
π ISEED π
ISEED is INTEGER array, dimension ( 4 ).
on entry, ISEED specifies the seed of the random number generator. the array elements should be between 0 and 4095; if not, they will be reduced mod 4096. also, ISEED(4) must be odd. the random number generator uses a linear congruential sequence limited to small integers, and so should produce machine independent random numbers. the values of ISEED are changed on exit, and can be used in the next call to CLAROR to continue the same random number sequence. modified π₯
π§ X π§
X is COMPLEX array, dimension ( 3*MAX( M, N ) ) β workspace. of length:
2*M + NifSIDE = 'L',2*N + MifSIDE = 'R',3*NifSIDE = 'C'or'T'.
modified.
π INFO π
INFO is INTEGER β an error flag. it is set to:
0if no error.1ifCLARNDreturned a bad random number (installation problem).-1ifSIDEis notL,R,C, orT.-3ifMis negative.-4ifNis negative or ifSIDEisCorTandNis not equal toM.-6ifLDAis less thanM.
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§Ύ Definition at line 157 of file claror.f. π§Ύ
that's the exact line-and-file situation: Definition at line 157 of file claror.f.
π Author π
the page's own generated-author note says: Generated automatically by Doxygen for LAPACK from the source code.
xoxo bestie, the footer says source/version LAPACK β Version 3.12.0 β and the page path /home/abui...N/claror.f(3) πβ¨ (no date line in this footer, just so you know).
π¦ 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