TESTING/LIN/dqlt02.f(3)

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

πŸ’… TESTING/LIN/dqlt02.f(3) β€” the DQLT02 glow-up πŸŽ€

okay so bestie, welcome to the TESTING/LIN/dqlt02.f page from the LAPACK manual ✨ this one's a testing routine, and honestly? it's giving "quietly holding the whole QL factorization together" energy πŸ‘‘


✨ SYNOPSIS ✨

🌸 Functions/Subroutines

  • subroutine dqlt02 (m, n, k, a, af, q, l, lda, tau, work, lwork, rwork, result) β€” DQLT02 🫢

πŸ’– Function/Subroutine Documentation πŸ’–

🧚 subroutine dqlt02 (integer m, integer n, integer k, double precision, dimension( lda, * ) a, double precision, dimension( lda, * ) af, double precision, dimension( lda, * ) q, double precision, dimension( lda, * ) l, integer lda, double precision, dimension( * ) tau, double precision, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( * ) result)

DQLT02 ⭐

πŸ¦‹ Purpose:

!>
!> DQLT02 tests DORGQL, which generates an m-by-n matrix Q with
!> orthonormal columns that is defined as the product of k elementary
!> reflectors.
!>
!> Given the QL factorization of an m-by-n matrix A, DQLT02 generates
!> the orthogonal matrix Q defined by the factorization of the last k
!> columns of A; it compares L(m-n+1:m,n-k+1:n) with
!> Q(1:m,m-n+1:m)'*A(1:m,n-k+1:n), and checks that the columns of Q are
!> orthonormal.
!>

so basically, it's lowkey the vibe-check routine for DORGQL πŸ’… it generates that m-by-n Q with orthonormal columns made from k elementary reflectors, then it compares L(m-n+1:m,n-k+1:n) against Q(1:m,m-n+1:m)'*A(1:m,n-k+1:n) β€” and on top of that it checks that Q's columns are actually orthonormal. no cap, that's the whole assignment 🫢


πŸ’œ Parameters πŸ’œ

  • M β€” M is INTEGER 🌸 The number of rows of the matrix Q to be generated. M >= 0. like, how tall Q is, and it's gotta be at least 0.
  • N β€” N is INTEGER ✨ The number of columns of the matrix Q to be generated. and M >= N >= 0. so N can never ghost past M, periodt.
  • K β€” K is INTEGER πŸŽ€ The number of elementary reflectors whose product defines the matrix Q. N >= K >= 0. the reflector count, sandwiched between N and 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N) πŸ¦‹ The m-by-n matrix A which was factorized by DQLT01. the original matrix, already been through DQLT01's whole thing.
  • AF β€” AF is DOUBLE PRECISION array, dimension (LDA,N) πŸ’– Details of the QL factorization of A, as returned by DGEQLF. See DGEQLF for further details. iykyk, the factorization receipts live in here.
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDA,N) 🌈 the star of the show, bestie πŸ‘‘
  • L β€” L is DOUBLE PRECISION array, dimension (LDA,N) ⭐ also iconic, also living its LDA by N life.
  • LDA β€” LDA is INTEGER 🌸 The leading dimension of the arrays A, AF, Q and L. LDA >= M. it's the leading-dim glow-up for all four of those arrays, and LDA better be >= M or we riot 😭
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (N) 🧚 The scalar factors of the elementary reflectors corresponding to the QL factorization in AF. the little scalar-factor besties chilling with the AF factorization.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (LWORK) πŸ’œ scratch space, dimension (LWORK).
  • LWORK β€” LWORK is INTEGER πŸŽ€ The dimension of the array WORK. literally just that, bestie.
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (M) πŸ¦‹ another workspace, dimension (M) this time.
  • RESULT β€” RESULT is DOUBLE PRECISION array, dimension (2) πŸ”₯ The test ratios: the tea β˜•, two of them:
!>          RESULT(1) = norm( L - Q'*A ) / ( M * norm(A) * EPS )
!>          RESULT(2) = norm( I - Q'*Q ) / ( M * EPS )

like, RESULT(1) is the accuracy ratio for the L vs Q'*A comparison, and RESULT(2) is the orthonormality check on Q β€” the I - Q'*Q ratio. both scaled by M and EPS of course πŸ’…


πŸ‘‘ Author πŸ‘‘

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

πŸ’€ Definition at line 134 of file dqlt02.f.


🌟 Author 🌟

Generated automatically by Doxygen for LAPACK from the source code. πŸ™ˆ yes it's autogenerated, don't come for her 😭


and that's a wrap, bestie! 🫢 the footer energy is giving LAPACK, Version 3.12.0, and this little page is dated back to its TESTING/LIN/dqlt02.f(3) era β€” mwah πŸ’‹ go forth and test those QL factorizations, queen πŸ‘‘πŸ’–

πŸ“¦ where this page comes from