gbsvx#
Functions
-
void sgbsvx(const char *fact, const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, f32 *restrict AB, const INT ldab, f32 *restrict AFB, const INT ldafb, INT *restrict ipiv, char *equed, f32 *restrict R, f32 *restrict C, 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)#
SGBSVX uses the LU factorization to compute the solution to a real system of linear equations A * X = B, A**T * X = B, or A**H * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, 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 and IPIV contain the factored form of A. ‘N’: The matrix A will be copied to AFB and factored. ‘E’: The matrix A will be equilibrated if necessary, then copied to AFB and factored.
intrans‘N’: A * X = B (No transpose) ‘T’: A**T * X = B (Transpose) ‘C’: A**H * X = B (Conjugate transpose = Transpose)
innThe number of linear equations (order of A). n >= 0.
inklThe number of subdiagonals within the band of A. kl >= 0.
inkuThe number of superdiagonals within the band of A. ku >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABOn entry, the matrix A in band storage, in rows 0 to kl+ku. On exit, if equilibration was done, A is scaled. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kl+ku+1.
inoutAFBOn entry (if fact=’F’), contains the LU factors. On exit, contains the factors L and U. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= 2*kl+ku+1.
inoutipivPivot indices from factorization. Array of dimension (n).
inoutequedOn entry (if fact=’F’), specifies equilibration done. On exit, specifies the form of equilibration: ‘N’: No equilibration ‘R’: Row equilibration (A := diag(R) * A) ‘C’: Column equilibration (A := A * diag(C)) ‘B’: Both (A := diag(R) * A * diag(C))
inoutRRow scale factors. Array of dimension (n).
inoutCColumn scale factors. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equilibration was done, B is scaled. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXThe N-by-NRHS solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound for each solution vector. Array of dimension (nrhs).
outberrBackward error for each solution vector. Array of dimension (nrhs).
outworkWorkspace array of dimension (3*n). On exit, work[0] contains the reciprocal pivot growth factor.
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, U(i,i) is exactly zero (1-based). if info = n+1, U is nonsingular but RCOND < machine precision.
void sgbsvx(
const char* fact,
const char* trans,
const INT n,
const INT kl,
const INT ku,
const INT nrhs,
f32* restrict AB,
const INT ldab,
f32* restrict AFB,
const INT ldafb,
INT* restrict ipiv,
char* equed,
f32* restrict R,
f32* restrict C,
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 dgbsvx(const char *fact, const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, f64 *restrict AB, const INT ldab, f64 *restrict AFB, const INT ldafb, INT *restrict ipiv, char *equed, f64 *restrict R, f64 *restrict C, 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)#
DGBSVX uses the LU factorization to compute the solution to a real system of linear equations A * X = B, A**T * X = B, or A**H * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, 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 and IPIV contain the factored form of A. ‘N’: The matrix A will be copied to AFB and factored. ‘E’: The matrix A will be equilibrated if necessary, then copied to AFB and factored.
intrans‘N’: A * X = B (No transpose) ‘T’: A**T * X = B (Transpose) ‘C’: A**H * X = B (Conjugate transpose = Transpose)
innThe number of linear equations (order of A). n >= 0.
inklThe number of subdiagonals within the band of A. kl >= 0.
inkuThe number of superdiagonals within the band of A. ku >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABOn entry, the matrix A in band storage, in rows 0 to kl+ku. On exit, if equilibration was done, A is scaled. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kl+ku+1.
inoutAFBOn entry (if fact=’F’), contains the LU factors. On exit, contains the factors L and U. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= 2*kl+ku+1.
inoutipivPivot indices from factorization. Array of dimension (n).
inoutequedOn entry (if fact=’F’), specifies equilibration done. On exit, specifies the form of equilibration: ‘N’: No equilibration ‘R’: Row equilibration (A := diag(R) * A) ‘C’: Column equilibration (A := A * diag(C)) ‘B’: Both (A := diag(R) * A * diag(C))
inoutRRow scale factors. Array of dimension (n).
inoutCColumn scale factors. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equilibration was done, B is scaled. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXThe N-by-NRHS solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound for each solution vector. Array of dimension (nrhs).
outberrBackward error for each solution vector. Array of dimension (nrhs).
outworkWorkspace array of dimension (3*n). On exit, work[0] contains the reciprocal pivot growth factor.
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, U(i,i) is exactly zero (1-based). if info = n+1, U is nonsingular but RCOND < machine precision.
void dgbsvx(
const char* fact,
const char* trans,
const INT n,
const INT kl,
const INT ku,
const INT nrhs,
f64* restrict AB,
const INT ldab,
f64* restrict AFB,
const INT ldafb,
INT* restrict ipiv,
char* equed,
f64* restrict R,
f64* restrict C,
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 cgbsvx(const char *fact, const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, c64 *restrict AB, const INT ldab, c64 *restrict AFB, const INT ldafb, INT *restrict ipiv, char *equed, f32 *restrict R, f32 *restrict C, 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)#
CGBSVX uses the LU factorization to compute the solution to a complex system of linear equations A * X = B, A**T * X = B, or A**H * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, 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 and IPIV contain the factored form of A. ‘N’: The matrix A will be copied to AFB and factored. ‘E’: The matrix A will be equilibrated if necessary, then copied to AFB and factored.
intrans‘N’: A * X = B (No transpose) ‘T’: A**T * X = B (Transpose) ‘C’: A**H * X = B (Conjugate transpose)
innThe number of linear equations (order of A). n >= 0.
inklThe number of subdiagonals within the band of A. kl >= 0.
inkuThe number of superdiagonals within the band of A. ku >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABOn entry, the matrix A in band storage, in rows 0 to kl+ku. On exit, if equilibration was done, A is scaled. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kl+ku+1.
inoutAFBOn entry (if fact=’F’), contains the LU factors. On exit, contains the factors L and U. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= 2*kl+ku+1.
inoutipivPivot indices from factorization. Array of dimension (n).
inoutequedOn entry (if fact=’F’), specifies equilibration done. On exit, specifies the form of equilibration: ‘N’: No equilibration ‘R’: Row equilibration (A := diag(R) * A) ‘C’: Column equilibration (A := A * diag(C)) ‘B’: Both (A := diag(R) * A * diag(C))
inoutRRow scale factors. Array of dimension (n).
inoutCColumn scale factors. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equilibration was done, B is scaled. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXThe N-by-NRHS solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound for each solution vector. Array of dimension (nrhs).
outberrBackward error for each solution vector. Array of dimension (nrhs).
outworkComplex workspace array of dimension (2*n).
outrworkReal workspace array of dimension (max(1, n)). On exit, rwork[0] contains the reciprocal pivot growth factor.
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, U(i,i) is exactly zero (1-based). if info = n+1, U is nonsingular but RCOND < machine precision.
void cgbsvx(
const char* fact,
const char* trans,
const INT n,
const INT kl,
const INT ku,
const INT nrhs,
c64* restrict AB,
const INT ldab,
c64* restrict AFB,
const INT ldafb,
INT* restrict ipiv,
char* equed,
f32* restrict R,
f32* restrict C,
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 zgbsvx(const char *fact, const char *trans, const INT n, const INT kl, const INT ku, const INT nrhs, c128 *restrict AB, const INT ldab, c128 *restrict AFB, const INT ldafb, INT *restrict ipiv, char *equed, f64 *restrict R, f64 *restrict C, 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)#
ZGBSVX uses the LU factorization to compute the solution to a complex system of linear equations A * X = B, A**T * X = B, or A**H * X = B, where A is a band matrix of order N with KL subdiagonals and KU superdiagonals, 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 and IPIV contain the factored form of A. ‘N’: The matrix A will be copied to AFB and factored. ‘E’: The matrix A will be equilibrated if necessary, then copied to AFB and factored.
intrans‘N’: A * X = B (No transpose) ‘T’: A**T * X = B (Transpose) ‘C’: A**H * X = B (Conjugate transpose)
innThe number of linear equations (order of A). n >= 0.
inklThe number of subdiagonals within the band of A. kl >= 0.
inkuThe number of superdiagonals within the band of A. ku >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutABOn entry, the matrix A in band storage, in rows 0 to kl+ku. On exit, if equilibration was done, A is scaled. Array of dimension (ldab, n).
inldabThe leading dimension of AB. ldab >= kl+ku+1.
inoutAFBOn entry (if fact=’F’), contains the LU factors. On exit, contains the factors L and U. Array of dimension (ldafb, n).
inldafbThe leading dimension of AFB. ldafb >= 2*kl+ku+1.
inoutipivPivot indices from factorization. Array of dimension (n).
inoutequedOn entry (if fact=’F’), specifies equilibration done. On exit, specifies the form of equilibration: ‘N’: No equilibration ‘R’: Row equilibration (A := diag(R) * A) ‘C’: Column equilibration (A := A * diag(C)) ‘B’: Both (A := diag(R) * A * diag(C))
inoutRRow scale factors. Array of dimension (n).
inoutCColumn scale factors. Array of dimension (n).
inoutBOn entry, the N-by-NRHS right hand side matrix B. On exit, if equilibration was done, B is scaled. Array of dimension (ldb, nrhs).
inldbThe leading dimension of B. ldb >= max(1, n).
outXThe N-by-NRHS solution matrix X. Array of dimension (ldx, nrhs).
inldxThe leading dimension of X. ldx >= max(1, n).
outrcondReciprocal condition number estimate.
outferrForward error bound for each solution vector. Array of dimension (nrhs).
outberrBackward error for each solution vector. Array of dimension (nrhs).
outworkComplex workspace array of dimension (2*n).
outrworkReal workspace array of dimension (max(1, n)). On exit, rwork[0] contains the reciprocal pivot growth factor.
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, U(i,i) is exactly zero (1-based). if info = n+1, U is nonsingular but RCOND < machine precision.
void zgbsvx(
const char* fact,
const char* trans,
const INT n,
const INT kl,
const INT ku,
const INT nrhs,
c128* restrict AB,
const INT ldab,
c128* restrict AFB,
const INT ldafb,
INT* restrict ipiv,
char* equed,
f64* restrict R,
f64* restrict C,
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
);