/home/abui.../sgeqr2p.f(3)
πΈ NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sgeqr2p.f β and yes bestie that is literally the whole name, it's a Library Functions Manual situation, we love a dramatic full path π
β¨ SYNOPSIS
Functions/Subroutines
subroutine SGEQR2P (m, n, a, lda, tau, work, info)β SGEQR2P computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm. π«Ά
π Function/Subroutine Documentation
subroutine SGEQR2P (integer m, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( * ) tau, real, dimension( * ) work,
integer info)
Okay so this is the icon, the main character: SGEQR2P computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm. Periodt. β¨
Purpose
!>
!> SGEQR2P computes a QR factorization of a real 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 with nonnegative diagonal
!> entries;
!> 0 is a (m-n)-by-n zero matrix, if m > n.
!>
!>
Like literally, break A into Q times that stacked ( R ) over ( 0 ) situation β Q is the m-by-m orthogonal bestie, R is upper-triangular n-by-n with nonnegative diagonal entries, and 0 is that (m-n)-by-n zero block when m > n. It's giving decomposition. π
Parameters
M
!> M is INTEGER
!> The number of rows of the matrix A. M >= 0.
The number of rows of the matrix A, and it has to be M >= 0 β no negative row energy allowed π
N
!> N is INTEGER
!> The number of columns of the matrix A. N >= 0.
The number of columns of the matrix A. N >= 0, same rule, we're keeping it non-negative π
A
!> A is REAL 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 diagonal entries of R
!> are nonnegative; the elements below the diagonal,
!> with the array TAU, represent the orthogonal matrix Q as a
!> product of elementary reflectors (see Further Details).
A is REAL array, dimension (LDA,N). On entry it's the m by n matrix A, on exit it's a whole glow-up: the elements on and above the diagonal contain the min(m,n) by n upper trapezoidal matrix R (R is upper triangular if m >= n, slay), the diagonal entries of R are nonnegative, and the elements below the diagonal β together with the array TAU β represent the orthogonal matrix Q as a product of elementary reflectors (see Further Details, iykyk). π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,M).
The leading dimension of the array A. Constraint: LDA >= max(1,M). No cap, just math π
TAU
!> TAU is REAL array, dimension (min(M,N))
!> The scalar factors of the elementary reflectors (see Further
!> Details).
TAU is REAL array, dimension (min(M,N)). It holds the scalar factors of the elementary reflectors β again, see Further Details below, it's all connected π¦
WORK
!> WORK is REAL array, dimension (N)
WORK is REAL array, dimension (N). The workspace. The little helper. We appreciate her πΈ
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
INFO is INTEGER, the vibe check at the end:
= 0: successful exit, we ate π₯< 0: ifINFO = -i, the i-th argument had an illegal value β so something you passed in was not it, go fix it π
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
The whole squad of institutions behind it, we stan π
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**T
!>
!> where tau is a real scalar, and v is a real 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).
!>
!> See Lapack Working Note 203 for details
!>
So 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**T
where tau is a real scalar and v is a real 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). And if you want the deep lore, See Lapack Working Note 203 for details π§
Definition at line 133 of file sgeqr2p.f. π
π Author
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page bestie, no notes π Cute little sign-off: this was LAPACK, Version 3.12.0, and the page lives at /home/abui.../sgeqr2p.f(3) β go forth and factorize responsibly πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms