If you are working with covariance matrix or any positive definite matrix you can use pd.solve
is faster.
Following the Wolfgang example:
library(MASS)
library(mnormt)
k <- 2000
rho <- .3
S <- matrix(rep(rho, k*k), nrow=k)
diag(S) <- 1
dat <- mvrnorm(10000, mu=rep(0,k), Sigma=S) ### be patient!
R <- cor(dat)
system.time(RI1 <- solve(R))
system.time(RI2 <- chol2inv(chol(R)))
system.time(RI3 <- qr.solve(R))
> system.time(RI1 <- solve(R))
usuário sistema decorrido
13.21 0.03 13.76
> system.time(RI2 <- chol2inv(chol(R)))
usuário sistema decorrido
5.62 0.05 5.80
> system.time(RI3 <- qr.solve(R))
usuário sistema decorrido
20.42 0.09 21.10
> system.time(RI4 <- pd.solve(R))
usuário sistema decorrido
5.53 0.00 5.61