TESTING/LIN/cqlt03.f(3)

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

TESTING/LIN/cqlt03.f(3) πŸŽ€

Okay bestie, this page is from the Library Functions Manual, and the whole main-character name is TESTING/LIN/cqlt03.f. Yes, that's the name. Slay. πŸ’…

✨ NAME ✨

TESTING/LIN/cqlt03.f β€” that's it, that's the name, and she's serving exact source-file energy. 🫢

🌸 SYNOPSIS 🌸

Functions/Subroutines

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

And the routine in question? CQLT03. Iconic. Periodt. ✨

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

Purpose

So CQLT03 tests CUNMQL, which computes Q*C, Q'*C, C*Q or C*Q'. Like, it's checking all the multiplication angles, no cap. πŸ”₯

Then CQLT03 compares the results of a call to CUNMQL with the results of forming Q explicitly by a call to CUNGQL and then performing matrix multiplication by a call to CGEMM. It's giving "trust but verify" but with complex matrices. πŸ’€

Here's the full signature, exact and unbothered:

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

Routine name: CQLT03. She's right there in the source, glowing. 🌟

Parameters

  • M β€” INTEGER. The order of the orthogonal matrix Q. M >= 0.
  • N β€” 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 β€” INTEGER. The number of elementary reflectors whose product defines the orthogonal matrix Q. M >= K >= 0.
  • AF β€” COMPLEX array, dimension (LDA,N). It holds the details of the QL factorization of an m-by-n matrix, as returned by CGEQLF. See CGEQLF for further details.
  • C β€” COMPLEX array, dimension (LDA,N). The C matrix, doing her thing.
  • CC β€” COMPLEX array, dimension (LDA,N). Same dimension energy, different name.
  • Q β€” COMPLEX array, dimension (LDA,M). The Q matrix, living her best life.
  • LDA β€” INTEGER. The leading dimension of the arrays AF, C, CC, and Q.
  • TAU β€” COMPLEX array, dimension (min(M,N)). The scalar factors of the elementary reflectors corresponding to the QL factorization in AF.
  • WORK β€” COMPLEX array, dimension (LWORK).
  • LWORK β€” 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 β€” REAL array, dimension (M).
  • RESULT β€” REAL array, dimension (4). The test ratios compare two techniques for multiplying a random matrix C by an m-by-m orthogonal matrix Q.

The four RESULT formulas, exactly:

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 cqlt03.f.

πŸ€– Author (auto-generated note) πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


And that's the tea, bestie. This page's footer energy is LAPACK Version 3.12.0 and TESTING/LIN/cqlt03.f(3) β€” no separate date line shown, so we're not inventing one. Just exact version vibes and a cute little sign-off. πŸ«ΆπŸ’–πŸŽ€

πŸ“¦ where this page comes from