PSDTTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ PSDTTRF ✨

okay bestie, gather round, because this is a LAPACK routine and it's lowkey iconic 🫢. We're in the l manual, and the whole vibe is: distributed linear algebra, but make it parallel. Let's go πŸ’…


🌸 NAME 🌸

PSDTTRF β€” the girl who computes a LU factorization of an N-by-N real tridiagonal diagonally dominant-like distributed matrix A(1:N, JA:JA+N-1). no cap, that's literally her whole job πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

SUBROUTINE PSDTTRF( N, DL, D, DU, JA, DESCA, AF, LAF, WORK, LWORK, INFO
                    )

    INTEGER         INFO, JA, LAF, LWORK, N

    INTEGER         DESCA( * )

    REAL            AF( * ), D( * ), DL( * ), DU( * ), WORK( * )

look at that signature. so clean. so structured. we love a routine that knows what it is ✨


πŸ¦‹ PURPOSE πŸ¦‹

okay so here's the tea β˜• β€” PSDTTRF computes a LU factorization of an N-by-N real tridiagonal diagonally dominant-like distributed matrix A(1:N, JA:JA+N-1).

and here's the part where it gets spicy 🌢️: reordering is used to increase parallelism in the factorization. This reordering results in factors that are DIFFERENT from those produced by equivalent sequential codes. like, not the same. not even a little. different different. πŸ’€

so those factors cannot be used directly by users β€” that's not me being dramatic, that's the manpage being dramatic. BUT. and this is the slay part: they can be used in subsequent calls to PSDTTRS to solve linear systems. so it's not useless, it's just ✨situationship-only✨ with the solver. iykyk 🧚

The factorization has the form

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

where:

  • U is a tridiagonal upper triangular matrix ⭐
  • L is tridiagonal lower triangular πŸ’œ
  • P is a permutation matrix 🌈

and that's the whole thing, bestie. three matrices, one permutation, infinite parallel energy. main character factorization fr fr πŸ‘‘


⚠️ reminder bestie: those factors are not for direct use. they're built for PSDTTRS. don't be out here using them raw πŸ™ˆ

PSDTTRF is serving LAPACK routine, version 1.5, dated 12 May 1997 β€” old enough to be your auntie but still running the distributed-matrix game πŸ’– mwah, periodt πŸ’…βœ¨

πŸ“¦ where this page comes from