SRC/cpbtrf.f(3)
β¨ CPBTRF β the Cholesky glow-up for band matrices β¨
okay so bestie, you know how SRC/cpbtrf.f is a Fortran source file in LAPACK, right? well this page is the manual for the little icon inside it: a subroutine called cpbtrf. it's giving "linear algebra but make it cute", and honestly? it ate. π
π SYNOPSIS π
Functions/Subroutines
subroutine cpbtrf (uplo, n, kd, ab, ldab, info)β the whole vibe. lowercase name, big responsibilities.
subroutine cpbtrf (character uplo, integer n, integer kd, complex,
dimension( ldab, * ) ab, integer ldab, integer info)
π¦ Function/Subroutine Documentation π¦
π subroutine cpbtrf (character uplo, integer n, integer kd, complex, dimension( ldab, * ) ab, integer ldab, integer info)
CPBTRF
Purpose:
lowkey the main character moment: CPBTRF computes the Cholesky factorization of a complex Hermitian positive definite band matrix A. no cap. π«Ά
The factorization has the form
A = U**H * U, if UPLO = 'U', or
A = L * L**H, if UPLO = 'L',
where U is an upper triangular matrix and L is lower triangular. so either way you get your triangles, it's just a question of which side is serving. πΊ
Parameters
UPLO
UPLOisCHARACTER*1= 'U': Upper triangle of A is stored; β¬οΈ= 'L': Lower triangle of A is stored. β¬οΈ
N
NisINTEGER- The order of the matrix A.
N >= 0.
- The order of the matrix A.
KD
KDisINTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.
- The number of superdiagonals of the matrix A if
AB
ABisCOMPLEX array, dimension (LDAB,N)- On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the first
KD+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows:- if
UPLO = 'U',AB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; - if
UPLO = 'L',AB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).
- if
- On exit, if
INFO = 0, the triangular factor U or L from the Cholesky factorizationA = U**H*UorA = L*L**Hof the band matrix A, in the same storage format as A. she leaves the party in the exact same outfit, iconic. π
- On entry, the upper or lower triangle of the Hermitian band matrix A, stored in the first
LDAB
LDABisINTEGER- The leading dimension of the array AB.
LDAB >= KD+1.
- The leading dimension of the array AB.
INFO
INFOisINTEGER= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π> 0: ifINFO = i, the leading principal minor of order i is not positive, and the factorization could not be completed. π that's the "not positive definite" heartbreak, fr fr.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(the whole group chat contributed, we love a collab π)
Further Details:
okay this part is genuinely iconic, the band storage scheme is illustrated by the following example, when N = 6, KD = 2, and UPLO = 'U':
On entry: On exit:
* * a13 a24 a35 a46 * * 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
Similarly, if UPLO = 'L' the format of A is as follows:
On entry: On exit:
a11 a22 a33 a44 a55 a66 l11 l22 l33 l44 l55 l66
a21 a32 a43 a54 a65 * l21 l32 l43 l54 l65 *
a31 a42 a53 a64 * * l31 l42 l53 l64 * *
Array elements marked * are not used by the routine. they're literally just there for the aesthetic, do not touch them, they are not a part of this story. β¨
Contributors:
Peter Mayes and Giuseppe Radicati, IBM ECSEC, Rome, March 23, 1989. shoutout to the OGs, 1989 and still slaying π°οΈπ
Definition at line 141 of file cpbtrf.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. not a human wrote this bit, it's the machine's little bow on top π
and that's the page, bestie! this whole thing came from LAPACK, Version 3.12.0, and the source file was SRC/cpbtrf.f(3) β so if you ever need to cite it, you know exactly where it lives. mwah, go factor some Hermitian positive definite band matrices responsibly ππΈ
π¦ 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