/home/abui.../ztplqt2.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… 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 matrix B. Constraint: M >= 0. πŸ’–
  • N β€” N is INTEGER. The number of columns of the matrix B, and the order of the triangular matrix A. Constraint: N >= 0. ✨
  • L β€” L is INTEGER. The number of rows of the lower trapezoidal part of B. Constraint: MIN(M,N) >= L >= 0. See Further Details. πŸŽ€
  • A β€” A is COMPLEX*16 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. πŸ¦‹
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. Constraint: LDA >= max(1,M). 🌸
  • B β€” B is COMPLEX*16 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. πŸ’…
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. Constraint: LDB >= max(1,M). 🫢
  • T β€” T is COMPLEX*16 array, dimension (LDT,M). The N-by-N upper triangular factor T of the block reflector. See Further Details. 😭 (yes, N-by-N and (LDT,M) live together in the source, no cap)
  • LDT β€” LDT is INTEGER. The leading dimension of the array T. Constraint: LDT >= max(1,M). πŸ”₯
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-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 line 176 of file ztplqt2.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