SRC/cppsv.f(3)

✨ SRC/cppsv.f ✨

ok bestie, welcome to the cppsv glow-up πŸ’… this is a page from the Library Functions Manual and honestly? it's giving linear-algebra main character energy. buckle up πŸŽ€


🌸 NAME 🌸

SRC/cppsv.f β€” yes that's literally the whole name section, she's mysterious like that πŸ¦‹


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine cppsv (uplo, n, nrhs, ap, b, ldb, info) β€” okay so CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices πŸ”₯

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine cppsv (character uplo, integer n, integer nrhs, complex, dimension( * ) ap, complex, dimension( ldb, * ) b, integer ldb, integer info)

CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices, no cap πŸ’―


🧚 Purpose

!>
!> CPPSV computes the solution to a complex system of linear equations
!>    A * X = B,
!> where A is an N-by-N Hermitian positive definite matrix stored in
!> packed format and X and B are N-by-NRHS matrices.
!>
!> The Cholesky decomposition is used to factor A as
!>    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 a lower triangular
!> matrix.  The factored form of A is then used to solve the system of
!> equations A * X = B.
!>

like, she factors A with the Cholesky decomposition first and then solves β€” icon behavior honestly 🌟


πŸ’œ Parameters

  • UPLO β€” UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>
  • N β€” N is INTEGER
!>          The number of linear equations, i.e., the order of the
!>          matrix A.  N >= 0.
!>
  • NRHS β€” NRHS is INTEGER
!>          The number of right hand sides, i.e., the number of columns
!>          of the matrix B.  NRHS >= 0.
!>
  • AP β€” AP is COMPLEX array, dimension (N*(N+1)/2)
!>          On entry, the upper or lower triangle of the Hermitian matrix
!>          A, packed columnwise in a linear array.  The j-th column of A
!>          is stored in the array AP as follows:
!>          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
!>          if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
!>          See below for further details.
!>
!>          On exit, if INFO = 0, the factor U or L from the Cholesky
!>          factorization A = U**H*U or A = L*L**H, in the same storage
!>          format as A.
!>
  • B β€” B is COMPLEX array, dimension (LDB,NRHS)
!>          On entry, the N-by-NRHS right hand side matrix B.
!>          On exit, if INFO = 0, the N-by-NRHS solution matrix X.
!>
  • LDB β€” LDB is INTEGER
!>          The leading dimension of the array B.  LDB >= max(1,N).
!>
  • INFO β€” INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value
!>          > 0:  if INFO = i, the leading principal minor of order i
!>                of A is not positive, so the factorization could not
!>                be completed, and the solution has not been computed.
!>
⚠️ heads up bestie: if INFO comes back > 0, the factorization literally could not be completed and the solution has not been computed. no solution for you, sadly 😭

🫢 Author

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

πŸ¦‹ Further Details

!>
!>  The packed storage scheme is illustrated by the following example
!>  when N = 4, UPLO = 'U':
!>
!>  Two-dimensional storage of the Hermitian matrix A:
!>
!>     a11 a12 a13 a14
!>         a22 a23 a24
!>             a33 a34     (aij = conjg(aji))
!>                 a44
!>
!>  Packed storage of the upper triangle of A:
!>
!>  AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]
!>

so that's the packed storage vibe check βœ… β€” the upper triangle gets squished into one lil linear array and it works πŸ’–


⭐ Definition

Definition at line 143 of file cppsv.f.


πŸ’€ Author

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


and that's the whole page, bestie!! drop a πŸŽ€ for LAPACK, Version 3.12.0 β€” that's the version and the source line, matched, periodt πŸ’…πŸ”₯

πŸ“¦ where this page comes from