DPSTF2(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’– NAME πŸ’–

Bestie, welcome to DPSTF2(3) from the Library Functions Manual! The header path is /home/abui...RC/dpstf2.f(3) β€” yes, it's giving "my full legal name is a file path" πŸ’€. Anyway, here's the actual NAME entry, and we respect it:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dpstf2.f


✨ SYNOPSIS ✨

🧚 Functions/Subroutines 🧚

subroutine DPSTF2 (uplo, n, a, lda, piv, rank, tol, work, info)

DPSTF2 computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix. That's the official one-liner, and it ate. πŸ”₯


πŸŽ€ Function/Subroutine Documentation πŸŽ€

🌸 The full signature 🌸

subroutine DPSTF2 (character uplo, integer n, double precision, dimension(
       lda, * ) a, integer lda, integer, dimension( n ) piv, integer rank,
       double precision tol, double precision, dimension( 2*n ) work, integer
       info)

DPSTF2 computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix. πŸ’–

✨ Purpose: ✨

Here's the exact purpose block, bestie β€” no cap, I'm not paraphrasing the math:

!>
!> DPSTF2 computes the Cholesky factorization with complete
!> pivoting of a real symmetric positive semidefinite matrix A.
!>
!> The factorization has the form
!>    P**T * A * P = U**T * U ,  if UPLO = 'U',
!>    P**T * A * P = L  * L**T,  if UPLO = 'L',
!> where U is an upper triangular matrix and L is lower triangular, and
!> P is stored as vector PIV.
!>
!> This algorithm does not attempt to check that A is positive
!> semidefinite. This version of the algorithm calls level 2 BLAS.
!>
⚠️ Important vibe check: this algorithm does not attempt to check that A is positive semidefinite. It's giving "trust me bestie" energy, so don't make it responsible for that validation. 😭

🌈 Parameters 🌈

  • UPLO β€” CHARACTER*1. Tells us whether the upper or lower triangular part of the symmetric matrix A is stored. = 'U': Upper triangular; = 'L': Lower triangular. πŸ‘‘
  • N β€” INTEGER. The order of the matrix A. N >= 0. ✨
  • A β€” DOUBLE PRECISION array, dimension (LDA,N). On entry, this is 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, it holds the factor U or L from the Cholesky factorization as above. 🫢
  • PIV β€” INTEGER array, dimension (N). PIV is such that the nonzero entries are P( PIV(K), K ) = 1. πŸ“Œ
  • RANK β€” INTEGER. The rank of A given by the number of steps the algorithm completed. πŸ’―
  • TOL β€” DOUBLE PRECISION. 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. 🎯
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= max(1,N). πŸ¦‹
  • WORK β€” DOUBLE PRECISION array, dimension (2*N). Work space. That's the whole description, bestie. 🧚
  • INFO β€” INTEGER. The status tea:
    • < 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 πŸ‘‘

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

Definition at line 140 of file dpstf2.f. πŸ“


🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code. So this author is a bot, and honestly? It understood the assignment. πŸ€–πŸ’…


Okay that's the whole page, bestie. Footer shoutout: LAPACK Version 3.12.0, path /home/abui...RC/dpstf2.f(3). Mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from