PDPTTRF(l)
π PDPTTRF β bestie's guide to the LAPACK routine π
okay so we're doing PDPTTRF, a LAPACK routine β version 1.5 era, she's vintage and she still slays. Grab a snack, this one's actually not that long. π
β¨ NAME β¨
PDPTTRF β she computes a Cholesky factorization of an N-by-N real tridiagonal symmetric positive definite distributed matrix A(1:N, JA:JA+N-1). That's the whole job description, no cap. π
πΈ SYNOPSIS πΈ
SUBROUTINE PDPTTRF( N, D, E, JA, DESCA, AF, LAF, WORK, LWORK, INFO )
INTEGER INFO, JA, LAF, LWORK, N
INTEGER DESCA( * )
DOUBLE PRECISION AF( * ), D( * ), E( * ), WORK( * )
look at her β tiny little signature, very demure, very mindful. π«Ά
π PURPOSE π
so here's the tea. PDPTTRF computes a Cholesky factorization of an N-by-N real tridiagonal symmetric positive definite distributed matrix A(1:N, JA:JA+N-1).
Now the important part, bestie, read this twice: reordering is used to increase parallelism in the factorization. Sounds cute, right? It is! But β and this is the plot twist β this reordering results in factors that are DIFFERENT from those produced by equivalent sequential codes. π
Those factors can NOT be used directly by users. Periodt. Don't try it. They're not for you to read off and go do your own little math with.
But! they can be used in subsequent calls to PDPTTRS to solve linear systems. So the pipeline is: factorize here, hand the factors to PDPTTRS, live your life. π
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. π
iconic behavior honestly β two whole flavors of the same factorization. Pick your fighter. β¨
and that's the whole page, you ate it. π This was PDPTTRF, from LAPACK version 1.5, dated 12 May 1997 β genuinely a legend, we stan an old queen π. Now go call PDPTTRS and solve something, bestie. ππ¦
π¦ where this page comes from
- ubuntu jammy: scalapack-doc 1.5-11
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms