Nothing
context("test_precomputed.R")
muffled_chol = function(x, ...)
withCallingHandlers(chol(x, ...),
warning = function(w) {
if (grepl("the matrix is either rank-deficient or indefinite", w$message))
invokeRestart("muffleWarning")
} )
test_that("Precomputed precision matrix agrees with regular computations for logliklihood", {
skip("Cannot test it due to numerical differences between chol in armadillo and R ...")
set.seed(1)
simdata = simple_sims(500,5,1)
data = mash_set_data(simdata$Bhat, simdata$Shat, alpha = 0)
U.c = cov_canonical(data)
grid = autoselect_grid(data,sqrt(2))
Ulist = normalize_Ulist(U.c)
xUlist = expand_cov(Ulist,grid,TRUE)
loglik1 = calc_lik_rcpp(t(data$Bhat),t(data$Shat),data$V,
matrix(0,0,0), simplify2array(xUlist),F,T)$data
svs = data$Shat[1,] * t(data$V * data$Shat[1,])
sigma_rooti = list()
for (i in 1:length(xUlist)) sigma_rooti[[i]] = backsolve(muffled_chol(svs + xUlist[[i]], pivot=T), diag(nrow(svs)))
loglik2 = calc_lik_common_rcpp(t(data$Bhat),
simplify2array(sigma_rooti),
F)$data
expect_equal(loglik1, loglik2, tolerance = 1e-4)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.