Description Usage Arguments Value Author(s) Examples
This routine use the GMRFLib implementation which compute parts of the inverse of a SPD sparse matrix. The diagonal and values for the neighbours in the inverse, are provided.
| 1 2 |      inla.qinv(Q, constr, reordering = INLA::inla.reorderings())
 
 | 
| Q | A SPD matrix, either as a (dense) matrix or sparseMatrix. | 
| constr | Optional linear constraints; 
see  | 
| reordering | The type of reordering algorithm to be used for  | 
inla.qinv returns a sparseMatrix of type dgTMatrix with the
diagonal and values for the neigbours in the inverse. Note that the full inverse is NOT provided!
Havard Rue hrue@r-inla.org
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |  ## dense matrix example
 n = 10
 A = matrix(runif(n^2), n, n)
 Q = A %*% t(A)
 print(mean(abs(inla.qinv(Q) - solve(Q))))
 ## sparse matrix example
 rho = 0.9
 Q = toeplitz(c(1+rho^2, -rho,  rep(0, n-3), -rho)) / (1-rho^2)
 Q = inla.as.dgTMatrix(Q)
 Q.inv = inla.qinv(Q)
 ## compute the marginal variances as a vector from a precision matrix
 marginal.variances = diag(inla.qinv(Q))
 ## read the sparse matrix from a file in the 'i, j, value' format
 filename = INLA:::inla.tempfile()
 write(t(cbind(Q@i+1L,  Q@j+1L,  Q@x)), ncol=3, file=filename)
 Qinv = inla.qinv(filename)
 unlink(filename)
 
 | 
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.