ZQRT11(3)

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

πŸ’… ZQRT11 β€” like, the whole manual, but make it make sense

Hey bestie 🫢 so this page lives in the Library Functions Manual (yes, that's the manual name, we're folding it in up top like a cute lil hair clip). It's a (3) man page, and the function is ZQRT11. It's giving LAPACK testing energy, and honestly? Iconic.


🌸 NAME 🌸

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

That's the file. That's literally the whole NAME section. Periodt. πŸ’… (Yes, it's a path, and yes, you're gonna read it out loud in the group chat, sorry.)


✨ SYNOPSIS ✨

Functions/Subroutines

double precision function ZQRT11 (m, k, a, lda, tau, work, lwork)

ZQRT11


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

double precision function ZQRT11 (integer m, integer k, complex*16,
    dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau,
    complex*16, dimension( lwork ) work, integer lwork)

ZQRT11

πŸŽ€ Purpose πŸŽ€

okay so, bestie, pay attention, because this is the whole point of the function:

ZQRT11 computes the test ratio || Q'*Q - I || / (eps * m) where the orthogonal matrix Q is represented as a product of elementary transformations. Each transformation has the form H(k) = I - tau(k) v(k) v(k)' where tau(k) is stored in TAU(k) and v(k) is an m-vector of the form [ 0 ... 0 1 x(k) ]', where x(k) is a vector of length m-k stored in A(k+1:m,k).

Like, it's a test ratio β€” || Q'*Q - I || / (eps * m) β€” because Q should be orthogonal, and if Q'*Q isn't basically I, something is wrong, and this function is the one holding the mirror up. πŸͺžβœ¨ It's the vibe check of the QR world, fr fr.


πŸ“ Parameters πŸ“

M

M is INTEGER The number of rows of the matrix A.

So, like, how tall A is. πŸ“

K

K is INTEGER The number of columns of A whose subdiagonal entries contain information about orthogonal transformations.

i.e. how many columns are out here carrying the orthogonal-transformation lore. The subdiagonal entries are doing the heavy lifting, iykyk. πŸ‘‘

A

A is COMPLEX*16 array, dimension (LDA,K) The (possibly partial) output of a QR reduction routine.

"Possibly partial" β€” she's a work in progress, and that's beautiful. 🫢

LDA

LDA is INTEGER The leading dimension of the array A.

The leading dimension, bestie. Don't skip it, don't question it. ⭐

TAU

TAU is COMPLEX*16 array, dimension (K) The scaling factors tau for the elementary transformations as computed by the QR factorization routine.

The scaling factors, straight from the QR factorization routine's own hands. πŸ’–

WORK

WORK is COMPLEX*16 array, dimension (LWORK)

That's it. That's the description. It's a workspace array of size LWORK and nobody asked it to be more interesting than that. πŸ’€

LWORK

LWORK is INTEGER The length of the array WORK. LWORK >= M*M + M.

⚠️ Important, no cap: LWORK >= M*M + M. That's the floor. Do not come in under that. 😭 It's M*M + M and it's not a suggestion.


πŸ‘‘ Author πŸ‘‘

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

(i.e. the whole squad co-signed this one. 🌈)

Definition at line 97 of file zqrt11.f.


🧚 Author (yes, again) 🧚

Generated automatically by Doxygen for LAPACK from the source code.

Like, nobody hand-wrote this page, the machine did it, and honestly it ate. πŸ€–βœ¨


πŸ’ Sign-off πŸ’

This gorgeous lil page is LAPACK, Version 3.12.0 β€” and its footer path is /home/abui...IN/zqrt11.f(3), tucked in right there at the bottom like a signature on a love letter. πŸ’Œ

Slay, bestie. Go orthogonalize something. πŸ”₯πŸ’œ

πŸ“¦ where this page comes from