ZGBTF2(3)
π ZGBTF2(3) β Library Functions Manual π
Okay bestie, gather round, because this is the manual page for ZGBTF2 and it's giving βunblocked LU factorization of a complex band matrixβ in the best way possible. No cap. β¨
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgbtf2.f β literally the source file for this routine, periodt. π
π SYNOPSIS π
Functions/Subroutines
subroutine ZGBTF2 (m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algorithm. Iconic. π
π οΈ Function/Subroutine Documentation π οΈ
subroutine ZGBTF2 (integer m, integer n, integer kl, integer ku, complex*16,
dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv,
integer info)
ZGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algorithm. (Yes, same energy as the synopsis, because that's literally what it does, bestie.)
π― Purpose π―
Lowkey the whole point: ZGBTF2 computes an LU factorization of a complex m-by-n band matrix A using partial pivoting with row interchanges.
This is the unblocked version of the algorithm, calling Level 2 BLAS. Slay. β
π§© Parameters π§©
MβM is INTEGER; the number of rows of the matrixA. Constraint:M >= 0.NβN is INTEGER; the number of columns of the matrixA. Constraint:N >= 0.KLβKL is INTEGER; the number of subdiagonals within the band ofA. Constraint:KL >= 0.KUβKU is INTEGER; the number of superdiagonals within the band ofA. Constraint:KU >= 0.ABβAB is COMPLEX*16 array, dimension (LDAB,N).- On entry, the matrix
Ain band storage, in rowsKL+1to2*KL+KU+1; rows1toKLof the array need not be set. - The
j-th column ofAis stored in thej-th column of the arrayABas follows:AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl) - On exit, details of the factorization:
Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1. See below for further details.
- On entry, the matrix
LDABβLDAB is INTEGER; the leading dimension of the arrayAB. Constraint:LDAB >= 2*KL+KU+1.IPIVβIPIV is INTEGER array, dimension (min(M,N)); the pivot indices; for1 <= i <= min(M,N), rowiof the matrix was interchanged with rowIPIV(i).INFOβINFO is INTEGER= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value> 0: ifINFO = +i,U(i,i)is exactly zero. The factorization has been completed, but the factorUis exactly singular, and division by zero will occur if it is used to solve a system of equations.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details π
The band storage scheme is illustrated by the following example, when M = N = 6, KL = 2, KU = 1:
On entry: On exit:
* * * + + + * * * u14 u25 u36
* * + + + + * * u13 u24 u35 u46
* a12 a23 a34 a45 a56 * u12 u23 u34 u45 u56
a11 a22 a33 a44 a55 a66 u11 u22 u33 u44 u55 u66
a21 a32 a43 a54 a65 * m21 m32 m43 m54 m65 *
a31 a42 a53 a64 * * m31 m42 m53 m64 * *
Array elements marked * are not used by the routine; elements marked + need not be set on entry, but are required by the routine to store elements of U, because of fill-in resulting from the row interchanges.
Definition at line 144 of file zgbtf2.f.
πͺ Author πͺ
Generated automatically by Doxygen for LAPACK from the source code.
That's the whole vibe, bestie. This page is from LAPACK Version 3.12.0, source path /home/abui...RC/zgbtf2.f(3) β mwah πβ¨
π¦ 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