Skip to content
Snippets Groups Projects
test_cf.jl 685 B
Newer Older
Luca Lenz's avatar
Luca Lenz committed

using Random, StatsBase, Distributions
using Graphs
using AbstractMCMC: MCMCSerial #, MCMCThreads, MCMCDistributed
using CairoMakie

using Test
using Revise
using MultilevelChainSampler

w = CyclicWalk()
s = ChristenFox(w)

f = LogDensity(x->-x^2/2)
g = LogDensity(x->-min(10,abs(x)/sqrt(2)))
Luca Lenz's avatar
Luca Lenz committed
l = MultilevelLogDensity([g,f])

q = (x,z)-> - 4 / pi * ((z[1]^2 + z[2]^2) < x^2) / 2
l = MultilevelSampledLogDensity(q, [100, 1000], 2)

c = sample(l, s, 1000)
Luca Lenz's avatar
Luca Lenz committed
x = vcat(states(c)... )
@test abs(mean(x)) < 0.1
@test abs(std(x) - 0.539560) < 0.1

c = sample(l, s, MCMCSerial(), 100, 5)
Luca Lenz's avatar
Luca Lenz committed
x = hcat(states(c)...)
@test abs(mean(x)) < 0.1
@test abs(std(x) - 0.539560) < 0.1