SRC/cpstrf.f(3)

✨ SRC/cpstrf.f(3) ✨

okay bestie, welcome to the Library Functions Manual entry for SRC/cpstrf.f β€” it's giving tiny file, huge math energy, and we're obsessed πŸ’–


πŸŽ€ NAME πŸŽ€

SRC/cpstrf.f β€” minimal, iconic, periodt πŸ’…


🌈 SYNOPSIS 🌈

πŸ¦‹ Functions/Subroutines πŸ¦‹

Quick vibe check, iykyk:

subroutine cpstrf (uplo, n, a, lda, piv, rank, tol, work, info)
    CPSTRF computes the Cholesky factorization with complete pivoting of
    complex Hermitian positive semidefinite matrix.

🧚 Function/Subroutine Documentation 🧚

ngl, the signature is long but she's literally just doing her job 🫢

subroutine cpstrf (character uplo, integer n, complex, dimension( lda, * )
       a, integer lda, integer, dimension( n ) piv, integer rank, real tol,
       real, dimension( 2*n ) work, integer info)

CPSTRF computes the Cholesky factorization with complete pivoting of complex Hermitian positive semidefinite matrix.

🌟 Purpose: 🌟

okay so here's the whole point, bestie: CPSTRF computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix A. πŸ’–

The factorization has the form

P**T * A * P = U**H * U ,  if UPLO = 'U',
P**T * A * P = L  * L**H,  if UPLO = 'L',

where U is an upper triangular matrix and L is lower triangular, and P is stored as vector PIV.

🚨 no cap, important vibe check: this algorithm does not attempt to check that A is positive semidefinite. This version of the algorithm calls level 3 BLAS.

πŸ’– Parameters πŸ’–

bestie, every parameter matters, fr fr. Here's the full list:

  • UPLO β€” UPLO is CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix A is stored.
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” N is INTEGER. The order of the matrix A. N >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N).
    • On entry, the symmetric matrix A. If UPLO = 'U', the leading n by n upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading n by n lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
    • On exit, if INFO = 0, the factor U or L from the Cholesky factorization as above.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • PIV β€” PIV is INTEGER array, dimension (N). PIV is such that the nonzero entries are P( PIV(K), K ) = 1.
  • RANK β€” RANK is INTEGER. The rank of A given by the number of steps the algorithm completed.
  • TOL β€” TOL is REAL. User defined tolerance. If TOL < 0, then N*U*MAX( A(K,K) ) will be used. The algorithm terminates at the (K-1)st step if the pivot <= TOL.
  • WORK β€” WORK is REAL array, dimension (2*N). Work space.
  • INFO β€” INFO is INTEGER.
    • < 0: If INFO = -K, the K-th argument had an illegal value,
    • = 0: algorithm completed successfully, and
    • > 0: the matrix A is either rank deficient with computed rank as returned in RANK, or is not positive semidefinite. See Section 7 of LAPACK Working Note #161 for further information.

πŸ‘‘ Author πŸ‘‘

the way that multiple universities and NAG Ltd. are on the credits β€” highkey iconic 🌈

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

Definition at line 141 of file cpstrf.f.


🫢 Author 🫢

Generated automatically by Doxygen for LAPACK from the source code.


xoxo, your LAPACK bestie πŸ’– β€” footer stamp: LAPACK Version 3.12.0, SRC/cpstrf.f(3) (no date on this one, just vibes) 🫢

πŸ“¦ where this page comes from