TESTING/LIN/clqt01.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ’… TESTING/LIN/clqt01.f(3) β€” a.k.a. the LAPACK manual, Library Functions Manual, bestie edition πŸŽ€

okay so real talk, this page is literally all about one Fortran subroutine and she is iconic. no cap.


✨ NAME ✨

TESTING/LIN/clqt01.f β€” yes queen, that's the file, that's the whole name, we love a straightforward main character πŸ¦‹


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine clqt01 (m, n, a, af, q, l, lda, tau, work, lwork, rwork, result) β€” CLQT01 πŸ’–

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

🫢 subroutine clqt01

subroutine clqt01 (integer m, integer n, complex, dimension( lda, * ) a,
    complex, dimension( lda, * ) af, complex, dimension( lda, * ) q,
    complex, dimension( lda, * ) l, integer lda, complex, dimension( * )
    tau, complex, dimension( lwork ) work, integer lwork, real, dimension( *
    ) rwork, real, dimension( * ) result)

CLQT01 ⭐


πŸ’œ Purpose πŸ’œ

!>
!> CLQT01 tests CGELQF, which computes the LQ factorization of an m-by-n
!> matrix A, and partially tests CUNGLQ which forms the n-by-n
!> orthogonal matrix Q.
!>
!> CLQT01 compares L with A*Q', and checks that Q is orthogonal.
!>

so basically she's the vibe-check subroutine 🧚: CLQT01 tests CGELQF (which computes the LQ factorization of an m-by-n matrix A), and she partially tests CUNGLQ (which forms the n-by-n orthogonal matrix Q). and then, the actual flex: CLQT01 compares L with A*Q', and checks that Q is orthogonal. slay πŸ”₯


πŸŽ€ Parameters πŸŽ€

  • M
!>          M is INTEGER
!>          The number of rows of the matrix A.  M >= 0.
!>

M is INTEGER, and she's the number of rows of the matrix A. the rule? M >= 0. periodt πŸ’…

  • N
!>          N is INTEGER
!>          The number of columns of the matrix A.  N >= 0.
!>

N is INTEGER and she's the number of columns of the matrix A. constraint bestie: N >= 0 ✨

  • A
!>          A is COMPLEX array, dimension (LDA,N)
!>          The m-by-n matrix A.
!>

A is a COMPLEX array, dimension (LDA,N). it's literally the m-by-n matrix A πŸ’–

  • AF
!>          AF is COMPLEX array, dimension (LDA,N)
!>          Details of the LQ factorization of A, as returned by CGELQF.
!>          See CGELQF for further details.
!>

AF is a COMPLEX array, dimension (LDA,N). she holds the details of the LQ factorization of A, as returned by CGELQF β€” and if you want further details, see CGELQF (iykyk) πŸ¦‹

  • Q
!>          Q is COMPLEX array, dimension (LDA,N)
!>          The n-by-n orthogonal matrix Q.
!>

Q is a COMPLEX array, dimension (LDA,N) β€” the n-by-n orthogonal matrix Q. orthogonal queen πŸ‘‘

  • L
!>          L is COMPLEX array, dimension (LDA,max(M,N))
!>

L is a COMPLEX array, dimension (LDA,max(M,N)). that's it, that's the whole note 😌

  • LDA
!>          LDA is INTEGER
!>          The leading dimension of the arrays A, AF, Q and L.
!>          LDA >= max(M,N).
!>

LDA is INTEGER: the leading dimension of the arrays A, AF, Q and L. and the rule is LDA >= max(M,N) β€” no exceptions bestie 🌸

  • TAU
!>          TAU is COMPLEX array, dimension (min(M,N))
!>          The scalar factors of the elementary reflectors, as returned
!>          by CGELQF.
!>

TAU is a COMPLEX array, dimension (min(M,N)): the scalar factors of the elementary reflectors, as returned by CGELQF πŸ’«

  • WORK
!>          WORK is COMPLEX array, dimension (LWORK)
!>

WORK is a COMPLEX array, dimension (LWORK). she works hard, obviously πŸ’…

  • LWORK
!>          LWORK is INTEGER
!>          The dimension of the array WORK.
!>

LWORK is INTEGER: the dimension of the array WORK. simple, cute, done πŸŽ€

  • RWORK
!>          RWORK is REAL array, dimension (max(M,N))
!>

RWORK is a REAL array, dimension (max(M,N)). yes she's the real one 🫢

  • RESULT
!>          RESULT is REAL array, dimension (2)
!>          The test ratios:
!>          RESULT(1) = norm( L - A*Q' ) / ( N * norm(A) * EPS )
!>          RESULT(2) = norm( I - Q*Q' ) / ( N * EPS )
!>

RESULT is a REAL array, dimension (2), and she carries the test ratios, verbatim:

  • RESULT(1) = norm( L - A*Q' ) / ( N * norm(A) * EPS )
  • RESULT(2) = norm( I - Q*Q' ) / ( N * EPS )

those are the receipts, and the receipts are math 😭πŸ”₯


🌈 Author 🌈

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

Definition at line 124 of file clqt01.f. 🧚

⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (the robots did this one, not me πŸ’€)


and that's the whole page, bestie β€” no skips, no crumbs left behind. sourced straight from the LAPACK girlies themselves: Version 3.12.0 πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from