SRC/zgeqrt3.f(3)

SRC/zgeqrt3.f(3)

okay bestie, this page is from the Library Functions Manual and it's all about SRC/zgeqrt3.f(3) β€” a LAPACK recursive QR situation, and yes, we're gonna get into it. πŸ’…βœ¨

πŸ’– NAME πŸ’–

SRC/zgeqrt3.f

πŸ¦‹ SYNOPSIS πŸ¦‹

🧚 Functions/Subroutines 🧚

recursive subroutine zgeqrt3 (m, n, a, lda, t, ldt, info)
    ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

πŸ”₯ Function/Subroutine Documentation πŸ”₯

Here's the full signature, no cap:

recursive subroutine zgeqrt3 (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldt, * ) t, integer ldt, integer info)

And yep, same energy again: ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q. 🫢

✨ Purpose ✨

ZGEQRT3 recursively computes a QR factorization of a complex M-by-N matrix A, using the compact WY representation of Q. πŸ’–

Based on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000. πŸ”₯

πŸŽ€ Parameters πŸŽ€

  • M β€” M is INTEGER; it's the number of rows of the matrix A. Condition: M >= N.
  • N β€” N is INTEGER; it's the number of columns of the matrix A. Condition: N >= 0.
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). On entry, it's the complex M-by-N matrix A. On exit, the elements on and above the diagonal contain the N-by-N upper triangular matrix R; the elements below the diagonal are the columns of V. See below for further details.
  • LDA β€” LDA is INTEGER; it's the leading dimension of the array A. Condition: LDA >= max(1,M).
  • T β€” T is COMPLEX*16 array, dimension (LDT,N). It's the N-by-N upper triangular factor of the block reflector. The elements on and above the diagonal contain the block reflector T; the elements below the diagonal are not used. See below for further details.
  • LDT β€” LDT is INTEGER; it's the leading dimension of the array T. Condition: LDT >= max(1,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.

🌈 Further Details 🌈

The matrix V stores the elementary reflectors H(i) in the i-th column below the diagonal. For example, if M=5 and N=3, the matrix V is:

               V = (  1       )
                   ( v1  1    )
                   ( v1 v2  1 )
                   ( v1 v2 v3 )
                   ( v1 v2 v3 )

where the vi's represent the vectors which define H(i), which are returned in the matrix A. The 1's along the diagonal of V are not stored in A. The block reflector H is then given by:

               H = I - V * T * V**H

where V**H is the conjugate transpose of V. πŸ’œ

For details of the algorithm, see Elmroth and Gustavson (cited above). ✨

Definition at line 131 of file zgeqrt3.f.

🫢 Author 🫢

Generated automatically by Doxygen for LAPACK from the source code.


kisses bestie, this iconic little page is from LAPACK Version 3.12.0, page SRC/zgeqrt3.f(3). πŸŽ€πŸ’–πŸŒΈ

πŸ“¦ where this page comes from