PCPBTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– PCPBTRF(l) πŸ’–

okay bestie, so we're in the LAPACK cinematic universe, version 1.5, and this is the PCPBTRF page. it's a routine, it does banded Cholesky stuff, and yes we are gonna get into it. grab a strawberry πŸ“


✨ NAME ✨

PCPBTRF β€” she computes a Cholesky factorization of an N-by-N complex banded symmetric positive definite distributed matrix with bandwidth BW. that's the whole vibe. slay. πŸ’…


🌸 SYNOPSIS 🌸

no cap, here's the exact signature, character for character:

SUBROUTINE PCPBTRF( UPLO, N, BW, A, JA, DESCA, AF, LAF, WORK, LWORK,
                    INFO )

    CHARACTER       UPLO

    INTEGER         BW, INFO, JA, LAF, LWORK, N

    INTEGER         DESCA( * )

    COMPLEX         A( * ), AF( * ), WORK( * )

like... look at all those arguments. main character energy fr fr πŸ‘‘


πŸ¦‹ PURPOSE πŸ¦‹

so PCPBTRF computes a Cholesky factorization of an N-by-N complex banded symmetric positive definite distributed matrix with bandwidth BW: A(1:N, JA:JA+N-1).

and here's the lil plot twist 🫒 β€” reordering is used to increase parallelism in the factorization. which means the factors you get are DIFFERENT from the ones equivalent sequential codes would produce. like, not the same. at all. it's giving "we are not like other girls" but for linear algebra.

⚠️ bestie listen to me: these factors cannot be used directly by users. do not pass go, do not try to use them yourself. however, they can be used in subsequent calls to PCPBTRS to solve linear systems. that's the one (1) place they shine. iykyk ✨

the factorization has the form

P A(1:N, JA:JA+N-1) P^T = U' U ,  if UPLO = 'U', or

P A(1:N, JA:JA+N-1) P^T = L L', if UPLO = 'L'

where U is a banded upper triangular matrix, L is banded lower triangular, and P is a permutation matrix. three icons, one equation, periodt πŸ’œ


LAPACK version 1.5 πŸŽ€ 12 May 1997 β€” yeah she's an elder but she's still iconic, ok?? mwah, love u, go solve something πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from