CGEQR2(3)

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

πŸ’– CGEQR2 πŸ’–

okay bestie, welcome to the LAPACK Library Functions Manual page for CGEQR2. this is the one that computes the QR factorization of a general rectangular matrix using an unblocked algorithm, and we are going to get through every single detail together. no skipping, no β€œeh close enough” β€” periodt. ✨

πŸŽ€ NAME πŸŽ€

The NAME is literally this source path, character for character:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgeqr2.f

That’s the file this manual page is about, bestie. 🫢

✨ SYNOPSIS ✨

🫢 Functions/Subroutines 🫢

  • subroutine CGEQR2 (m, n, a, lda, tau, work, info) β€” CGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm.

🌸 Function/Subroutine Documentation 🌸

Okay so here’s the full signature, and yes we are keeping every type and dimension because that’s the whole point:

subroutine CGEQR2 (integer m, integer n, complex, dimension( lda, * ) a,
    integer lda, complex, dimension( * ) tau, complex, dimension( * ) work,
    integer info)

CGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. πŸ’…

πŸ¦‹ Purpose πŸ¦‹

Here’s the purpose block, verbatim vibes:

!>
!> CGEQR2 computes a QR factorization of a complex m-by-n matrix A:
!>
!>    A = Q * ( R ),
!>            ( 0 )
!>
!> where:
!>
!>    Q is a m-by-m orthogonal matrix;
!>    R is an upper-triangular n-by-n matrix;
!>    0 is a (m-n)-by-n zero matrix, if m > n.
!>
!>

So yeah: A = Q * ( R ) over ( 0 ), with Q a m-by-m orthogonal matrix, R an upper-triangular n-by-n matrix, and 0 a (m-n)-by-n zero matrix if m > n. iconic. πŸ‘‘

πŸ’… Parameters πŸ’…

  • M β€” M is INTEGER; the number of rows of the matrix A. M >= 0. 🌈
  • N β€” N is INTEGER; the number of columns of the matrix A. N >= 0. 🌈
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain the min(m,n) by n upper trapezoidal matrix R (R is upper triangular if m >= n); the elements below the diagonal, with the array TAU, represent the unitary matrix Q as a product of elementary reflectors (see Further Details). πŸ¦‹
  • LDA β€” LDA is INTEGER; the leading dimension of the array A. LDA >= max(1,M). πŸ“
  • TAU β€” TAU is COMPLEX array, dimension (min(M,N)); the scalar factors of the elementary reflectors (see Further Details). πŸ’–
  • WORK β€” WORK is COMPLEX array, dimension (N). πŸ› οΈ
  • INFO β€” INFO is INTEGER; = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value. 🚨

πŸ‘‘ Author πŸ‘‘

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

all four, bestie. no cap. 🫢

πŸ”₯ Further Details πŸ”₯

The matrix Q is represented as a product of elementary reflectors:

Q = H(1) H(2) . . . H(k), where k = min(m,n).

Each H(i) has the form:

H(i) = I - tau * v * v**H

where tau is a complex scalar, and v is a complex vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in TAU(i). ⭐

Definition at line 129 of file cgeqr2.f. πŸ’€ (not me keeping the line number, but also yes me.)

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie, that’s the whole page! the footer energy is LAPACK, Version 3.12.0, source path /home/abui...RC/cgeqr2.f(3) β€” no separate date in the footer, just the version and source tag, and that’s a wrap. πŸ’œβœ¨

πŸ“¦ where this page comes from