PZPTTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ PZPTTRF ✨

okay bestie, gather round, because we're about to talk about a LAPACK routine and honestly? she's a lot. this is PZPTTRF, and she lives in section l of the manual, and she's part of the LAPACK family. πŸ’–


🌸 NAME 🌸

PZPTTRF β€” computes a Cholesky factorization of an N-by-N complex tridiagonal symmetric positive definite distributed matrix A(1:N, JA:JA+N-1). no cap, that's the whole job description. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

SUBROUTINE PZPTTRF( N, D, E, JA, DESCA, AF, LAF, WORK, LWORK, INFO )

    INTEGER         INFO, JA, LAF, LWORK, N

    INTEGER         DESCA( * )

    COMPLEX*16      AF( * ), E( * ), WORK( * )

    DOUBLE          PRECISION D( * )

πŸ‘‘ PURPOSE πŸ‘‘

PZPTTRF computes a Cholesky factorization of an N-by-N complex tridiagonal symmetric positive definite distributed matrix A(1:N, JA:JA+N-1). ✨

and here's the tea, bestie: reordering is used to increase parallelism in the factorization. which means β€” and this is important, don't skip this β€” the factors it produces are DIFFERENT from the ones you'd get out of equivalent sequential codes. like, actually different. 😭

so these factors cannot be used directly by users. i know. tragic. πŸ™ˆ BUT β€” they can be used in subsequent calls to PZPTTRS to solve linear systems. so she's not useless, she's just ✨specialized✨.

the factorization has the form

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

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

where U is a tridiagonal upper triangular matrix, L is tridiagonal lower triangular, and P is a permutation matrix. the permutation matrix is doing the reordering thing i mentioned β€” she's the main character of this whole operation honestly. πŸ’…πŸ‘‘


that's the whole vibe!! πŸ¦‹ this was LAPACK routine, version 1.5, dated 12 May 1997 β€” yes she's an elder icon and yes she still eats. πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from