CPBTF2(3)
CPBTF2(3) π β¨
okay bestie, welcome to CPBTF2(3) β this one is from the Library Functions Manual, and itβs giving βtiny but mighty linear algebra goblin.β Itβs an unblocked Cholesky factorization routine for a complex Hermitian positive definite band matrix, and yes, the vibes are mathematically immaculate. π«Ά
NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cpbtf2.f
thatβs the file/name, literally right there. no cap. πβ¨
SYNOPSIS π¦
Functions/Subroutines
subroutine CPBTF2 (uplo, n, kd, ab, ldab, info)β CPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm).
π οΈ Function/Subroutine Documentation π οΈ
subroutine CPBTF2 (character uplo, integer n, integer kd, complex,
dimension( ldab, * ) ab, integer ldab, integer info)
CPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm). sheβs specialized, sheβs focused, she knows her band storage. π
β¨ Purpose β¨
okay so CPBTF2 computes the Cholesky factorization of a complex Hermitian positive definite band matrix A.
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, U**H is the conjugate transpose of U, and L is lower triangular.
This is the unblocked version of the algorithm, calling Level 2 BLAS. periodt. π₯
Parameters πΈ
UPLOβCHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrixAis stored:= 'U':Upper triangular;= 'L':Lower triangular.NβINTEGER. The order of the matrixA.N >= 0.KDβINTEGER. The number of super-diagonals of the matrixAifUPLO = 'U', or the number of sub-diagonals ifUPLO = 'L'.KD >= 0.ABβCOMPLEX array, dimension (LDAB,N). On entry, the upper or lower triangle of the Hermitian band matrixA, stored in the firstKD+1rows of the array. Thej-th column ofAis stored in thej-th column of the arrayABas follows:
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
On exit, if INFO = 0, the triangular factor U or L from the Cholesky factorization A = U**H *U or A = L*L**H of the band matrix A, in the same storage format as A. π
LDABβINTEGER. The leading dimension of the arrayAB.LDAB >= KD+1.INFOβINTEGER. Exit status, bestie:
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value
> 0: if INFO = k, the leading principal minor of order k
is not positive, and the factorization could not be
completed.
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 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. π
Definition at line 141 of file cpbtf2.f.
Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
byeee bestie π«Άπ β this page is LAPACK Version 3.12.0, and the footer tag is /home/abui...RC/cpbtf2.f(3). The original footer doesnβt show a calendar date, so no invented date today. πβ¨
π¦ 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