posv(3)

πŸ’– posv(3) β€” Library Functions Manual πŸ’–

okay bestie, so this is posv β€” the factor-and-solve girlie from the Library Functions Manual. She comes in four flavors (cposv, dposv, sposv, zposv) and they all do the exact same iconic thing: take your A * X = B situation, factor A with Cholesky, and hand you back X. No cap. Let's get into it πŸ’…


✨ NAME ✨

posv β€” posv: factor and solve πŸŽ€


🌸 SYNOPSIS 🌸

🌈 Functions 🌈

  • subroutine cposv (uplo, n, nrhs, a, lda, b, ldb, info) β€” CPOSV computes the solution to system of linear equations A * X = B for PO matrices
  • subroutine dposv (uplo, n, nrhs, a, lda, b, ldb, info) β€” DPOSV computes the solution to system of linear equations A * X = B for PO matrices
  • subroutine sposv (uplo, n, nrhs, a, lda, b, ldb, info) β€” SPOSV computes the solution to system of linear equations A * X = B for PO matrices
  • subroutine zposv (uplo, n, nrhs, a, lda, b, ldb, info) β€” ZPOSV computes the solution to system of linear equations A * X = B for PO matrices

πŸ¦‹ DETAILED DESCRIPTION πŸ¦‹

So the page has a Detailed Description section and it is lowkey just a heading doing main character energy with nothing under it πŸ’€ β€” the actual tea is all in Function Documentation right below. Every single function gets the full treatment there. Scroll with me 🫢


πŸ‘‘ FUNCTION DOCUMENTATION πŸ‘‘

πŸ’œ subroutine cposv

subroutine cposv (character uplo, integer n, integer nrhs, complex,
     dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,
     integer ldb, integer info)

CPOSV computes the solution to system of linear equations A * X = B for PO matrices

🌟 Purpose

ok so picture this: CPOSV computes the solution to a complex system of linear equations

A * X = B,

where A is an N-by-N Hermitian positive definite matrix and X and B are N-by-NRHS matrices. obsessed.

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. Then the factored form of A is used to solve the system of equations A * X = B. literally the whole pipeline ✨

πŸ’… 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.
  • 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. like, don't even look at it πŸ™ˆ
    • On exit, if INFO = 0, the factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • 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. she ate πŸ’…
  • 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. πŸ’€ so yeah, check your INFO, bestie.

🫢 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

πŸ“– Definition

Definition at line 129 of file cposv.f.


πŸ’™ subroutine dposv

subroutine dposv (character uplo, integer n, integer nrhs, double precision,
     dimension( lda, * ) a, integer lda, double precision, dimension( ldb, *
     ) b, integer ldb, integer info)

DPOSV computes the solution to system of linear equations A * X = B for PO matrices

🌟 Purpose

DPOSV computes the solution to a real system of linear equations

A * X = B,

where A is an N-by-N symmetric positive definite matrix and X and B are N-by-NRHS matrices.

The Cholesky decomposition is used to factor A as

A = U**T* U,  if UPLO = 'U', or
A = L * L**T,  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. same energy, but real numbers this time πŸ“

πŸ’… 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.
  • 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 A = U**T*U or A = L*L**T.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • B β€” B is DOUBLE PRECISION 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.

🫢 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

πŸ“– Definition

Definition at line 129 of file dposv.f.


πŸ’š subroutine sposv

subroutine sposv (character uplo, integer n, integer nrhs, real, dimension(
     lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb,
     integer info)

SPOSV computes the solution to system of linear equations A * X = B for PO matrices

🌟 Purpose

SPOSV computes the solution to a real system of linear equations

A * X = B,

where A is an N-by-N symmetric positive definite matrix and X and B are N-by-NRHS matrices.

The Cholesky decomposition is used to factor A as

A = U**T* U,  if UPLO = 'U', or
A = L * L**T,  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. single precision said "I'm also here" 🌸

πŸ’… 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.
  • A β€” A is REAL 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 A = U**T*U or A = L*L**T.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • B β€” B is REAL 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.

🫢 Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

πŸ“– Definition

Definition at line 129 of file sposv.f.


πŸ’– subroutine zposv

subroutine zposv (character uplo, integer n, integer nrhs, complex*16,
     dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,
     integer ldb, integer info)

ZPOSV computes the solution to system of linear equations A * X = B for PO matrices

🌟 Purpose

πŸ¦‹ (...and this is exactly where part 1 runs out of runway β€” zposv's Purpose section keeps going in part 2, so don't go anywhere bestie) πŸ¦‹

ZPOSV is literally here to compute the solution to a complex system of linear equations

A * X = B

where A is an N-by-N Hermitian positive definite matrix 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. 🫢


✨ Parameters ✨

  • UPLO β€” is CHARACTER*1.
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored. πŸ¦‹
  • N β€” is INTEGER. The number of linear equations, i.e., the order of the matrix A. N >= 0. 🌸
  • NRHS β€” is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. πŸ’–
  • A β€” is COMPLEX*16 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. πŸ”₯

  • LDA β€” is INTEGER. The leading dimension of the array A. LDA >= max(1,N). ✨
  • B β€” is COMPLEX*16 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 β€” is INTEGER. The leading dimension of the array B. LDB >= max(1,N). πŸ’œ
  • 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. 😭

🫢 Author 🫢

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

Definition at line 129 of file zposv.f. πŸ“œ


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code. 🧚


And that's the footer tea, bestie: source/version/date energy is LAPACK, Version 3.12.0, posv(3) β€” iconic, no cap. πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from