SRC/dpstrf.f(3)

🌸 NAME 🌸

SRC/dpstrf.f β€” okay so this page is titled SRC/dpstrf.f(3) and it lives in the Library Functions Manual. It’s all about dpstrf: Cholesky factorization with complete pivoting for a real symmetric positive semidefinite matrix. The main character energy is real. πŸ’…

✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine dpstrf (uplo, n, a, lda, piv, rank, tol, work, info) β€” DPSTRF computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix.

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine dpstrf

subroutine dpstrf (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)

DPSTRF computes the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix. No cap.

🌟 Purpose

DPSTRF 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.

⚠️ 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

  • 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 β€” is INTEGER. The order of the matrix A. N >= 0.
  • A β€” is DOUBLE PRECISION 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 β€” is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • PIV β€” is INTEGER array, dimension (N). PIV is such that the nonzero entries are P( PIV(K), K ) = 1.
  • RANK β€” is INTEGER. The rank of A given by the number of steps the algorithm completed.
  • TOL β€” is 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.
  • WORK β€” is DOUBLE PRECISION array, dimension (2*N). Work space.
  • 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

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 141 of file dpstrf.f.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code.


Sign-off, bestie: this page says LAPACK Version 3.12.0, and the file/source tag is SRC/dpstrf.f(3). Date check: the footer doesn’t list a date, so I’m not inventing one β€” we stay factual in this group chat. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from