CQRT03(3)

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

πŸ’– CQRT03(3) πŸ’–

okay so this page is from the Library Functions Manual, and it's serving pure LAPACK testing-subroutine energy. no cap, it's a CQRT03 page and it wants you to know exactly what it does πŸ’…

✨ NAME ✨

the name here is literally this file path, bestie:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cqrt03.f

✨ SYNOPSIS ✨

Functions/Subroutines

subroutine CQRT03 (m, n, k, af, c, cc, q, lda, tau, work, lwork, rwork,
    result)

CQRT03 β€” that's the whole vibe 🫢

πŸŽ€ Function/Subroutine Documentation πŸŽ€

the subroutine signature is giving main-character energy:

subroutine CQRT03 (integer m, integer n, integer k, complex, dimension( lda,
* ) af, complex, dimension( lda, * ) c, complex, dimension( lda, * ) cc,
complex, dimension( lda, * ) q, integer lda, complex, dimension( * )
tau, complex, dimension( lwork ) work, integer lwork, real, dimension( *
) rwork, real, dimension( * ) result)

CQRT03 again, obviously. we love a consistent queen πŸ‘‘

Purpose

ok so CQRT03 tests CUNMQR, which computes Q*C, Q'*C, C*Q or C*Q'.

and then CQRT03 compares the results of a call to CUNMQR with the results of forming Q explicitly by a call to CUNGQR and then performing matrix multiplication by a call to CGEMM. literally the whole point πŸ’–

Parameters

  • M β€” M is INTEGER. The order of the orthogonal matrix Q. M >= 0. ✨
  • N β€” N is INTEGER. The number of rows or columns of the matrix C; C is m-by-n if Q is applied from the left, or n-by-m if Q is applied from the right. N >= 0. πŸ¦‹
  • K β€” K is INTEGER. The number of elementary reflectors whose product defines the orthogonal matrix Q. M >= K >= 0. πŸŽ€
  • AF β€” AF is COMPLEX array, dimension (LDA,N). Details of the QR factorization of an m-by-n matrix, as returned by CGEQRF. See CGEQRF for further details. πŸ‘‘
  • C β€” C is COMPLEX array, dimension (LDA,N). that's the whole note, no extra lore πŸ’…
  • CC β€” CC is COMPLEX array, dimension (LDA,N). yep, again 🫢
  • Q β€” Q is COMPLEX array, dimension (LDA,M). iconic array behavior 🌈
  • LDA β€” LDA is INTEGER. The leading dimension of the arrays AF, C, CC, and Q. ⭐
  • TAU β€” TAU is COMPLEX array, dimension (min(M,N)). The scalar factors of the elementary reflectors corresponding to the QR factorization in AF. πŸ’œ
  • WORK β€” WORK is COMPLEX array, dimension (LWORK). short and sweet πŸ“
  • 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 REAL array, dimension (M). real ones know 😭
  • RESULT β€” RESULT is REAL array, dimension (4). The test ratios compare two techniques for multiplying a random matrix C by an m-by-m orthogonal matrix Q.
RESULT(1) = norm( Q*C - Q*C )  / ( M * norm(C) * EPS )
RESULT(2) = norm( C*Q - C*Q )  / ( M * norm(C) * EPS )
RESULT(3) = norm( Q'*C - Q'*C )/ ( M * norm(C) * EPS )
RESULT(4) = norm( C*Q' - C*Q' )/ ( M * norm(C) * EPS )

Author

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

Definition at line 134 of file cqrt03.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– byeeee, bestie! this footer/source situation is LAPACK Version 3.12.0, path /home/abui...IN/cqrt03.f(3). there's no explicit date line in the footer, so I'm not inventing one 😭. and yes, it was generated automatically by Doxygen for LAPACK from the source code. 🫢✨

πŸ“¦ where this page comes from