CQRT01(3)

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

πŸ’… 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's CQRT01.

πŸ¦‹ 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