CRQT01(3)

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

πŸ’… CRQT01(3) β€” the RQ glow-up test suite ✨

okay bestie, so this file lives at the very extra address /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/crqt01.f β€” and it's a Fortran function/subroutine documentation page from LAPACK, version 3.12.0. It's giving "test the thing that tests the thing." Let's go πŸŽ€


✨ SYNOPSIS ✨

πŸ¦‹ Functions & Subroutines

subroutine CRQT01 (m, n, a, af, q, r, lda, tau, work, lwork, rwork, result)

CRQT01 β€” that's her name, that's her whole vibe πŸ’–


🌸 Function/Subroutine Documentation 🌸

subroutine CRQT01 (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)

πŸ‘‘ What she actually does (Purpose)

!>
!> CRQT01 tests CGERQF, which computes the RQ factorization of an m-by-n
!> matrix A, and partially tests CUNGRQ which forms the n-by-n
!> orthogonal matrix Q.
!>
!> CRQT01 compares R with A*Q', and checks that Q is orthogonal.
!>

So basically CRQT01 is the vibe-checker for CGERQF (which computes the RQ factorization of an m-by-n matrix A) and she partially tests CUNGRQ, which forms the n-by-n orthogonal matrix Q 🌈

Then she does the actual homework: she compares R with A*Q', and she checks that Q is orthogonal. no cap, that's the whole assignment πŸ’€


🌼 Parameters (aka the guest list)

  • M β€” INTEGER. The number of rows of the matrix A. Constraint: M >= 0. (Zero rows is valid, bestie, don't @ me πŸ™ˆ)
  • N β€” INTEGER. The number of columns of the matrix A. Constraint: N >= 0.
  • A β€” COMPLEX array, dimension (LDA,N). The m-by-n matrix A. main character energy ⭐
  • AF β€” COMPLEX array, dimension (LDA,N). Details of the RQ factorization of A, as returned by CGERQF. See CGERQF for further details. (she's the receipts 🧾)
  • Q β€” COMPLEX array, dimension (LDA,N). The n-by-n orthogonal matrix Q. iconique ✨
  • R β€” COMPLEX array, dimension (LDA,max(M,N)). (yes that's max(M,N) β€” highkey important 🫢)
  • LDA β€” INTEGER. The leading dimension of the arrays A, AF, Q and L. Constraint: LDA >= max(M,N). don't skimp on the leading dimension, fr fr πŸ’…
  • TAU β€” COMPLEX array, dimension (min(M,N)). The scalar factors of the elementary reflectors, as returned by CGERQF. (min(M,N) β€” the little one πŸ“)
  • WORK β€” COMPLEX array, dimension (LWORK).
  • LWORK β€” INTEGER. The dimension of the array WORK. (she's the workspace budget, budget accordingly πŸ’Έ)
  • RWORK β€” REAL array, dimension (max(M,N)).
  • RESULT β€” REAL array, dimension (2). The test ratios πŸ”₯
    • RESULT(1) = norm( R - A*Q' ) / ( N * norm(A) * EPS )
    • RESULT(2) = norm( I - Q*Q' ) / ( N * EPS )
🚨 reminder that RESULT only has room for 2 entries β€” don't be out here indexing into RESULT(3) like a chaos gremlin, she is not that girl

πŸŽ€ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

all four of them, credited, periodt πŸ‘‘


πŸ’œ Definition

Definition at line 124 of file crqt01.f.


🌟 Author (the meta one) 🌟

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a bot doing bot things πŸ€–βœ¨)


okay so that's the whole page, bestie β€” every flag, every dimension, every constraint, nothing skipped 🫢

LAPACK β€” Version 3.12.0 πŸ’– and the timestamp is just the file path chilling at /home/abui...IN/crqt01.f β€” courtesy of /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/crqt01.f, mwah πŸ’‹

πŸ“¦ where this page comes from