posvx#
Functions
-
void sposvx(const char *fact, const char *uplo, const INT n, const INT nrhs, f32 *restrict A, const INT lda, f32 *restrict AF, const INT ldaf, 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)#
SPOSVX 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 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 the matrix A is supplied on entry, and if not, whether to equilibrate. = ‘F’: AF contains the factored form of A; S, equed specify equilibration done previously. = ‘N’: The matrix A will be factored without equilibration. = ‘E’: The matrix A will be equilibrated then 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.
inoutAThe symmetric matrix A, or equilibrated form. Array of dimension (lda, n).
inldaThe leading dimension of A. lda >= max(1, n).
inoutAFThe triangular factor U or L. Array of dimension (ldaf, n).
inldafThe leading dimension of AF. ldaf >= max(1, n).
inoutequedOn entry if fact = ‘F’, specifies whether A has been equilibrated (‘N’ or ‘Y’). On exit, set to ‘Y’ if equilibration was done.
inoutSScale factors. Array of dimension (n).
inoutBRight hand side matrix B (scaled if equed = ‘Y’). Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXSolution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound. Array of dimension (nrhs).
outberrBackward error. Array of dimension (nrhs).
outworkWorkspace, dimension (3*n).
outiworkInteger workspace, dimension (n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0, <= n: the leading principal minor of order info is not positive; rcond = 0 is returned.
= n+1: the matrix is singular to working precision.
void sposvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
f32* restrict A,
const INT lda,
f32* restrict AF,
const INT ldaf,
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 dposvx(const char *fact, const char *uplo, const INT n, const INT nrhs, f64 *restrict A, const INT lda, f64 *restrict AF, const INT ldaf, 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)#
DPOSVX 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 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 the matrix A is supplied on entry, and if not, whether to equilibrate. = ‘F’: AF contains the factored form of A; S, equed specify equilibration done previously. = ‘N’: The matrix A will be factored without equilibration. = ‘E’: The matrix A will be equilibrated then 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.
inoutAThe symmetric matrix A, or equilibrated form. Array of dimension (lda, n).
inldaThe leading dimension of A. lda >= max(1, n).
inoutAFThe triangular factor U or L. Array of dimension (ldaf, n).
inldafThe leading dimension of AF. ldaf >= max(1, n).
inoutequedOn entry if fact = ‘F’, specifies whether A has been equilibrated (‘N’ or ‘Y’). On exit, set to ‘Y’ if equilibration was done.
inoutSScale factors. Array of dimension (n).
inoutBRight hand side matrix B (scaled if equed = ‘Y’). Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXSolution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound. Array of dimension (nrhs).
outberrBackward error. Array of dimension (nrhs).
outworkWorkspace, dimension (3*n).
outiworkInteger workspace, dimension (n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0, <= n: the leading principal minor of order info is not positive; rcond = 0 is returned.
= n+1: the matrix is singular to working precision.
void dposvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
f64* restrict A,
const INT lda,
f64* restrict AF,
const INT ldaf,
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 cposvx(const char *fact, const char *uplo, const INT n, const INT nrhs, c64 *restrict A, const INT lda, c64 *restrict AF, const INT ldaf, 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)#
CPOSVX 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 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 the matrix A is supplied on entry, and if not, whether to equilibrate. = ‘F’: AF contains the factored form of A; S, equed specify equilibration done previously. = ‘N’: The matrix A will be factored without equilibration. = ‘E’: The matrix A will be equilibrated then 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.
inoutAThe Hermitian matrix A, or equilibrated form. Array of dimension (lda, n).
inldaThe leading dimension of A. lda >= max(1, n).
inoutAFThe triangular factor U or L. Array of dimension (ldaf, n).
inldafThe leading dimension of AF. ldaf >= max(1, n).
inoutequedOn entry if fact = ‘F’, specifies whether A has been equilibrated (‘N’ or ‘Y’). On exit, set to ‘Y’ if equilibration was done.
inoutSScale factors. Array of dimension (n).
inoutBRight hand side matrix B (scaled if equed = ‘Y’). Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXSolution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound. Array of dimension (nrhs).
outberrBackward error. Array of dimension (nrhs).
outworkWorkspace, dimension (2*n).
outrworkReal workspace, dimension (n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0, <= n: the leading principal minor of order info is not positive; rcond = 0 is returned.
= n+1: the matrix is singular to working precision.
void cposvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
c64* restrict A,
const INT lda,
c64* restrict AF,
const INT ldaf,
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 zposvx(const char *fact, const char *uplo, const INT n, const INT nrhs, c128 *restrict A, const INT lda, c128 *restrict AF, const INT ldaf, 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)#
ZPOSVX 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 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 the matrix A is supplied on entry, and if not, whether to equilibrate. = ‘F’: AF contains the factored form of A; S, equed specify equilibration done previously. = ‘N’: The matrix A will be factored without equilibration. = ‘E’: The matrix A will be equilibrated then 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.
inoutAThe Hermitian matrix A, or equilibrated form. Array of dimension (lda, n).
inldaThe leading dimension of A. lda >= max(1, n).
inoutAFThe triangular factor U or L. Array of dimension (ldaf, n).
inldafThe leading dimension of AF. ldaf >= max(1, n).
inoutequedOn entry if fact = ‘F’, specifies whether A has been equilibrated (‘N’ or ‘Y’). On exit, set to ‘Y’ if equilibration was done.
inoutSScale factors. Array of dimension (n).
inoutBRight hand side matrix B (scaled if equed = ‘Y’). Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXSolution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound. Array of dimension (nrhs).
outberrBackward error. Array of dimension (nrhs).
outworkWorkspace, dimension (2*n).
outrworkReal workspace, dimension (n).
outinfo= 0: successful exit
< 0: if info = -k, the k-th argument had an illegal value
> 0, <= n: the leading principal minor of order info is not positive; rcond = 0 is returned.
= n+1: the matrix is singular to working precision.
void zposvx(
const char* fact,
const char* uplo,
const INT n,
const INT nrhs,
c128* restrict A,
const INT lda,
c128* restrict AF,
const INT ldaf,
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
);