SRC/zpbtf2.f(3)

okay so bestie β€” welcome to the Library Functions Manual page for SRC/zpbtf2.f(3) πŸ’– this is the whole thing, with the vibes turned all the way up and every single fact kept exactly where it belongs.

πŸ’– NAME πŸ’–

SRC/zpbtf2.f


✨ SYNOPSIS ✨

🫢 Functions/Subroutines 🫢

  • subroutine zpbtf2 (uplo, n, kd, ab, ldab, info) β€” ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix using the unblocked algorithm. slay.

πŸŽ€ Function/Subroutine Documentation πŸŽ€

πŸ’… subroutine zpbtf2 πŸ’…

subroutine zpbtf2 (character uplo, integer n, integer kd, complex*16, dimension( ldab, * ) ab, integer ldab, integer info)

ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix, unblocked-algorithm style ✨

Purpose

okay so listen: ZPBTF2 computes the Cholesky factorization of a complex Hermitian positive definite band matrix A πŸ’…

the factorization has this 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 β€” lowkey iconic, no cap.

Parameters

  • UPLO β€” is CHARACTER*1. it specifies whether the upper or lower triangular part of the Hermitian matrix A is stored:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” is INTEGER. the order of the matrix A. constraint: N >= 0 πŸ’–
  • KD β€” is INTEGER. the number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. constraint: KD >= 0 🌸
  • AB β€” is COMPLEX*16 array, dimension (LDAB,N). on entry, it holds the upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows of the array. the j-th column of A is stored in the j-th column of the array AB like this:
    • 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, it holds 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 β€” is INTEGER. the leading dimension of the array AB. constraint: LDAB >= KD+1 ✨
  • INFO β€” is INTEGER:
    • = 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. so yeah, that’s a real β€œoop” moment πŸ’€

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 β€” they’re just there vibing, honestly 🫢

Definition at line 141 of file zpbtf2.f.


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


k bye bestie πŸ’… this page comes from SRC/zpbtf2.f(3) and the footer stamps it as LAPACK Version 3.12.0; there was no date line in the source, so I’m not inventing one β€” periodt βœ¨πŸŽ€

πŸ“¦ where this page comes from