/home/abui.../ztplqt2.f(3)
π
ztplqt2.f β Library Functions Manual π
okay so this is the ztplqt2.f(3) page from the Library Functions Manual. It's LAPACK, it's Fortran, it's giving linear algebra main character energy. The header path is /home/abui.../ztplqt2.f(3) and the NAME section points at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ztplqt2.f. Slay. π
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ztplqt2.f
That's the literal name/path, no notes, just the file. π
β¨ SYNOPSIS β¨
β¨ Functions/Subroutines β¨
subroutine ZTPLQT2 (m, n, l, a, lda, b, ldb, t, ldt, info)β the icon itself. The synopsis says exactly:
ZTPLQT2 computes a LQ factorization of a real or complex triangular-
pentagonal"matrix,whichiscomposedofatriangularblockandapentagonalblock,usingthecompactWYrepresentationforQ.
π«Ά Function/Subroutine Documentation π«Ά
Here's the full signature with all the types, dimensions, and vibes intact:
subroutine ZTPLQT2 (integer m, integer n, integer l, complex*16, dimension(
lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b, integer ldb,
complex*16, dimension( ldt, * ) t, integer ldt, integer info)
And the main character sentence is literally: ZTPLQT2 computes a LQ factorization of a real or complex "triangular-pentagonal" matrix, which is composed of a triangular block and a pentagonal block, using the compact WY representation for Q. π
π― Purpose π―
The exact purpose blurb is: ZTPLQT2 computes a LQ a factorization of a complex matrix C, which is composed of a triangular block A and pentagonal block B, using the compact WY representation for Q. β¨ (Yes, it says "LQ a factorization" β that's the source, bestie.)
πΈ Parameters πΈ
MβM is INTEGER. The total number of rows of the matrixB. Constraint:M >= 0. πNβN is INTEGER. The number of columns of the matrixB, and the order of the triangular matrixA. Constraint:N >= 0. β¨LβL is INTEGER. The number of rows of the lower trapezoidal part ofB. Constraint:MIN(M,N) >= L >= 0. See Further Details. πAβA is COMPLEX*16 array, dimension (LDA,M). On entry, the lower triangularM-by-MmatrixA. On exit, the elements on and below the diagonal of the array contain the lower triangular matrixL. π¦LDAβLDA is INTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,M). πΈBβB is COMPLEX*16 array, dimension (LDB,N). On entry, the pentagonalM-by-NmatrixB. The firstN-Lcolumns are rectangular, and the lastLcolumns are lower trapezoidal. On exit,Bcontains the pentagonal matrixV. See Further Details. πLDBβLDB is INTEGER. The leading dimension of the arrayB. Constraint:LDB >= max(1,M). π«ΆTβT is COMPLEX*16 array, dimension (LDT,M). TheN-by-Nupper triangular factorTof the block reflector. See Further Details. π (yes,N-by-Nand(LDT,M)live together in the source, no cap)LDTβLDT is INTEGER. The leading dimension of the arrayT. Constraint:LDT >= max(1,M). π₯INFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value. π
π Author π
These absolute legends:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§ Further Details π§
Okay bestie, matrix lore time. The input matrix C is an M-by-(M+N) matrix:
C = [ A ][ B ]
where A is an lower triangular M-by-M matrix, and B is an M-by-N pentagonal matrix consisting of an M-by-(N-L) rectangular matrix B1 left of an M-by-L upper trapezoidal matrix B2:
B = [ B1 ][ B2 ]
[ B1 ] <- M-by-(N-L) rectangular
[ B2 ] <- M-by-L lower trapezoidal.
The lower trapezoidal matrix B2 consists of the first L columns of an N-by-N lower triangular matrix, where 0 <= L <= MIN(M,N). If L=0, B is rectangular M-by-N; if M=L=N, B is lower triangular.
The matrix W stores the elementary reflectors H(i) in the i-th row above the diagonal (of A) in the M-by-(M+N) input matrix C:
C = [ A ][ B ]
[ A ] <- lower triangular M-by-M
[ B ] <- M-by-N pentagonal
so that W can be represented as
W = [ I ][ V ]
[ I ] <- identity, M-by-M
[ V ] <- M-by-N, same form as B.
Thus, all of information needed for W is contained on exit in B, which we call V above. Note that V has the same form as B; that is,
W = [ V1 ][ V2 ]
[ V1 ] <- M-by-(N-L) rectangular
[ V2 ] <- M-by-L lower trapezoidal.
The rows of V represent the vectors which define the H(i)'s. The (M+N)-by-(M+N) block reflector H is then given by
H = I - W**T * T * W
where W^H is the conjugate transpose of W and T is the upper triangular factor of the block reflector. (The source says W**T in the equation and W^H in the next line β iconic inconsistency, keep both. π)
Definition at line176of fileztplqt2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie. The footer says LAPACK Version 3.12.0 and points to /home/abui.../ztplqt2.f(3) β plus the usual Doxygen auto-gen date-ish footer energy. No actual date is spelled out, just the version and path, periodt. π
β¨π«Ά
π¦ 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