pbsvx#
Functions
-
void spbsvx(const char *fact, const char *uplo, const INT n, const INT kd, const INT nrhs, f32 *restrict AB, const INT ldab, f32 *restrict AFB, const INT ldafb, 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)#
SPBSVX 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 band matrix and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infact= ‘F’: AFB contains the factored form of A = ‘N’: The matrix A will be copied to AFB and factored = ‘E’: The matrix A will be equilibrated, copied, and factored
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 super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kd+1.
inoutAFBThe factored form of A. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= kd+1.
inoutequed= ‘N’: No equilibration = ‘Y’: Equilibration was done
inoutSThe scale factors for A. Array of dimension (n).
inoutBOn entry, the 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.
outferrThe forward error bound. Array of dimension (nrhs).
outberrThe backward error. 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, the leading minor of order i is not positive definite; if info = n+1, rcond is too small.
void spbsvx(
const char* fact,
const char* uplo,
const INT n,
const INT kd,
const INT nrhs,
f32* restrict AB,
const INT ldab,
f32* restrict AFB,
const INT ldafb,
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 dpbsvx(const char *fact, const char *uplo, const INT n, const INT kd, const INT nrhs, f64 *restrict AB, const INT ldab, f64 *restrict AFB, const INT ldafb, 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)#
DPBSVX 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 band matrix and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infact= ‘F’: AFB contains the factored form of A = ‘N’: The matrix A will be copied to AFB and factored = ‘E’: The matrix A will be equilibrated, copied, and factored
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 super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kd+1.
inoutAFBThe factored form of A. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= kd+1.
inoutequed= ‘N’: No equilibration = ‘Y’: Equilibration was done
inoutSThe scale factors for A. Array of dimension (n).
inoutBOn entry, the 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.
outferrThe forward error bound. Array of dimension (nrhs).
outberrThe backward error. 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, the leading minor of order i is not positive definite; if info = n+1, rcond is too small.
void dpbsvx(
const char* fact,
const char* uplo,
const INT n,
const INT kd,
const INT nrhs,
f64* restrict AB,
const INT ldab,
f64* restrict AFB,
const INT ldafb,
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 cpbsvx(const char *fact, const char *uplo, const INT n, const INT kd, const INT nrhs, c64 *restrict AB, const INT ldab, c64 *restrict AFB, const INT ldafb, 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)#
CPBSVX 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 band matrix and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infact= ‘F’: AFB contains the factored form of A = ‘N’: The matrix A will be copied to AFB and factored = ‘E’: The matrix A will be equilibrated, copied, and factored
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 super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kd+1.
inoutAFBThe factored form of A. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= kd+1.
inoutequed= ‘N’: No equilibration = ‘Y’: Equilibration was done
inoutSThe scale factors for A. Array of dimension (n).
inoutBOn entry, the 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.
outferrThe forward error bound. Array of dimension (nrhs).
outberrThe backward error. Array of dimension (nrhs).
outworkWorkspace 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, the leading minor of order i is not positive definite; if info = n+1, rcond is too small.
void cpbsvx(
const char* fact,
const char* uplo,
const INT n,
const INT kd,
const INT nrhs,
c64* restrict AB,
const INT ldab,
c64* restrict AFB,
const INT ldafb,
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 zpbsvx(const char *fact, const char *uplo, const INT n, const INT kd, const INT nrhs, c128 *restrict AB, const INT ldab, c128 *restrict AFB, const INT ldafb, 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)#
ZPBSVX 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 band matrix and X and B are N-by-NRHS matrices.
Error bounds on the solution and a condition estimate are also provided.
Parameters
infact= ‘F’: AFB contains the factored form of A = ‘N’: The matrix A will be copied to AFB and factored = ‘E’: The matrix A will be equilibrated, copied, and factored
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 super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kd+1.
inoutAFBThe factored form of A. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= kd+1.
inoutequed= ‘N’: No equilibration = ‘Y’: Equilibration was done
inoutSThe scale factors for A. Array of dimension (n).
inoutBOn entry, the 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.
outferrThe forward error bound. Array of dimension (nrhs).
outberrThe backward error. Array of dimension (nrhs).
outworkWorkspace 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, the leading minor of order i is not positive definite; if info = n+1, rcond is too small.
void zpbsvx(
const char* fact,
const char* uplo,
const INT n,
const INT kd,
const INT nrhs,
c128* restrict AB,
const INT ldab,
c128* restrict AFB,
const INT ldafb,
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
);