DPSTRF(3)
π DPSTRF(3) β Library Functions Manual π
okay bestie, welcome to the dpstrf.f(3) page from the Library Functions Manual. This is the LAPACK routine for the Cholesky factorization with complete pivoting of a real symmetric positive semidefinite matrix. It's giving linear algebra main character energy, and we are seated. πͺβ¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dpstrf.f
β¨ 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 (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.
π 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.
!>
!> This algorithm does not attempt to check that A is positive
!> semidefinite. This version of the algorithm calls level 3 BLAS.
!>
So like, it factors A with pivoting, but it is not out here checking that A is positive semidefinite for you. Level 3 BLAS is doing the heavy lifting. πͺ
π Parameters π
UPLO
UPLO is 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
N is INTEGER β the order of matrix A. N >= 0.
A
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
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 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
WORK is DOUBLE PRECISION array, dimension (2*N) β work space.
INFO
INFO is INTEGER
< 0: IfINFO = -K, theK-th argument had an illegal value,= 0: algorithm completed successfully, and> 0: the matrixAis either rank deficient with computed rank as returned inRANK, 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.
That's the whole page, bestie π β no cap. It's from LAPACK Version 3.12.0, and the footer path is /home/abui...RC/dpstrf.f(3). Go forth and factor something cute! πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms