Description Usage Arguments Value References Examples
Biconjugate Gradient Stabilized(BiCGSTAB) method is a stabilized version of Biconjugate Gradient method for nonsymmetric systems using
evaluations with respect to A^T as well as A in matrix-vector multiplications.
For an overdetermined system where nrow(A)>ncol(A)
,
it is automatically transformed to the normal equation. Underdetermined system -
nrow(A)<ncol(A)
- is not supported. Preconditioning matrix M, in theory, should be symmetric and positive definite
with fast computability for inverse, though it is not limited until the solver level.
1 2 3 4 5 6 7 8 9 | lsolve.bicgstab(
A,
B,
xinit = NA,
reltol = 1e-05,
maxiter = 1000,
preconditioner = diag(ncol(A)),
verbose = TRUE
)
|
A |
an (m\times n) dense or sparse matrix. See also |
B |
a vector of length m or an (m\times k) matrix (dense or sparse) for solving k systems simultaneously. |
xinit |
a length-n vector for initial starting point. |
reltol |
tolerance level for stopping iterations. |
maxiter |
maximum number of iterations allowed. |
preconditioner |
an (n\times n) preconditioning matrix; default is an identity matrix. |
verbose |
a logical; |
a named list containing
solution; a vector of length n or a matrix of size (n\times k).
the number of iterations required.
a vector of errors for stopping criterion.
van_der_vorst_bi-cgstab:_1992Rlinsolve
1 2 3 4 5 6 7 8 9 10 11 12 | ## Overdetermined System
set.seed(100)
A = matrix(rnorm(10*5),nrow=10)
x = rnorm(5)
b = A%*%x
out1 = lsolve.cg(A,b)
out2 = lsolve.bicg(A,b)
out3 = lsolve.bicgstab(A,b)
matout = cbind(matrix(x),out1$x, out2$x, out3$x);
colnames(matout) = c("true x","CG result", "BiCG result", "BiCGSTAB result")
print(matout)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.