CQRT01(3)
π NAME π
ok so cqrt01.f β the manual for this one lives in the 3 section, and the file path is literally the whole vibe:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cqrt01.f
like yes bestie, that's the name, that's the whole name, they really just gave us the file path and said "go off" π
β¨ SYNOPSIS β¨
Functions/Subroutines π
subroutine CQRT01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result)β that's her. that'sCQRT01.
π¦ Function/Subroutine Documentation π¦
subroutine CQRT01 (integer m, integer n, complex, dimension( lda, * ) a,
complex, dimension( lda, * ) af, complex, dimension( lda, * ) q,
complex, dimension( lda, * ) r, integer lda, complex, dimension( * )
tau, complex, dimension( lwork ) work, integer lwork, real, dimension( *
) rwork, real, dimension( * ) result)
CQRT01 π the icon herself.
πΈ Purpose πΈ
!>
!> CQRT01 tests CGEQRF, which computes the QR factorization of an m-by-n
!> matrix A, and partially tests CUNGQR which forms the m-by-m
!> orthogonal matrix Q.
!>
!> CQRT01 compares R with Q'*A, and checks that Q is orthogonal.
!>
ok so real talk β CQRT01 is a tester. she tests CGEQRF (which computes the QR factorization of an m-by-n matrix A) and she partially tests CUNGQR (which forms the m-by-m orthogonal matrix Q). then she compares R with Q'*A and checks that Q is orthogonal. she's the one doing the vibe check on everybody else's math, no cap π
π§ Parameters π§
M
!> M is INTEGER
!> The number of rows of the matrix A. M >= 0.
the row count of A, and she is an INTEGER, and M >= 0 β that's the rule, don't test her π«Ά
N
!> N is INTEGER
!> The number of columns of the matrix A. N >= 0.
the column count of A. INTEGER, and N >= 0. same energy, same boundaries β¨
A
!> A is COMPLEX array, dimension (LDA,N)
!> The m-by-n matrix A.
it's A. it's COMPLEX, dimension (LDA,N), and it's the m-by-n matrix A. main character matrix fr π
AF
!> AF is COMPLEX array, dimension (LDA,N)
!> Details of the QR factorization of A, as returned by CGEQRF.
!> See CGEQRF for further details.
COMPLEX array, dimension (LDA,N), holding the details of the QR factorization of A as returned by CGEQRF. for the full tea, see CGEQRF π
Q
!> Q is COMPLEX array, dimension (LDA,M)
!> The m-by-m orthogonal matrix Q.
COMPLEX array, dimension (LDA,M) β the m-by-m orthogonal matrix Q. she's orthogonal and she's iconic π
R
!> R is COMPLEX array, dimension (LDA,max(M,N))
COMPLEX array, dimension (LDA,max(M,N)). that's the whole description bestie, take it or leave it π
LDA
!> LDA is INTEGER
!> The leading dimension of the arrays A, AF, Q and R.
!> LDA >= max(M,N).
INTEGER, the leading dimension of the arrays A, AF, Q and R β and it must satisfy LDA >= max(M,N). like, that's not a suggestion, that's the law π
TAU
!> TAU is COMPLEX array, dimension (min(M,N))
!> The scalar factors of the elementary reflectors, as returned
!> by CGEQRF.
COMPLEX array, dimension (min(M,N)), holding the scalar factors of the elementary reflectors, as returned by CGEQRF β¨
WORK
!> WORK is COMPLEX array, dimension (LWORK)
COMPLEX array, dimension (LWORK). that's it. she works π
LWORK
!> LWORK is INTEGER
!> The dimension of the array WORK.
INTEGER, and she's literally just the dimension of the array WORK π
RWORK
!> RWORK is REAL array, dimension (M)
REAL array, dimension (M). yes, REAL, not COMPLEX β she's different like that π
RESULT
!> RESULT is REAL array, dimension (2)
!> The test ratios:
!> RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS )
!> RESULT(2) = norm( I - Q'*Q ) / ( M * EPS )
REAL array, dimension (2) β the test ratios, the moment of truth π₯
RESULT(1) = norm( R - Q'*A ) / ( M * norm(A) * EPS )
RESULT(2) = norm( I - Q'*Q ) / ( M * EPS )
two ratios, two receipts. RESULT(1) is the R vs Q'*A check, RESULT(2) is the orthogonality check. copy them exactly, do not freestyle π€
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
four institutions, one legend π
β Definition at line 124 of file cqrt01.f. β
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes bestie, a robot wrote this one, not me π)
and that's the whole page! π this manual came to you from LAPACK, Version 3.12.0, dated /home/abui...IN/cqrt01.f(3) β that's the date, that's what it says, I don't make the rules π stay slay, stay orthogonal, 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