CPOTF2(3)

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

πŸ’… CPOTF2(3) β€” like, the LAPACK Library Functions Manual, bestie πŸŽ€

okay so this one's from the LAPACK library's function manual, and it's a whole mood. Let's get into it ✨


🌸 NAME 🌸

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

(yes that's literally the whole name, she's a long one, we don't gatekeep file paths here πŸ’–)


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine CPOTF2 (uplo, n, a, lda, info)

CPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblocked algorithm). iconic behaviour, no cap πŸ‘‘


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

subroutine CPOTF2 (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer info)

CPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblocked algorithm).


🌈 Purpose 🌈

!>
!> CPOTF2 computes the Cholesky factorization of a complex Hermitian
!> positive definite matrix A.
!>
!> The factorization has the form
!>    A = U**H * U ,  if UPLO = 'U', or
!>    A = L  * L**H,  if UPLO = 'L',
!> where U is an upper triangular matrix and L is lower triangular.
!>
!> This is the unblocked version of the algorithm, calling Level 2 BLAS.
!>

so basically: you hand her a complex Hermitian positive definite matrix A and she factors it, periodt πŸ’… she's the unblocked version of the algorithm (read: she's calling Level 2 BLAS, not the fancy blocked girlies), and she gives you back either an upper triangular U or a lower triangular L depending on the vibe you pick. slay.


πŸŽ€ Parameters πŸŽ€

  • UPLO
!>          UPLO is CHARACTER*1
!>          Specifies whether the upper or lower triangular part of the
!>          Hermitian matrix A is stored.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>

her one-character moment β€” tells her which triangle of A you're actually storing. 'U' for upper triangular, 'L' for lower triangular πŸ’–

  • N
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

the order of the matrix A, and she's gotta be N >= 0 or we're not doing this πŸ™ˆ

  • A
!>          A is COMPLEX array, dimension (LDA,N)
!>          On entry, the Hermitian 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 A = U**H *U  or A = L*L**H.
!>

the main character herself 🫢 she's a COMPLEX array with dimension (LDA,N). on entry she's your Hermitian matrix A β€” if UPLO = 'U' the leading n by n upper triangular part holds the upper triangle of A and the strictly lower triangular part is not referenced (leave her alone, she's not in this scene), and if UPLO = 'L' it's the other way round: leading n by n lower triangle is A's lower triangle, strictly upper triangle not referenced. on exit, if INFO = 0, you get the factor U or L from the Cholesky factorization A = U**H *U or A = L*L**H. it's giving glow-up ✨

  • LDA
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

the leading dimension of the array A, and she needs LDA >= max(1,N) β€” respect the constraint or don't come πŸ’€

  • INFO
!>          INFO is INTEGER
!>          = 0: successful exit
!>          < 0: if INFO = -k, the k-th argument had an illegal value
!>          > 0: if INFO = k, the leading principal minor of order k
!>               is not positive, and the factorization could not be
!>               completed.
!>

the receipts πŸ’… β€” = 0 means successful exit (we love a happy ending), < 0 means if INFO = -k the k-th argument had an illegal value (someone did NOT read the docs 😭), and > 0 means if INFO = k the leading principal minor of order k is not positive and the factorization could not be completed. so like, she tried, but the matrix wasn't giving positive definite. tragic.


🌟 Author 🌟

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

the whole academic friend group showed up, legends πŸ’œ

Definition at line 108 of file cpotf2.f.


🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a robot doing robot things πŸ€–βœ¨)


ngl bestie, when <red>INFO > 0</red> you gotta check your matrix β€” if the leading principal minor of order k isn't positive, the factorization could not be completed. that's not a vibe, that's a fact. no cap.

and that's the page! πŸŽ€ footer tea: this is LAPACK, Version 3.12.0, dated /home/abui...RC/cpotf2.f(3) β€” mwah, go factor something Hermitian πŸ’–πŸ¦‹β­

πŸ“¦ where this page comes from