pptrs(3)

πŸ’… pptrs(3) β€” the triangular-solve glow-up

okay so bestie, welcome to pptrs πŸ’– this is the LAPACK manual page for the whole pptrs family β€” four subroutines that all do the same iconic thing: triangular solve using factor. One page, four routines, all of them absolutely carrying.

Think of this page as the group chat where all four siblings live: cpptrs, dpptrs, spptrs, and zpptrs β€” one for each flavour of float, and they all solve A*X = B where A is positive definite and packed, using the Cholesky factorization somebody else (the matching pptrf) already computed. Slay. 🫢


✨ SYNOPSIS ✨

πŸŽ€ Functions

  • subroutine cpptrs (uplo, n, nrhs, ap, b, ldb, info) β€” CPPTRS
  • subroutine dpptrs (uplo, n, nrhs, ap, b, ldb, info) β€” DPPTRS
  • subroutine spptrs (uplo, n, nrhs, ap, b, ldb, info) β€” SPPTRS
  • subroutine zpptrs (uplo, n, nrhs, ap, b, ldb, info) β€” ZPPTRS
ngl, that synopsis is giving "same outfit, four different colours" and honestly? iconic. πŸ’…

🌸 Detailed Description

so the detail section on this page is lowkey shy β€” it doesn't say anything extra beyond the four routines themselves. everything you actually need is in the function docs right below, where each sibling gets its own moment in the spotlight ✨


πŸ¦‹ Function Documentation πŸ¦‹

πŸ’– cpptrs

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

CPPTRS

Purpose

CPPTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A in packed storage using the Cholesky factorization A = U**H*U or A = L*L**H computed by CPPTRF. 🧚

Parameters

  • UPLO β€” is CHARACTER*1
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” is INTEGER. 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.
  • AP β€” is COMPLEX array, dimension (N*(N+1)/2). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
  • B β€” is COMPLEX array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the solution matrix X. (it straight-up swaps vibes on the way out πŸ’«)
  • 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

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

at line 107 of file cpptrs.f.


πŸ’œ dpptrs

subroutine dpptrs (character uplo, integer n, integer nrhs, double
     precision, dimension( * ) ap, double precision, dimension( ldb, * ) b,
     integer ldb, integer info)

DPPTRS

Purpose

DPPTRS solves a system of linear equations A*X = B with a symmetric positive definite matrix A in packed storage using the Cholesky factorization A = U**T*U or A = L*L**T computed by DPPTRF. πŸ“

notice the glow-up: this one's symmetric and uses **T (transpose), not **H β€” because double precision is real, bestie, no conjugation needed.

Parameters

  • UPLO β€” is CHARACTER*1
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” is INTEGER. 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.
  • AP β€” is DOUBLE PRECISION array, dimension (N*(N+1)/2). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
  • B β€” is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the 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

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

at line 107 of file dpptrs.f.


πŸŽ€ spptrs

subroutine spptrs (character uplo, integer n, integer nrhs, real,
     dimension( * ) ap, real, dimension( ldb, * ) b, integer ldb,
     integer info)

SPPTRS

Purpose

SPPTRS solves a system of linear equations A*X = B with a symmetric positive definite matrix A in packed storage using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPPTRF. 🌸

Parameters

  • UPLO β€” is CHARACTER*1
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” is INTEGER. 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.
  • AP β€” is REAL array, dimension (N*(N+1)/2). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
  • B β€” is REAL array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the 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

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

at line 107 of file spptrs.f.


πŸ’Ž zpptrs

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

ZPPTRS

Purpose

ZPPTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A in packed storage using the Cholesky factorization A = U**H * U or A = L * L**H computed by ZPPTRF. πŸ‘‘

Parameters

  • UPLO β€” is CHARACTER*1
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” is INTEGER. 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.
  • AP β€” is COMPLEX*16 array, dimension (N*(N+1)/2). The triangular factor U or L from the Cholesky factorization A = U**H * U or A = L * L**H, packed columnwise in a linear array. The j-th column of U or L is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
  • B β€” is COMPLEX*16 array, dimension (LDB,NRHS). On entry, the right hand side matrix B. On exit, the 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

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition

at line 107 of file zpptrs.f.


πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie that's the whole page, every flag and formula accounted for, no cap 🫢 go forth and A*X = B your heart out πŸ’–

with love, from LAPACK β€” Version 3.12.0 β€” mwah πŸ’‹

πŸ“¦ where this page comes from