gbrfs#

Functions

void sgbrfs(
    const char*          trans,
    const INT            n,
    const INT            kl,
    const INT            ku,
    const INT            nrhs,
    const f32*  restrict AB,
    const INT            ldab,
    const f32*  restrict AFB,
    const INT            ldafb,
    const INT*  restrict ipiv,
    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 sgbrfs(const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, const f32 *restrict AB, const INT ldab, const f32 *restrict AFB, const INT ldafb, const INT *restrict ipiv, 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)#

SGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution.

Parameters

in
trans

Specifies the form of the system of equations:

  • ’N’: A * X = B (No transpose)

  • ’T’: A**T * X = B (Transpose)

  • ’C’: A**H * X = B (Conjugate transpose = Transpose)

in
n

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

in
kl

The number of subdiagonals within the band of A (kl >= 0).

in
ku

The number of superdiagonals within the band of A (ku >= 0).

in
nrhs

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

in
AB

The original band matrix A, stored in rows 0 to kl+ku. The j-th column of A is stored in the j-th column of AB: AB[ku+i-j + j*ldab] = A(i,j) for max(0,j-ku)<=i<=min(n-1,j+kl). Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kl+ku+1).

in
AFB

The LU factorization of A, as computed by sgbtrf. U is stored in rows 0 to kl+ku, and the multipliers are stored in rows kl+ku+1 to 2*kl+ku. Array of dimension (ldafb, n).

in
ldafb

The leading dimension of AFB (ldafb >= 2*kl+ku+1).

in
ipiv

The pivot indices from sgbtrf. 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, as computed by sgbtrs. On exit, the improved solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Workspace array of dimension (3*n).

out
iwork

Integer workspace array of dimension (n).

out
info

Exit status:

  • = 0: successful exit

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

Functions

void dgbrfs(
    const char*          trans,
    const INT            n,
    const INT            kl,
    const INT            ku,
    const INT            nrhs,
    const f64*  restrict AB,
    const INT            ldab,
    const f64*  restrict AFB,
    const INT            ldafb,
    const INT*  restrict ipiv,
    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 dgbrfs(const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, const f64 *restrict AB, const INT ldab, const f64 *restrict AFB, const INT ldafb, const INT *restrict ipiv, 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)#

DGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution.

Parameters

in
trans

Specifies the form of the system of equations:

  • ’N’: A * X = B (No transpose)

  • ’T’: A**T * X = B (Transpose)

  • ’C’: A**H * X = B (Conjugate transpose = Transpose)

in
n

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

in
kl

The number of subdiagonals within the band of A (kl >= 0).

in
ku

The number of superdiagonals within the band of A (ku >= 0).

in
nrhs

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

in
AB

The original band matrix A, stored in rows 0 to kl+ku. The j-th column of A is stored in the j-th column of AB: AB[ku+i-j + j*ldab] = A(i,j) for max(0,j-ku)<=i<=min(n-1,j+kl). Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kl+ku+1).

in
AFB

The LU factorization of A, as computed by dgbtrf. U is stored in rows 0 to kl+ku, and the multipliers are stored in rows kl+ku+1 to 2*kl+ku. Array of dimension (ldafb, n).

in
ldafb

The leading dimension of AFB (ldafb >= 2*kl+ku+1).

in
ipiv

The pivot indices from dgbtrf. 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, as computed by dgbtrs. On exit, the improved solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Workspace array of dimension (3*n).

out
iwork

Integer workspace array of dimension (n).

out
info

Exit status:

  • = 0: successful exit

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

Functions

void cgbrfs(
    const char*          trans,
    const INT            n,
    const INT            kl,
    const INT            ku,
    const INT            nrhs,
    const c64*  restrict AB,
    const INT            ldab,
    const c64*  restrict AFB,
    const INT            ldafb,
    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 cgbrfs(const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, const c64 *restrict AB, const INT ldab, const c64 *restrict AFB, const INT ldafb, 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)#

CGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution.

Parameters

in
trans

Specifies the form of the system of equations:

  • ’N’: A * X = B (No transpose)

  • ’T’: A**T * X = B (Transpose)

  • ’C’: A**H * X = B (Conjugate transpose)

in
n

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

in
kl

The number of subdiagonals within the band of A (kl >= 0).

in
ku

The number of superdiagonals within the band of A (ku >= 0).

in
nrhs

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

in
AB

The original band matrix A, stored in rows 0 to kl+ku. The j-th column of A is stored in the j-th column of AB: AB[ku+i-j + j*ldab] = A(i,j) for max(0,j-ku)<=i<=min(n-1,j+kl). Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kl+ku+1).

in
AFB

The LU factorization of A, as computed by cgbtrf. U is stored in rows 0 to kl+ku, and the multipliers are stored in rows kl+ku+1 to 2*kl+ku. Array of dimension (ldafb, n).

in
ldafb

The leading dimension of AFB (ldafb >= 2*kl+ku+1).

in
ipiv

The pivot indices from cgbtrf. 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, as computed by cgbtrs. On exit, the improved solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

Exit status:

  • = 0: successful exit

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

Functions

void zgbrfs(
    const char*          trans,
    const INT            n,
    const INT            kl,
    const INT            ku,
    const INT            nrhs,
    const c128* restrict AB,
    const INT            ldab,
    const c128* restrict AFB,
    const INT            ldafb,
    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 zgbrfs(const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, const c128 *restrict AB, const INT ldab, const c128 *restrict AFB, const INT ldafb, 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)#

ZGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution.

Parameters

in
trans

Specifies the form of the system of equations:

  • ’N’: A * X = B (No transpose)

  • ’T’: A**T * X = B (Transpose)

  • ’C’: A**H * X = B (Conjugate transpose)

in
n

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

in
kl

The number of subdiagonals within the band of A (kl >= 0).

in
ku

The number of superdiagonals within the band of A (ku >= 0).

in
nrhs

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

in
AB

The original band matrix A, stored in rows 0 to kl+ku. The j-th column of A is stored in the j-th column of AB: AB[ku+i-j + j*ldab] = A(i,j) for max(0,j-ku)<=i<=min(n-1,j+kl). Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kl+ku+1).

in
AFB

The LU factorization of A, as computed by zgbtrf. U is stored in rows 0 to kl+ku, and the multipliers are stored in rows kl+ku+1 to 2*kl+ku. Array of dimension (ldafb, n).

in
ldafb

The leading dimension of AFB (ldafb >= 2*kl+ku+1).

in
ipiv

The pivot indices from zgbtrf. 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, as computed by zgbtrs. On exit, the improved solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

Exit status:

  • = 0: successful exit

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