sprfs#
Functions
-
void ssprfs(const char *uplo, const INT n, const INT nrhs, const f32 *restrict AP, const f32 *restrict AFP, 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)#
SSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, 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.innrhsThe number of right hand sides, i.e., the number of columns of the matrices B and X.
nrhs>=0.inAPArray of dimension
n*(n+1)/2. The upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: ifuplo='U',AP[i + j*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i + j*(2*n-j-1)/2] = A(i,j)forj<=i<=n-1.inAFPArray of dimension
n*(n+1)/2. The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed byssptrf, stored as a packed triangular matrix.inipivArray of dimension
n. Details of the interchanges and the block structure of D as determined byssptrf.inBArray of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXArray of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed byssptrs. 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 vectorX(j)(the j-th column of the solution matrix X). Ifxtrueis the true solution corresponding toX(j),ferr[j]is an estimated upper bound for the magnitude of the largest element in(X(j)-xtrue)divided by the magnitude of the largest element inX(j). The estimate is as reliable as the estimate forrcond, and is almost always a slight overestimate of the true error.outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element of A or B that makesX(j)an exact solution).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 ssprfs(
const char* uplo,
const INT n,
const INT nrhs,
const f32* restrict AP,
const f32* restrict AFP,
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 dsprfs(const char *uplo, const INT n, const INT nrhs, const f64 *restrict AP, const f64 *restrict AFP, 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)#
DSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, 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.innrhsThe number of right hand sides, i.e., the number of columns of the matrices B and X.
nrhs>=0.inAPArray of dimension
n*(n+1)/2. The upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: ifuplo='U',AP[i + j*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i + j*(2*n-j-1)/2] = A(i,j)forj<=i<=n-1.inAFPArray of dimension
n*(n+1)/2. The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed bydsptrf, stored as a packed triangular matrix.inipivArray of dimension
n. Details of the interchanges and the block structure of D as determined bydsptrf.inBArray of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXArray of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed bydsptrs. 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 vectorX(j)(the j-th column of the solution matrix X). Ifxtrueis the true solution corresponding toX(j),ferr[j]is an estimated upper bound for the magnitude of the largest element in(X(j)-xtrue)divided by the magnitude of the largest element inX(j). The estimate is as reliable as the estimate forrcond, and is almost always a slight overestimate of the true error.outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element of A or B that makesX(j)an exact solution).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 dsprfs(
const char* uplo,
const INT n,
const INT nrhs,
const f64* restrict AP,
const f64* restrict AFP,
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 csprfs(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)#
CSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, 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.innrhsThe number of right hand sides, i.e., the number of columns of the matrices B and X.
nrhs>=0.inAPComplex array of dimension
n*(n+1)/2. The upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: ifuplo='U',AP[i + j*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i + j*(2*n-j-1)/2] = A(i,j)forj<=i<=n-1.inAFPComplex array of dimension
n*(n+1)/2. The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed bycsptrf, stored as a packed triangular matrix.inipivArray of dimension
n. Details of the interchanges and the block structure of D as determined bycsptrf.inBComplex array of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXComplex array of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed bycsptrs. 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 vectorX(j)(the j-th column of the solution matrix X). Ifxtrueis the true solution corresponding toX(j),ferr[j]is an estimated upper bound for the magnitude of the largest element in(X(j)-xtrue)divided by the magnitude of the largest element inX(j). The estimate is as reliable as the estimate forrcond, and is almost always a slight overestimate of the true error.outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element of A or B that makesX(j)an exact solution).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 csprfs(
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
);
Functions
-
void zsprfs(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)#
ZSPRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite and packed, 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.innrhsThe number of right hand sides, i.e., the number of columns of the matrices B and X.
nrhs>=0.inAPComplex array of dimension
n*(n+1)/2. The upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: ifuplo='U',AP[i + j*(j+1)/2] = A(i,j)for0<=i<=j; ifuplo='L',AP[i + j*(2*n-j-1)/2] = A(i,j)forj<=i<=n-1.inAFPComplex array of dimension
n*(n+1)/2. The factored form of the matrix A. AFP contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed byzsptrf, stored as a packed triangular matrix.inipivArray of dimension
n. Details of the interchanges and the block structure of D as determined byzsptrf.inBComplex array of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXComplex array of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed byzsptrs. 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 vectorX(j)(the j-th column of the solution matrix X). Ifxtrueis the true solution corresponding toX(j),ferr[j]is an estimated upper bound for the magnitude of the largest element in(X(j)-xtrue)divided by the magnitude of the largest element inX(j). The estimate is as reliable as the estimate forrcond, and is almost always a slight overestimate of the true error.outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vectorX(j)(i.e., the smallest relative change in any element of A or B that makesX(j)an exact solution).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 zsprfs(
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
);