SRC/cgeqrt2.f(3)

✨ SRC/cgeqrt2.f ✨

okay bestie, buckle up β€” this one is from the LAPACK manual, section 3, and it's honestly kind of iconic πŸ’…


🌸 NAME 🌸

SRC/cgeqrt2.f β€” that's literally it, that's the name, no notes πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine cgeqrt2 (m, n, a, lda, t, ldt, info) β€” CGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine cgeqrt2 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, integer info)

CGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY representation of Q. slay 🫢

πŸ’œ Purpose:

!>
!> CGEQRT2 computes a QR factorization of a complex M-by-N matrix A,
!> using the compact WY representation of Q.
!>

πŸ“ Parameters

M

!>          M is INTEGER
!>          The number of rows of the matrix A.  M >= N.
!>

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 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
!>          The leading dimension of the array A.  LDA >= max(1,M).
!>

T

!>          T is COMPLEX array, dimension (LDT,N)
!>          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
!>          The leading dimension of the array T.  LDT >= max(1,N).
!>

INFO

!>          INFO is INTEGER
!>          = 0: successful exit
!>          < 0: if INFO = -i, the i-th argument had an illegal value
!>
lowkey important: INFO never lies. = 0 means you ate and left no crumbs, < 0 means argument number i showed up with an illegal value and got read for filth πŸ’€

🧚 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

β€” the whole squad, fr fr 🌈

⭐ 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.
!>

okay so picture this: V is giving lower-triangular-but-make-it-fashion, the vi vectors live under the diagonal and they're the ones that define H(i), and they get handed back to you inside A πŸŽ€ meanwhile those 1's along the diagonal of V? not stored in A, they're just vibes ✨ and the block reflector H is, literally,

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

where V**H is the conjugate transpose of V. conjugate transpose is main character energy, no cap πŸ‘‘

Definition at line 126 of file cgeqrt2.f.


πŸ’– Author

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page bestie, every single detail accounted for, nothing skipped, we ate and left zero crumbs πŸ’…βœ¨

okay bye, this was LAPACK Version 3.12.0, generated by Doxygen for LAPACK straight from the source code β€” mwah 😘 πŸ¦‹πŸ’–πŸŒΈ

πŸ“¦ where this page comes from