| qsolve {INLA} | R Documentation |
This routine use the GMRFLib implementation to solve linear systems with a SPD matrix.
inla.qsolve(Q, B, reordering = inla.reorderings(), method = c("solve", "forward", "backward"))
Q |
A SPD matrix, either as a (dense) matrix or sparse-matrix |
.
B |
The right hand side matrix, either as a (dense) matrix or sparse-matrix. |
reordering |
The type of reordering algorithm to be used for |
method |
The system to solve, one of |
inla.qsolve returns a matrix X,
which is the solution of Q X = B, L X = B or L^T X = B
depending on the value of method.
Havard Rue hrue@r-inla.org
n = 10
QQ = matrix(runif(n^2), n, n)
Q = inla.as.dgTMatrix(QQ %*% t(QQ))
B = matrix(runif(n^2-n), n, n-1)
X = inla.qsolve(Q, B, method = "solve")
print(paste("err", sum(abs( Q %*% X - B))))
L = t(chol(Q))
X = inla.qsolve(Q, B, method = "forward")
print(paste("err", sum(abs( L %*% X - B))))
X = inla.qsolve(Q, B, method = "backward")
print(paste("err", sum(abs( t(L) %*% X - B))))