geql2(3)
π
geql2(3) β QL factor, level 2 β¨
okay so this is geql2(3) from the Library Functions Manual, and it's giving QL factor, level 2 energy. bestie, we're literally about to vibe-check some Fortran subroutines. π¦
πΈ NAME πΈ
geql2 β geql2: QL factor, level 2
β¨ SYNOPSIS β¨
π«Ά Functions π«Ά
subroutine cgeql2 (m, n, a, lda, tau, work, info)β CGEQL2 does the QL factorization of a general rectangular matrix using an unblocked algorithm. πsubroutine dgeql2 (m, n, a, lda, tau, work, info)β DGEQL2 does the QL factorization of a general rectangular matrix using an unblocked algorithm. πsubroutine sgeql2 (m, n, a, lda, tau, work, info)β SGEQL2 does the QL factorization of a general rectangular matrix using an unblocked algorithm. πΈsubroutine zgeql2 (m, n, a, lda, tau, work, info)β ZGEQL2 does the QL factorization of a general rectangular matrix using an unblocked algorithm. π«Ά
π Detailed Description π
bestie, there's literally nothing listed under this heading in this part β it's empty, no cap. π
π FUNCTION DOCUMENTATION π
okay bestie, this is where it gets good β four whole routines, one for each flavour of your data. same energy, different types. let's go π
πΈ subroutine cgeql2
subroutine cgeql2 (integer m, integer n, complex, dimension( lda, * ) a,
integer lda, complex, dimension( * ) tau, complex, dimension( * ) work,
integer info)
CGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm. β¨
π Purpose:
!>
!> CGEQL2 computes a QL factorization of a complex m by n matrix A:
!> A = Q * L.
!>
π¦ Parameters
MβMisINTEGER. it's the number of rows of the matrixA. rule:M >= 0. no negativity allowed, she's got boundaries πNβNisINTEGER. the number of columns of the matrixA. rule:N >= 0. same deal π«ΆAβAisCOMPLEXarray, dimension(LDA,N).- on entry: the m by n matrix
A. hi bestie π - on exit, if
m >= n, the lower triangle of the subarrayA(m-n+1:m,1:n)holds the n by n lower triangular matrixL; - if
m <= n, the elements on and below the (n-m)-th superdiagonal hold the m by n lower trapezoidal matrixL; - the remaining elements, together with the array
TAU, represent the unitary matrixQas a product of elementary reflectors (peep Further Details below, it's giving lore π)
- on entry: the m by n matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA. rule:LDA >= max(1,M). respect the constraint or she WILL be mad π€TAUβTAUisCOMPLEXarray, dimension(min(M,N)). the scalar factors of the elementary reflectors β Further Details has the receipts β¨WORKβWORKisCOMPLEXarray, dimension(N). that's it. that's the whole job πINFOβINFOisINTEGER. the vibe check at the end:= 0: successful exit, slay π< 0: ifINFO = -i, the i-th argument had an illegal value β bestie you passed something cursed π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Further Details:
!>
!> The matrix Q is represented as a product of elementary reflectors
!>
!> Q = H(k) . . . H(2) H(1), 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(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in
!> A(1:m-k+i-1,n-k+i), and tau in TAU(i).
!>
note the v**H β that's the conjugate transpose, because complex numbers are dramatic like that π
Definition at line 122 of file cgeql2.f.
β subroutine dgeql2
subroutine dgeql2 (integer m, integer n, double precision, dimension( lda, *
) a, integer lda, double precision, dimension( * ) tau, double
precision, dimension( * ) work, integer info)
DGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm. same girl, double precision edition π₯
π Purpose:
!>
!> DGEQL2 computes a QL factorization of a real m by n matrix A:
!> A = Q * L.
!>
π¦ Parameters
MβMisINTEGER. the number of rows of the matrixA.M >= 0. yes it's the same as before, no she didn't change, she's consistent β¨NβNisINTEGER. the number of columns of the matrixA.N >= 0. π«ΆAβAisDOUBLE PRECISIONarray, dimension(LDA,N).- on entry: the m by n matrix
A. - on exit, if
m >= n, the lower triangle of the subarrayA(m-n+1:m,1:n)contains the n by n lower triangular matrixL; - if
m <= n, the elements on and below the (n-m)-th superdiagonal contain the m by n lower trapezoidal matrixL; - the remaining elements, plus the array
TAU, represent the orthogonal matrixQas a product of elementary reflectors (see Further Details). note: orthogonal here, not unitary β real numbers keep it simple π
- on entry: the m by n matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,M). periodt πTAUβTAUisDOUBLE PRECISIONarray, dimension(min(M,N)). the scalar factors of the elementary reflectors (Further Details, go look π)WORKβWORKisDOUBLE PRECISIONarray, dimension(N). tiny but mighty πΈINFOβINFOisINTEGER.= 0: successful exit π< 0: ifINFO = -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 Q is represented as a product of elementary reflectors
!>
!> Q = H(k) . . . H(2) H(1), 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(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in
!> A(1:m-k+i-1,n-k+i), and tau in TAU(i).
!>
see that? v**T instead of v**H β no conjugate here, because everything's real and honest π¦
Definition at line 122 of file dgeql2.f.
π« subroutine sgeql2
subroutine sgeql2 (integer m, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( * ) tau, real, dimension( * ) work,
integer info)
SGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm. single precision baddie incoming β
π Purpose:
!>
!> SGEQL2 computes a QL factorization of a real m by n matrix A:
!> A = Q * L.
!>
π¦ Parameters
MβMisINTEGER. number of rows of the matrixA.M >= 0. π«ΆNβNisINTEGER. number of columns of the matrixA.N >= 0. πAβAisREALarray, dimension(LDA,N).- on entry: the m by n matrix
A. - on exit, if
m >= n, the lower triangle of the subarrayA(m-n+1:m,1:n)contains the n by n lower triangular matrixL; - if
m <= n, the elements on and below the (n-m)-th superdiagonal contain the m by n lower trapezoidal matrixL; - the remaining elements, with the array
TAU, represent the orthogonal matrixQas a product of elementary reflectors (see Further Details). yep, orthogonal again β real is real π
- on entry: the m by n matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,M). don't test her πΈTAUβTAUisREALarray, dimension(min(M,N)). scalar factors of the elementary reflectors (see Further Details) β¨WORKβWORKisREALarray, dimension(N). πINFOβINFOisINTEGER.= 0: successful exit, we love to see it π< 0: ifINFO = -i, the i-th argument had an illegal value, tragic π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Further Details:
!>
!> The matrix Q is represented as a product of elementary reflectors
!>
!> Q = H(k) . . . H(2) H(1), 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(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in
!> A(1:m-k+i-1,n-k+i), and tau in TAU(i).
!>
Definition at line 122 of file sgeql2.f.
π₯ subroutine zgeql2
subroutine zgeql2 (integer m, integer n, complex*16, dimension( lda, * ) a,
integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * )
work, integer info)
ZGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm. double complex, double drama, double slay π
π Purpose:
!>
!> ZGEQL2 computes a QL factorization of a complex m by n matrix A:
!> A = Q * L.
!>
π¦ Parameters
MβMisINTEGER. the number of rows of the matrixA.M >= 0. π«ΆNβNisINTEGER. the number of columns of the matrixA.N >= 0. πAβAisCOMPLEX*16array, dimension(LDA,N).- on entry: the m by n matrix
A. - on exit, if
m >= n, the lower triangle of the subarrayA(m-n+1:m,1:n)contains the n by n lower triangular matrixL; - if
m <= n, the elements on and below the (n-m)-th superdiagonal contain the m by n lower trapezoidal matrixL; - the remaining elements, with the array
TAU, represent the unitary matrixQas a product of elementary reflectors (see Further Details). unitary! fancy! β¨
- on entry: the m by n matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,M). non-negotiable πTAUβTAUisCOMPLEX*16array, dimension(min(M,N)). the scalar factors of the elementary reflectors (see Further Details) π¦WORKβWORKisCOMPLEX*16array, dimension(N). πΈINFOβINFOisINTEGER.= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value β check your args bestie π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
π Further Details:
!>
!> The matrix Q is represented as a product of elementary reflectors
!>
!> Q = H(k) . . . H(2) H(1), 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(m-k+i+1:m) = 0 and v(m-k+i) = 1; v(1:m-k+i-1) is stored on exit in
!> A(1:m-k+i-1,n-k+i), and tau in TAU(i).
!>
v**H is back for the complex case β conjugate transpose, the full glamour treatment π
Definition at line 122 of file zgeql2.f.
π§ Author
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page bestie!! four routines, all chilling at line 122 of their own .f files, all doing QL factorization and serving looks π you literally know this now, i'm so proud π«Ά
LAPACK, Version 3.12.0 β that's the source & version info, and this manual page is the geql2(3) one π go be iconic with your factorizations, mwah πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms