/home/abui.../dtplqt2.f(3)
π¦ DTPLQT2 πΈ
ok so this is a manpage from LAPACK, bestie β the Library Functions Manual situation β and we're talking about /home/abui.../dtplqt2.f(3). buckle up, it's a Fortran girlie and she's iconic π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dtplqt2.f
like, that's the whole path, that's her address, no cap π
π SYNOPSIS π
Functions/Subroutines
subroutine DTPLQT2 (m, n, l, a, lda, b, ldb, t, ldt, info)β DTPLQT2 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.
(i'm not gonna lie the original strings those words together with zero spaces, but you get the vibe β¨)
π Function/Subroutine Documentation π
subroutine DTPLQT2 (integer m, integer n, integer l, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( ldb, *
) b, integer ldb, double precision, dimension( ldt, * ) t, integer ldt,
integer info)
so DTPLQT2 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. that's the whole personality π«Ά
π Purpose π
!>!> DTPLQT2 computes a LQ a factorization of a real!> matrix C, which is composed of a triangular block A and pentagonal block B,!> using the compact WY representation for Q.!>
(yes the source really does say "a factorization", we are respecting her choices π)
π Parameters π
Mβ!>!> M is INTEGER!> The total number of rows of the matrix B.!> M >= 0.!>β like, the row count of B, and it's gotta be zero or more, periodt π―Nβ!>!> N is INTEGER!> The number of columns of the matrix B, and the order of!> the triangular matrix A.!> N >= 0.!>β columns of B and the order of A, she's doing double duty, main character energy πLβ!>!> L is INTEGER!> The number of rows of the lower trapezoidal part of B.!> MIN(M,N) >= L >= 0. See Further Details.!>β the row count of B's lower trapezoidal part, andMIN(M,N) >= L >= 0, and yes go read Further Details, i'm serious πAβ!>!> A is DOUBLE PRECISION array, dimension (LDA,M)!> On entry, the lower triangular M-by-M matrix A.!> On exit, the elements on and below the diagonal of the array!> contain the lower triangular matrix L.!>β comes in as the lower triangularM-by-Mmatrix A, leaves with the lower triangular matrix L living on and below the diagonal. glow-up fr β¨LDAβ!>!> LDA is INTEGER!> The leading dimension of the array A. LDA >= max(1,M).!>β leading dimension of A, gotta beLDA >= max(1,M)π«‘Bβ!>!> B is DOUBLE PRECISION array, dimension (LDB,N)!> On entry, the pentagonal M-by-N matrix B. The first N-L columns!> are rectangular, and the last L columns are lower trapezoidal.!> On exit, B contains the pentagonal matrix V. See Further Details.!>β enters as the pentagonalM-by-Nmatrix B, firstN-Lcolumns rectangular, lastLcolumns lower trapezoidal; exits holding the pentagonal matrix V. again: Further Details, bestie πLDBβ!>!> LDB is INTEGER!> The leading dimension of the array B. LDB >= max(1,M).!>β leading dimension of B,LDB >= max(1,M)πTβ!>!> T is DOUBLE PRECISION array, dimension (LDT,M)!> The N-by-N upper triangular factor T of the block reflector.!> See Further Details.!>β theN-by-Nupper triangular factor T of the block reflector. Further Details. you know the drill πLDTβ!>!> LDT is INTEGER!> The leading dimension of the array T. LDT >= max(1,M)!>β leading dimension of T,LDT >= max(1,M)(no period on that one, she's quirky like that) πINFOβ!>!> INFO is INTEGER!> = 0: successful exit!> < 0: if INFO = -i, the i-th argument had an illegal value!>β= 0means we ate and left no crumbs π½οΈ;< 0means ifINFO = -i, the i-th argument had an illegal value, and someone's getting read π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad showed up, we love a collab π
π§ Further Details π§
ok this is the part where it gets math. stay with me π
The input matrix C is a M-by-(M+N) matrix
C = [ A ][ B ]
where A is an lower triangular M-by-M matrix, and B is M-by-N pentagonal matrix consisting of a M-by-(N-L) rectangular matrix B1 left of a 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 a 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.
ngl that last line is giving "the source says W^H but the formula says W**T" and we are simply not going to fight her about it π the manpage said what it said
β Definition β
Definition at line 176 of file dtplqt2.f.
π« Author π«
Generated automatically by Doxygen for LAPACK from the source code.
(i didn't write this, a robot did, and honestly? she understood the assignment π€β¨)
LAPACK Β· Version 3.12.0 Β· /home/abui.../dtplqt2.f(3) β that's a wrap bestie, go factor something LQ-shaped, ily, bye π«Άππ
π¦ 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