library(tidyverse)
library(gdata)
library(RColorBrewer)
library(rgeos)
library(rgdal)
library(lattice)
library(glmnet)
library(igraph)
library(sf)
library(profvis)
library(mgcv)
library(Matrix)
library(pryr)
library(hazreg)
library(Matrix)
library(microbenchmark)
library(profvis)
library(sparsesolve)

Illustration

adj <- sparsesolve::adj
K <- diag(apply(adj, 1, sum)) - adj
set.seed(0)
true_par <- rnorm(nrow(adj))
sigma_sq <- rpois(nrow(adj), 5) + 1
par <- rnorm(nrow(adj))
pen <- rpois(1, 10)
A <- hessian(par, true_par, sigma_sq, K, pen)
b <- score(par, true_par, sigma_sq, K, pen)
dimnames(A) <- list(1:nrow(A), 1:ncol(A))
names(b) <- seq_along(b)
g <- graph_from_adjacency_matrix(A != 0, mode = "undirected")
jt <- build_jt(g)
jt$C <- lapply(jt$C, sort)
root <- floor(jt$N / 2)
plot(jt$graph, layout = layout_as_tree(jt$graph, root = root))
forward <- sapply(rev(all_simple_paths(jt$graph, from = V(jt$graph)[root])),
                      function(a) c(which(V(jt$graph) %in% a[length(a)]),
                                    which(V(jt$graph) %in% a[length(a) - 1]))
    )
sum((sparsesolve(A, b, jt, forward, root) - solve(A, b)) ^ 2)


goepp/sparsesolve documentation built on May 30, 2019, 12:01 a.m.