pbtf2(3)

🌟 NAME 🌟

pbtf2 β€” pbtf2: triangular factor panel, level 2

okay so real talk, this is a whole little family of routines πŸ’… and this page lives in the Library Functions Manual (that's the manual name, folded in neatly for you πŸŽ€). It's the pbtf2 page, it's part 1, and we're gonna get through all of it together.


✨ SYNOPSIS ✨

πŸ¦‹ Functions πŸ¦‹

Four icons, one job. Meet the squad:

subroutine cpbtf2 (uplo, n, kd, ab, ldab, info)
  • cpbtf2 β€” computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm). πŸ’œ
subroutine dpbtf2 (uplo, n, kd, ab, ldab, info)
  • dpbtf2 β€” computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm). πŸ’œ
subroutine spbtf2 (uplo, n, kd, ab, ldab, info)
  • spbtf2 β€” computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm). πŸ’œ
subroutine zpbtf2 (uplo, n, kd, ab, ldab, info)
  • zpbtf2 β€” computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm). πŸ’œ

same energy, different precision, no cap.


πŸ”₯ Detailed Description πŸ”₯

the details are all down in the individual function docs below bestie, so keep scrolling β¬‡οΈβœ¨


πŸŽ€ Function Documentation πŸŽ€

πŸ‘‘ cpbtf2 πŸ‘‘

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).

🌸 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. (unblocked = it's doing the work the honest way, no fancy blocking, and honestly? respect. πŸ’…)

πŸ“ Parameters πŸ“

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrix A is stored:
    • = 'U': upper triangular
    • = 'L': lower triangular
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. ✨
  • KD β€” KD is INTEGER. The number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. KD >= 0. ✨
  • AB β€” AB is COMPLEX array, dimension (LDAB,N). On entry, 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 as 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. πŸ’€ (same seats, different passengers, iykyk)

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KD+1. 🫢
  • INFO β€” 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 πŸ’€

πŸ’– 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.


πŸ‘‘ dpbtf2 πŸ‘‘

subroutine dpbtf2 (character uplo, integer n, integer kd, double precision, dimension( ldab, * ) ab, integer ldab, integer info)

DPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm).

🌸 Purpose 🌸

DPBTF2 computes the Cholesky factorization of a real symmetric positive definite band matrix A. 🫢

The factorization has the form:

   A = U**T * U ,  if UPLO = 'U', or
   A = L  * L**T,  if UPLO = 'L',

where U is an upper triangular matrix, U**T is the transpose of U, and L is lower triangular. 🌈

This is the unblocked version of the algorithm, calling Level 2 BLAS. πŸ¦‹

πŸ“ Parameters πŸ“

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
    • = 'U': upper triangular
    • = 'L': lower triangular
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. ✨
  • KD β€” KD is INTEGER. The number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. KD >= 0. ✨
  • AB β€” AB is DOUBLE PRECISION array, dimension (LDAB,N). On entry, the upper or lower triangle of the symmetric 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 as 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**T*U or A = L*L**T of the band matrix A, in the same storage format as A. πŸ’€

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KD+1. 🫢
  • INFO β€” 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 πŸ’€

πŸ’– 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 dpbtf2.f.


πŸ‘‘ spbtf2 πŸ‘‘

subroutine spbtf2 (character uplo, integer n, integer kd, real, dimension( ldab, * ) ab, integer ldab, integer info)

SPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (unblocked algorithm).

🌸 Purpose 🌸

SPBTF2 computes the Cholesky factorization of a real symmetric positive definite band matrix A. 🫢

The factorization has the form:

   A = U**T * U ,  if UPLO = 'U', or
   A = L  * L**T,  if UPLO = 'L',

where U is an upper triangular matrix, U**T is the transpose of U, and L is lower triangular. 🌈

This is the unblocked version of the algorithm, calling Level 2 BLAS. πŸ¦‹ totally the same vibe as dpbtf2 but single precision, and she ate πŸ’…

πŸ“ Parameters πŸ“

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
    • = 'U': upper triangular
    • = 'L': lower triangular
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. ✨
  • KD β€” KD is INTEGER. The number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. KD >= 0. ✨
  • AB β€” AB is REAL array, dimension (LDAB,N). On entry, the upper or lower triangle of the symmetric 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 as 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**T*U or A = L*L**T of the band matrix A, in the same storage format as A. πŸ’€

  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= KD+1. 🫢
  • INFO β€” 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 πŸ’€

πŸ’– Author πŸ’–

Univ. of Tennessee

Univ. of California Berkeley

(and the author list keeps going β€” part 2's got the rest of this one, bestie 🫢)

Author squad, continued: Univ. of Colorado Denver, NAG Ltd. πŸ’–

πŸ¦‹ Further Details

okay bestie, here's the band storage scheme visual, exactly as the page lays it out β€” when N = 6, KD = 2, and UPLO = 'U':

           !>
           !>  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 spbtf2.f.


πŸ’… 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).

🎯 Purpose

okay so ZPBTF2 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.

πŸ“ Parameters

  • UPLO β€” CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrix A is stored:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • KD β€” INTEGER. The number of super-diagonals of the matrix A if UPLO = 'U', or the number of sub-diagonals if UPLO = 'L'. KD >= 0.
  • AB β€” COMPLEX*16 array, dimension (LDAB,N). On entry, 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 β€” INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • INFO β€” 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.

πŸ’– Author

Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd. β€” iconic collab.

πŸ¦‹ Further Details

Same energy, same exact band storage scheme. When N = 6, KD = 2, and UPLO = 'U':

           !>
           !>  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 zpbtf2.f.

πŸ“œ Author

Generated automatically by Doxygen for LAPACK from the source code.


πŸ’– that's a wrap on pbtf2(3) β€” source LAPACK, version 3.12.0, and yeah the footer didn't print a date, so I'm not inventing one, bestie. mwah πŸ’…

πŸ“¦ where this page comes from