pbrfs#

Functions

void spbrfs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f32*  restrict AB,
    const INT            ldab,
    const f32*  restrict AFB,
    const INT            ldafb,
    const f32*  restrict B,
    const INT            ldb,
          f32*  restrict X,
    const INT            ldx,
          f32*  restrict ferr,
          f32*  restrict berr,
          f32*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void spbrfs(const char *uplo, const INT n, const INT kd, const INT nrhs, const f32 *restrict AB, const INT ldab, const f32 *restrict AFB, const INT ldafb, const f32 *restrict B, const INT ldb, f32 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, f32 *restrict work, INT *restrict iwork, INT *info)#

SPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and banded, 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
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

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

in
AB

Array of dimension (ldab, n). The upper or lower triangle of the symmetric band matrix A, stored in the first kd+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

in
AFB

Array of dimension (ldafb, n). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A as computed by spbtrf, in the same storage format as A (see AB).

in
ldafb

The leading dimension of the array AFB. ldafb>=kd+1.

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Array of dimension 3*n.

out
iwork

Array of dimension n.

out
info

  • info=0: successful exit

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

Functions

void dpbrfs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f64*  restrict AB,
    const INT            ldab,
    const f64*  restrict AFB,
    const INT            ldafb,
    const f64*  restrict B,
    const INT            ldb,
          f64*  restrict X,
    const INT            ldx,
          f64*  restrict ferr,
          f64*  restrict berr,
          f64*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void dpbrfs(const char *uplo, const INT n, const INT kd, const INT nrhs, const f64 *restrict AB, const INT ldab, const f64 *restrict AFB, const INT ldafb, const f64 *restrict B, const INT ldb, f64 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, f64 *restrict work, INT *restrict iwork, INT *info)#

DPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and banded, 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
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

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

in
AB

Array of dimension (ldab, n). The upper or lower triangle of the symmetric band matrix A, stored in the first kd+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

in
AFB

Array of dimension (ldafb, n). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A as computed by dpbtrf, in the same storage format as A (see AB).

in
ldafb

The leading dimension of the array AFB. ldafb>=kd+1.

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Array of dimension 3*n.

out
iwork

Array of dimension n.

out
info

  • info=0: successful exit

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

Functions

void cpbrfs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c64*  restrict AB,
    const INT            ldab,
    const c64*  restrict AFB,
    const INT            ldafb,
    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 cpbrfs(const char *uplo, const INT n, const INT kd, const INT nrhs, const c64 *restrict AB, const INT ldab, const c64 *restrict AFB, const INT ldafb, 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)#

CPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and banded, 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
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

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

in
AB

Array of dimension (ldab, n). The upper or lower triangle of the Hermitian band matrix A, stored in the first kd+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

in
AFB

Array of dimension (ldafb, n). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A as computed by cpbtrf, in the same storage format as A (see AB).

in
ldafb

The leading dimension of the array AFB. ldafb>=kd+1.

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex array of dimension 2*n.

out
rwork

Array of dimension n.

out
info

  • info=0: successful exit

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

Functions

void zpbrfs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c128* restrict AB,
    const INT            ldab,
    const c128* restrict AFB,
    const INT            ldafb,
    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 zpbrfs(const char *uplo, const INT n, const INT kd, const INT nrhs, const c128 *restrict AB, const INT ldab, const c128 *restrict AFB, const INT ldafb, 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)#

ZPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and banded, 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
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

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

in
AB

Array of dimension (ldab, n). The upper or lower triangle of the Hermitian band matrix A, stored in the first kd+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

in
AFB

Array of dimension (ldafb, n). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A as computed by zpbtrf, in the same storage format as A (see AB).

in
ldafb

The leading dimension of the array AFB. ldafb>=kd+1.

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex array of dimension 2*n.

out
rwork

Array of dimension n.

out
info

  • info=0: successful exit

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