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)#
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
intransSpecifies 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)
innThe order of the matrix A.
n>=0.inklThe number of subdiagonals within the band of A.
kl>=0.inkuThe number of superdiagonals within the band of A.
ku>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The original band matrix A, stored in rows 0 tokl+ku. The j-th column of A is stored in the j-th column ofAB:AB[ku+i-j + j*ldab] = A(i,j)formax(0,j-ku)<=i<=min(n-1,j+kl).inldabThe leading dimension of
AB.ldab>=kl+ku+1.inAFBArray of dimension (
ldafb,n). The LU factorization of A, as computed by SGBTRF. U is stored in rows 0 tokl+ku, and the multipliers are stored in rowskl+ku+1to2*kl+ku.inldafbThe leading dimension of
AFB.ldafb>=2*kl+ku+1.inipivArray of dimension
n. The pivot indices from SGBTRF.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed by SGBTRS. On exit, the improved solution matrix X.inldxThe leading dimension of
X.ldx>=max(1,n).outferrArray of dimension
nrhs. The estimated forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkWorkspace array of dimension (
3*n).outiworkInteger workspace array of dimension (
n).outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
intransSpecifies 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)
innThe order of the matrix A.
n>=0.inklThe number of subdiagonals within the band of A.
kl>=0.inkuThe number of superdiagonals within the band of A.
ku>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The original band matrix A, stored in rows 0 tokl+ku. The j-th column of A is stored in the j-th column ofAB:AB[ku+i-j + j*ldab] = A(i,j)formax(0,j-ku)<=i<=min(n-1,j+kl).inldabThe leading dimension of
AB.ldab>=kl+ku+1.inAFBArray of dimension (
ldafb,n). The LU factorization of A, as computed by DGBTRF. U is stored in rows 0 tokl+ku, and the multipliers are stored in rowskl+ku+1to2*kl+ku.inldafbThe leading dimension of
AFB.ldafb>=2*kl+ku+1.inipivArray of dimension
n. The pivot indices from DGBTRF.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed by DGBTRS. On exit, the improved solution matrix X.inldxThe leading dimension of
X.ldx>=max(1,n).outferrArray of dimension
nrhs. The estimated forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkWorkspace array of dimension (
3*n).outiworkInteger workspace array of dimension (
n).outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
intransSpecifies 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)
innThe order of the matrix A.
n>=0.inklThe number of subdiagonals within the band of A.
kl>=0.inkuThe number of superdiagonals within the band of A.
ku>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The original band matrix A, stored in rows 0 tokl+ku. The j-th column of A is stored in the j-th column ofAB:AB[ku+i-j + j*ldab] = A(i,j)formax(0,j-ku)<=i<=min(n-1,j+kl).inldabThe leading dimension of
AB.ldab>=kl+ku+1.inAFBArray of dimension (
ldafb,n). The LU factorization of A, as computed by CGBTRF. U is stored in rows 0 tokl+ku, and the multipliers are stored in rowskl+ku+1to2*kl+ku.inldafbThe leading dimension of
AFB.ldafb>=2*kl+ku+1.inipivArray of dimension
n. The pivot indices from CGBTRF.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed by CGBTRS. On exit, the improved solution matrix X.inldxThe leading dimension of
X.ldx>=max(1,n).outferrArray of dimension
nrhs. The estimated forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkComplex workspace array of dimension (
2*n).outrworkReal workspace array of dimension (
n).outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
intransSpecifies 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)
innThe order of the matrix A.
n>=0.inklThe number of subdiagonals within the band of A.
kl>=0.inkuThe number of superdiagonals within the band of A.
ku>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The original band matrix A, stored in rows 0 tokl+ku. The j-th column of A is stored in the j-th column ofAB:AB[ku+i-j + j*ldab] = A(i,j)formax(0,j-ku)<=i<=min(n-1,j+kl).inldabThe leading dimension of
AB.ldab>=kl+ku+1.inAFBArray of dimension (
ldafb,n). The LU factorization of A, as computed by ZGBTRF. U is stored in rows 0 tokl+ku, and the multipliers are stored in rowskl+ku+1to2*kl+ku.inldafbThe leading dimension of
AFB.ldafb>=2*kl+ku+1.inipivArray of dimension
n. The pivot indices from ZGBTRF.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed by ZGBTRS. On exit, the improved solution matrix X.inldxThe leading dimension of
X.ldx>=max(1,n).outferrArray of dimension
nrhs. The estimated forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkComplex workspace array of dimension (
2*n).outrworkReal workspace array of dimension (
n).outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);