TESTING/LIN/drqt03.f(3)

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

🌸 TESTING/LIN/drqt03.f(3) 🌸

okay bestie, this page comes from the Library Functions Manual, and it’s the whole lore on drqt03 β€” a LAPACK testing routine that is very much giving β€œtrust me, I checked the math” energy. πŸ’…βœ¨

✨ SYNOPSIS ✨

✨ Functions/Subroutines ✨

  • subroutine drqt03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork, result) β€” DRQT03

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine drqt03 (integer m, integer n, integer k, double precision, dimension( lda, * ) af, double precision, dimension( lda, * ) c, double precision, dimension( lda, * ) cc, double precision, dimension( lda, * ) q, integer lda, double precision, dimension( * ) tau, double precision, dimension( lwork ) work, integer lwork, double precision, dimension( * ) rwork, double precision, dimension( * ) result)

DRQT03

πŸ’œ Purpose πŸ’œ

DRQT03 tests DORMRQ, which computes Q*C, Q'*C, C*Q or C*Q'. It’s the vibe-check routine for matrix multiplication with Q. 🫢

DRQT03 compares the results of a call to DORMRQ with the results of forming Q explicitly by a call to DORGRQ and then performing matrix multiplication by a call to DGEMM. So yeah, it’s basically β€œdid DORMRQ do the thing right, or do we need to compare notes with the explicit route?” 😭πŸ”₯

πŸŽ€ Parameters πŸŽ€

  • M β€” M is INTEGER. The number of rows or columns of the matrix C; C is n-by-m if Q is applied from the left, or m-by-n if Q is applied from the right. M >= 0.
  • N β€” N is INTEGER. The order of the orthogonal matrix Q. N >= 0.
  • K β€” K is INTEGER. The number of elementary reflectors whose product defines the orthogonal matrix Q. N >= K >= 0.
  • AF β€” AF is DOUBLE PRECISION array, dimension (LDA,N). Details of the RQ factorization of an m-by-n matrix, as returned by DGERQF. See SGERQF for further details.
  • C β€” C is DOUBLE PRECISION array, dimension (LDA,N).
  • CC β€” CC is DOUBLE PRECISION array, dimension (LDA,N).
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDA,N).
  • LDA β€” LDA is INTEGER. The leading dimension of the arrays AF, C, CC, and Q.
  • TAU β€” TAU is DOUBLE PRECISION array, dimension (min(M,N)). The scalar factors of the elementary reflectors corresponding to the RQ factorization in AF.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (LWORK).
  • LWORK β€” LWORK is INTEGER. The length of WORK. LWORK must be at least M, and should be M*NB, where NB is the blocksize for this environment.
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (M).
  • RESULT β€” RESULT is DOUBLE PRECISION array, dimension (4). The test ratios compare two techniques for multiplying a random matrix C by an n-by-n orthogonal matrix Q.
RESULT(1) = norm( Q*C - Q*C )  / ( N * norm(C) * EPS )
RESULT(2) = norm( C*Q - C*Q )  / ( N * norm(C) * EPS )
RESULT(3) = norm( Q'*C - Q'*C )/ ( N * norm(C) * EPS )
RESULT(4) = norm( C*Q' - C*Q' )/ ( N * norm(C) * EPS )

πŸ‘‘ Author πŸ‘‘

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

Definition at line 134 of file drqt03.f.

πŸ’– Author πŸ’–

Generated automatically by Doxygen for LAPACK from the source code.


that’s the whole page, bestie β€” from LAPACK Version 3.12.0, page TESTING/LIN/drqt03.f(3). The footer doesn’t give a separate date, so we’re not inventing one; Doxygen just auto-made this cutie from the source code. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from