ppsvx#
Functions
-
void sppsvx(const char *fact, const char *uplo, const INT n, const INT nrhs, f32 *restrict AP, f32 *restrict AFP, char *equed, f32 *restrict S, f32 *restrict B, const INT ldb, f32 *restrict X, const INT ldx, f32 *rcond, f32 *restrict ferr, f32 *restrict berr, f32 *restrict work, INT *restrict iwork, INT *info)#
SPPSVX uses the Cholesky factorization A = U**T*U or A = L*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric positive definite matrix stored in packed format and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infactSpecifies whether the factored form of A is supplied. = ‘F’: AFP contains the factored form of A. = ‘N’: The matrix A will be copied to AFP and factored. = ‘E’: The matrix A will be equilibrated if necessary, then copied to AFP and factored.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe number of linear equations. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the symmetric matrix A in packed format. On exit, if fact = ‘E’ and equed = ‘Y’, A is overwritten by diag(S)*A*diag(S). Array of dimension (n*(n+1)/2).
inoutAFPIf fact = ‘F’, AFP is an input with the factored form. Otherwise, AFP is an output with the Cholesky factor. Array of dimension (n*(n+1)/2).
inoutequedSpecifies the form of equilibration. = ‘N’: No equilibration = ‘Y’: Equilibration was done equed is an input if fact = ‘F’; otherwise, it is an output.
inoutSScale factors for A. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equed = ‘Y’, B is overwritten by diag(S)*B. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outXThe solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1,n).
outrcondThe reciprocal condition number estimate.
outferrForward error bounds. Array of dimension (nrhs).
outberrBackward error bounds. Array of dimension (nrhs).
outworkWorkspace array of dimension (3*n).
outiworkInteger workspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i and i <= n, the leading principal minor of order i is not positive; if info = n+1, the matrix is singular to working precision.
void sppsvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
f32* restrict AP,
f32* restrict AFP,
char* equed,
f32* restrict S,
f32* restrict B,
const INT ldb,
f32* restrict X,
const INT ldx,
f32* rcond,
f32* restrict ferr,
f32* restrict berr,
f32* restrict work,
INT* restrict iwork,
INT* info
);
Functions
-
void dppsvx(const char *fact, const char *uplo, const INT n, const INT nrhs, f64 *restrict AP, f64 *restrict AFP, char *equed, f64 *restrict S, f64 *restrict B, const INT ldb, f64 *restrict X, const INT ldx, f64 *rcond, f64 *restrict ferr, f64 *restrict berr, f64 *restrict work, INT *restrict iwork, INT *info)#
DPPSVX uses the Cholesky factorization A = U**T*U or A = L*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric positive definite matrix stored in packed format and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infactSpecifies whether the factored form of A is supplied. = ‘F’: AFP contains the factored form of A. = ‘N’: The matrix A will be copied to AFP and factored. = ‘E’: The matrix A will be equilibrated if necessary, then copied to AFP and factored.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe number of linear equations. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the symmetric matrix A in packed format. On exit, if fact = ‘E’ and equed = ‘Y’, A is overwritten by diag(S)*A*diag(S). Array of dimension (n*(n+1)/2).
inoutAFPIf fact = ‘F’, AFP is an input with the factored form. Otherwise, AFP is an output with the Cholesky factor. Array of dimension (n*(n+1)/2).
inoutequedSpecifies the form of equilibration. = ‘N’: No equilibration = ‘Y’: Equilibration was done equed is an input if fact = ‘F’; otherwise, it is an output.
inoutSScale factors for A. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equed = ‘Y’, B is overwritten by diag(S)*B. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outXThe solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1,n).
outrcondThe reciprocal condition number estimate.
outferrForward error bounds. Array of dimension (nrhs).
outberrBackward error bounds. Array of dimension (nrhs).
outworkWorkspace array of dimension (3*n).
outiworkInteger workspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i and i <= n, the leading principal minor of order i is not positive; if info = n+1, the matrix is singular to working precision.
void dppsvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
f64* restrict AP,
f64* restrict AFP,
char* equed,
f64* restrict S,
f64* restrict B,
const INT ldb,
f64* restrict X,
const INT ldx,
f64* rcond,
f64* restrict ferr,
f64* restrict berr,
f64* restrict work,
INT* restrict iwork,
INT* info
);
Functions
-
void cppsvx(const char *fact, const char *uplo, const INT n, const INT nrhs, c64 *restrict AP, c64 *restrict AFP, char *equed, f32 *restrict S, c64 *restrict B, const INT ldb, c64 *restrict X, const INT ldx, f32 *rcond, f32 *restrict ferr, f32 *restrict berr, c64 *restrict work, f32 *restrict rwork, INT *info)#
CPPSVX uses the Cholesky factorization A = U**H*U or A = L*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian positive definite matrix stored in packed format and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infactSpecifies whether the factored form of A is supplied. = ‘F’: AFP contains the factored form of A. = ‘N’: The matrix A will be copied to AFP and factored. = ‘E’: The matrix A will be equilibrated if necessary, then copied to AFP and factored.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe number of linear equations. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the Hermitian matrix A in packed format. On exit, if fact = ‘E’ and equed = ‘Y’, A is overwritten by diag(S)*A*diag(S). Array of dimension (n*(n+1)/2).
inoutAFPIf fact = ‘F’, AFP is an input with the factored form. Otherwise, AFP is an output with the Cholesky factor. Array of dimension (n*(n+1)/2).
inoutequedSpecifies the form of equilibration. = ‘N’: No equilibration = ‘Y’: Equilibration was done equed is an input if fact = ‘F’; otherwise, it is an output.
inoutSScale factors for A. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equed = ‘Y’, B is overwritten by diag(S)*B. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outXThe solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1,n).
outrcondThe reciprocal condition number estimate.
outferrForward error bounds. Array of dimension (nrhs).
outberrBackward error bounds. Array of dimension (nrhs).
outworkComplex workspace array of dimension (2*n).
outrworkReal workspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i and i <= n, the leading principal minor of order i is not positive; if info = n+1, the matrix is singular to working precision.
void cppsvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
c64* restrict AP,
c64* restrict AFP,
char* equed,
f32* restrict S,
c64* restrict B,
const INT ldb,
c64* restrict X,
const INT ldx,
f32* rcond,
f32* restrict ferr,
f32* restrict berr,
c64* restrict work,
f32* restrict rwork,
INT* info
);
Functions
-
void zppsvx(const char *fact, const char *uplo, const INT n, const INT nrhs, c128 *restrict AP, c128 *restrict AFP, char *equed, f64 *restrict S, c128 *restrict B, const INT ldb, c128 *restrict X, const INT ldx, f64 *rcond, f64 *restrict ferr, f64 *restrict berr, c128 *restrict work, f64 *restrict rwork, INT *info)#
ZPPSVX uses the Cholesky factorization A = U**H*U or A = L*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian positive definite matrix stored in packed format and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infactSpecifies whether the factored form of A is supplied. = ‘F’: AFP contains the factored form of A. = ‘N’: The matrix A will be copied to AFP and factored. = ‘E’: The matrix A will be equilibrated if necessary, then copied to AFP and factored.
inuplo= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.
innThe number of linear equations. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutAPOn entry, the Hermitian matrix A in packed format. On exit, if fact = ‘E’ and equed = ‘Y’, A is overwritten by diag(S)*A*diag(S). Array of dimension (n*(n+1)/2).
inoutAFPIf fact = ‘F’, AFP is an input with the factored form. Otherwise, AFP is an output with the Cholesky factor. Array of dimension (n*(n+1)/2).
inoutequedSpecifies the form of equilibration. = ‘N’: No equilibration = ‘Y’: Equilibration was done equed is an input if fact = ‘F’; otherwise, it is an output.
inoutSScale factors for A. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equed = ‘Y’, B is overwritten by diag(S)*B. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1,n).
outXThe solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1,n).
outrcondThe reciprocal condition number estimate.
outferrForward error bounds. Array of dimension (nrhs).
outberrBackward error bounds. Array of dimension (nrhs).
outworkComplex workspace array of dimension (2*n).
outrworkReal workspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i and i <= n, the leading principal minor of order i is not positive; if info = n+1, the matrix is singular to working precision.
void zppsvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
c128* restrict AP,
c128* restrict AFP,
char* equed,
f64* restrict S,
c128* restrict B,
const INT ldb,
c128* restrict X,
const INT ldx,
f64* rcond,
f64* restrict ferr,
f64* restrict berr,
c128* restrict work,
f64* restrict rwork,
INT* info
);