Skip to content

Instantly share code, notes, and snippets.

David Widmann devmotion

View GitHub Profile
View emcee.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View processes.jl
using Turing
using Turing.RandomMeasures
using Random
function stickbreaking(rpm = DirichletProcess(0.25))
# Data
data = [-2,2,-1.5,1.5]
# Base distribution
@devmotion
devmotion / examples.jl
Last active Dec 19, 2019
ESS examples
View examples.jl
using Turing
using StatsPlots
using Random
using Statistics
function demo(N::Int; n::Int = 10)
# observation noise
σ² = 0.3
@devmotion
devmotion / demo.jl
Last active Nov 24, 2019
Elliptical slice sampling
View demo.jl
using Turing
using StatsPlots
using Random
using Statistics
function demo(N::Int; n::Int = 10)
# observation noise
σ² = 0.3
@devmotion
devmotion / blackboxoptim.jl
Last active Jul 31, 2019
DDE parameter estimation
View blackboxoptim.jl
using DelayDiffEq, DiffEqParamEstim, BlackBoxOptim, DataFrames, LsqFit
using Plots
gr()
include("importData.jl")
include("plot.jl")
# import data from the path, in which:
# pop: population data
# g1, g2: g1 and g2 data
@devmotion
devmotion / benchmark.jl
Created Aug 5, 2018
Interpolation benchmarks
View benchmark.jl
using MuladdMacro, EllipsisNotation, BenchmarkTools
# In place
@generated function f_loop!(out, dt, y, k, b, idxs::Nothing, ::Type{Val{N}}) where N
sumexpr = :(+($((:(k[$i][idx]*b[$i]) for i in 1:N)...)))
quote
@muladd @inbounds for idx in eachindex(out)
out[idx] = y[idx] + dt*$sumexpr
end
View typemacros.jl
using MacroTools: namify
using Base.Meta: isexpr
## Utilities
# Split struct definition (neglecting constructors)
function splitstruct(structdef)
# Split type definition
isexpr(structdef, :struct, 3) || error("Not a type definition:", structdef)
You can’t perform that action at this time.