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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inkdThe number of superdiagonals of the matrix A if
uplo='U', or the number of subdiagonals ifuplo='L'.kd>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The upper or lower triangle of the symmetric band matrix A, stored in the firstkd+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: ifuplo='U',AB[kd+i-j + j*ldab] = A(i,j)formax(0,j-kd)<=i<=j; ifuplo='L',AB[i-j + j*ldab] = A(i,j)forj<=i<=min(n-1,j+kd).inldabThe leading dimension of the array
AB.ldab>=kd+1.inAFBArray 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 byspbtrf, in the same storage format as A (seeAB).inldafbThe leading dimension of the array
AFB.ldafb>=kd+1.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of the array
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed byspbtrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array
X.ldx>=max(1,n).outferrArray of dimension (
nrhs). The estimated forward error bound for each solution vector.outberrArray of dimension (
nrhs). The componentwise relative backward error of each solution vector.outworkArray of dimension
3*n.outiworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inkdThe number of superdiagonals of the matrix A if
uplo='U', or the number of subdiagonals ifuplo='L'.kd>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The upper or lower triangle of the symmetric band matrix A, stored in the firstkd+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: ifuplo='U',AB[kd+i-j + j*ldab] = A(i,j)formax(0,j-kd)<=i<=j; ifuplo='L',AB[i-j + j*ldab] = A(i,j)forj<=i<=min(n-1,j+kd).inldabThe leading dimension of the array
AB.ldab>=kd+1.inAFBArray 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 bydpbtrf, in the same storage format as A (seeAB).inldafbThe leading dimension of the array
AFB.ldafb>=kd+1.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of the array
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed bydpbtrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array
X.ldx>=max(1,n).outferrArray of dimension (
nrhs). The estimated forward error bound for each solution vector.outberrArray of dimension (
nrhs). The componentwise relative backward error of each solution vector.outworkArray of dimension
3*n.outiworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inkdThe number of superdiagonals of the matrix A if
uplo='U', or the number of subdiagonals ifuplo='L'.kd>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The upper or lower triangle of the Hermitian band matrix A, stored in the firstkd+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: ifuplo='U',AB[kd+i-j + j*ldab] = A(i,j)formax(0,j-kd)<=i<=j; ifuplo='L',AB[i-j + j*ldab] = A(i,j)forj<=i<=min(n-1,j+kd).inldabThe leading dimension of the array
AB.ldab>=kd+1.inAFBArray 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 bycpbtrf, in the same storage format as A (seeAB).inldafbThe leading dimension of the array
AFB.ldafb>=kd+1.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of the array
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed bycpbtrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array
X.ldx>=max(1,n).outferrArray of dimension (
nrhs). The estimated forward error bound for each solution vector.outberrArray of dimension (
nrhs). The componentwise relative backward error of each solution vector.outworkComplex array of dimension
2*n.outrworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);
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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
innThe order of the matrix A.
n>=0.inkdThe number of superdiagonals of the matrix A if
uplo='U', or the number of subdiagonals ifuplo='L'.kd>=0.innrhsThe number of right hand sides.
nrhs>=0.inABArray of dimension (
ldab,n). The upper or lower triangle of the Hermitian band matrix A, stored in the firstkd+1rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: ifuplo='U',AB[kd+i-j + j*ldab] = A(i,j)formax(0,j-kd)<=i<=j; ifuplo='L',AB[i-j + j*ldab] = A(i,j)forj<=i<=min(n-1,j+kd).inldabThe leading dimension of the array
AB.ldab>=kd+1.inAFBArray 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 byzpbtrf, in the same storage format as A (seeAB).inldafbThe leading dimension of the array
AFB.ldafb>=kd+1.inBArray of dimension (
ldb,nrhs). The right hand side matrixB.inldbThe leading dimension of the array
B.ldb>=max(1,n).inoutXArray of dimension (
ldx,nrhs). On entry, the solution matrix X, as computed byzpbtrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array
X.ldx>=max(1,n).outferrArray of dimension (
nrhs). The estimated forward error bound for each solution vector.outberrArray of dimension (
nrhs). The componentwise relative backward error of each solution vector.outworkComplex array of dimension
2*n.outrworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
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
);