CPSTRF(3)

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

πŸ¦‹ NAME πŸ¦‹

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

okay so bestie, welcome to the Library Functions Manual πŸ’– this page is all about one file β€” cpstrf.f β€” and it's the home of the CPSTRF subroutine. yes the path is giving "I live deep inside a build directory and I'm proud of it" πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

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. (yes, that's a lot of adjectives, no cap, but every single one of them matters 🫢)


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

subroutine CPSTRF

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. that's the whole vibe of this subroutine, and honestly? iconic πŸ‘‘

🌸 Purpose 🌸

CPSTRF computes the Cholesky factorization with complete pivoting of a complex Hermitian positive semidefinite matrix A. The factorization has the form fortran 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.

and now the important part, listen up 🫢 β€” this algorithm does not attempt to check that A is positive semidefinite. like, it is not doing a vibe check on your matrix. and this version of the algorithm calls level 3 BLAS ✨

πŸ’œ Parameters πŸ’œ

  • UPLO β€” UPLO is CHARACTER*1. it tells us whether the upper or lower triangular part of the symmetric matrix A is stored. options are:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” N is INTEGER. the order of the matrix A. and N >= 0, periodt.
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the symmetric matrix A. here's the tea 🍡 β€” 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. (she simply does not look at the other half, respect πŸ’…)
    • On exit, if INFO = 0, the factor U or L from the Cholesky factorization as above. slay.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N). no negotiating on this one, bestie.
  • 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. she counts her own steps, main character energy fr.
  • 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. it's literally just there to help out, humble icon πŸŽ€
  • INFO β€” INFO is INTEGER. the whole mood report:
    • < 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 cpstrf.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. (the bots wrote this one, not me πŸ™ˆ)


and that's the whole page bestie!! πŸ§šπŸ’– this came straight out of the LAPACK squad, Version 3.12.0, and the file is /home/abui...RC/cpstrf.f(3) β€” go forth and factorize your positive semidefinite complex Hermitian matrices responsibly, mwah πŸ’…πŸŒˆ

πŸ“¦ where this page comes from