SRC/cpptrf.f(3)

✨ SRC/cpptrf.f(3) β€” Library Functions Manual ✨

Okay bestie, welcome to the SRC/cpptrf.f(3) page from the Library Functions Manual πŸ’– This is the whole vibe, no cap.


🌸 NAME 🌸

SRC/cpptrf.f β€” the main character file, periodt. She's giving subroutine energy and we're obsessed πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

✨ Functions/Subroutines ✨

  • subroutine cpptrf (uplo, n, ap, info) β€” this is the whole entire function, bestie. CPPTRF ate and left no crumbs πŸ’…

πŸ’œ Function/Subroutine Documentation πŸ’œ

πŸŽ€ subroutine cpptrf (character uplo, integer n, complex, dimension( * ) ap, integer info) πŸŽ€

CPPTRF

🌟 Purpose:

CPPTRF computes the Cholesky factorization of a complex Hermitian positive definite matrix A stored in packed format. It's literally that girl πŸ’–

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 and L is lower triangular. No cap, that's the whole point 🫢

πŸ“ Parameters

  • UPLO β€” UPLO is CHARACTER*1. She's telling you which triangle is stored, and you better listen:
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. Not me checking that N is non-negative, periodt 😌
  • AP β€” AP is COMPLEX array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
    • if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
    • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.

See below for further details (yes, there's a whole example, keep scrolling bestie).

On exit, if INFO = 0, the triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, in the same storage format as A. Iconic behavior, honestly πŸ”₯

  • INFO β€” INFO is INTEGER. The vibe check:
    • = 0: successful exit β€” we love a win πŸ’–
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” not me side-eyeing your arguments πŸ™ˆ
    • > 0: if INFO = i, the leading principal minor of order i is not positive definite, and the factorization could not be completed. It's giving not positive definite, and honestly? Tragic πŸ’€

🧚 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

🌈 Further Details:

The packed storage scheme is illustrated by the following example when N = 4, UPLO = 'U':

Two-dimensional storage of the Hermitian matrix A:

   a11 a12 a13 a14
       a22 a23 a24
           a33 a34     (aij = conjg(aji))
               a44

Packed storage of the upper triangle of A:

AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]

Literally so satisfying to look at, ngl πŸ¦‹

Definition at line 118 of file cpptrf.f. β€” she's got a designated spot in the source code, and she's serving it πŸ’…

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. The robots did their thing, and we respect the automation ✨


And that's the tea, bestie πŸŽ€ This page was brought to you by LAPACK Version 3.12.0 and the file SRC/cpptrf.f(3). No date in sight, but she's timeless πŸ’– Stay slaying, stay factorizing, and remember: positive definite matrices only 🫢

πŸ“¦ where this page comes from