Nothing
test_that("simple posterior mean check", {
edge1 <- rbind(c(0,0),c(1,0))
edge2 <- rbind(c(1,0),c(1,1))
edges = list(edge1,edge2)
graph <- metric_graph$new(edges = edges)
theta <- c(1,1,1)
Eu <- MetricGraph:::posterior_mean_alpha1_directional(theta, graph, c(1),
matrix(c(1,0.5),nrow=1,ncol=2))
Eu_t <- c(rep(r_1(0.5,1,1)/(r_1(0.,1,1)+1),3),r_1(1.5,1,1)/(r_1(0.,1,1)+1))
expect_equal(as.vector(Eu), Eu_t, tolerance = 1e-10)
#no noise case
theta[1] <- 0
Eu <- MetricGraph:::posterior_mean_alpha1_directional(theta, graph, c(1),
matrix(c(1,0.5),nrow=1,ncol=2))
Eu_t <- c(rep(r_1(0.5,1,1)/r_1(0.,1,1),3),r_1(1.5,1,1)/r_1(0.,1,1))
expect_equal(as.vector(Eu), Eu_t, tolerance = 1e-10)
})
test_that("posterior mean discontinous check", {
edge1 <- rbind(c(1,0),c(0,0))
edge2 <- rbind(c(1,1),c(1,0))
edge3 <- rbind(c(1,-1),c(1,0))
edges = list(edge1,edge2,edge3)
graph <- metric_graph$new(edges = edges)
#graph$plot(direction = T)
theta <- c(1,1,1)
theta[1] <- 0
graph$setDirectionalWeightFunction( f_in = function(x){(x/sum(x))})
Eu <- MetricGraph:::posterior_mean_alpha1_directional(theta, graph, c(1),
matrix(c(3,0.5),nrow=1,ncol=2))
Eu_t <- c(0.5*r_1(0.5,1,1)/r_1(0.,1,1),
0.5*r_1(1.5,1,1)/r_1(0.,1,1),
0,
0,
r_1(0.5,1,1)/r_1(0.,1,1),
r_1(0.5,1,1)/r_1(0.,1,1))
expect_equal(as.vector(Eu), Eu_t, tolerance = 1e-10)
expect_warning(graph$setDirectionalWeightFunction( f_in = function(x){sqrt(x/sum(x))}))
Eu <- MetricGraph:::posterior_mean_alpha1_directional(theta, graph, c(1),
matrix(c(3,0.5),nrow=1,ncol=2))
Eu_t <- c(sqrt(0.5)*r_1(0.5,1,1)/r_1(0.,1,1),
sqrt(0.5)*r_1(1.5,1,1)/r_1(0.,1,1),
0,
0,
r_1(0.5,1,1)/r_1(0.,1,1),
r_1(0.5,1,1)/r_1(0.,1,1))
expect_equal(as.vector(Eu), Eu_t, tolerance = 1e-10)
Eu <- MetricGraph:::posterior_mean_alpha1_directional(theta, graph, c(1),
matrix(c(1,0.5),nrow=1,ncol=2))
Eu_t <- c(r_1(0.5,1,1)/r_1(0.,1,1),
r_1(0.5,1,1)/r_1(0.,1,1),
sqrt(0.5)*r_1(1.5,1,1)/r_1(0.,1,1),
sqrt(0.5)*r_1(.5,1,1)/r_1(0.,1,1),
sqrt(0.5)*r_1(1.5,1,1)/r_1(0.,1,1),
sqrt(0.5)*r_1(.5,1,1)/r_1(0.,1,1))
expect_equal(as.vector(Eu), Eu_t, tolerance = 1e-10)
})
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.