hprfs#

Functions

void chprfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c64*  restrict AP,
    const c64*  restrict AFP,
    const INT*  restrict ipiv,
    const c64*  restrict B,
    const INT            ldb,
          c64*  restrict X,
    const INT            ldx,
          f32*  restrict ferr,
          f32*  restrict berr,
          c64*  restrict work,
          f32*  restrict rwork,
          INT*           info
);
void chprfs(const char *uplo, const INT n, const INT nrhs, const c64 *restrict AP, const c64 *restrict AFP, const INT *restrict ipiv, const c64 *restrict B, const INT ldb, c64 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, c64 *restrict work, f32 *restrict rwork, INT *info)#

CHPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite and packed, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AP

The original packed Hermitian matrix A. Array of dimension (n*(n+1)/2).

in
AFP

The factored form of A from CHPTRF. Array of dimension (n*(n+1)/2).

in
ipiv

The pivot indices from CHPTRF. Array of dimension (n).

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of B. ldb >= max(1,n).

inout
X

On entry, the solution matrix X. On exit, the improved solution. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of X. ldx >= max(1,n).

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

Functions

void zhprfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c128* restrict AP,
    const c128* restrict AFP,
    const INT*  restrict ipiv,
    const c128* restrict B,
    const INT            ldb,
          c128* restrict X,
    const INT            ldx,
          f64*  restrict ferr,
          f64*  restrict berr,
          c128* restrict work,
          f64*  restrict rwork,
          INT*           info
);
void zhprfs(const char *uplo, const INT n, const INT nrhs, const c128 *restrict AP, const c128 *restrict AFP, const INT *restrict ipiv, const c128 *restrict B, const INT ldb, c128 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, c128 *restrict work, f64 *restrict rwork, INT *info)#

ZHPRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite and packed, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AP

The original packed Hermitian matrix A. Array of dimension (n*(n+1)/2).

in
AFP

The factored form of A from ZHPTRF. Array of dimension (n*(n+1)/2).

in
ipiv

The pivot indices from ZHPTRF. Array of dimension (n).

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

The leading dimension of B. ldb >= max(1,n).

inout
X

On entry, the solution matrix X. On exit, the improved solution. Array of dimension (ldx, nrhs).

in
ldx

The leading dimension of X. ldx >= max(1,n).

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value