Skip to content

Instantly share code, notes, and snippets.


Simon Byrne simonbyrne

View GitHub Profile
simonbyrne / fisher.jl
Created Oct 4, 2017
Computing Fisher information via forward-mode automatic differentiation
View fisher.jl
using Distributions
import ForwardDiff: Dual, value, partials
@generated function get_values(a::NTuple{N}) where {N}
return ForwardDiff.tupexpr(i -> :(value(a[$i])),N)
ForwardDiff.value(p::ForwardDiff.Partials) =
View snake.jl
using SenseHat
function newblob(snake)
while true
x = rand(1:8)
y = rand(1:8)
if (x,y) snake
return (x,y)
View Implicit.jl
using LinearAlgebra
using SparseArrays
using DifferentialEquations
using DiffEqOperators
using BlockBandedMatrices
using DiffEqOperators
using RecursiveFactorization
mutable struct Single_Stack
simonbyrne / paynehanek.jl
Last active Aug 18, 2021
Payne-Hanek reduction in Julia
View paynehanek.jl
import Base: TwicePrecision, significand_bits, significand_mask, exponent_mask, exponent_bias
# Bits of 1/2π
# 1/2π == sum(x / 0x1p64^i for i,x = enumerate(INV2PI))
# Can be obtained by:
# setprecision(BigFloat, 4096)
# I = 0.5/big(pi)
# for i = 1:19
# I *= 0x1p64
simonbyrne / sample
Last active Mar 18, 2021
combining character render
View sample
This is 'u' (ASCII/Unicode U+0075) followed by Unicode Character 'COMBINING RIGHT ARROW ABOVE' (Unicode U+20D7):
View cubedsphere.jl
using Makie, GLMakie, GeometryBasics
function cubedshellwarp(a, b, c, R = max(abs(a), abs(b), abs(c)))
function f(sR, ξ, η)
X, Y = tan* ξ / 4), tan* η / 4)
x1 = sR / sqrt(X^2 + Y^2 + 1)
x2, x3 = X * x1, Y * x1
x1, x2, x3
View Manifest.toml
# This file is machine-generated - editing it directly is not advised
deps = ["LinearAlgebra"]
git-tree-sha1 = "0fac443759fa829ed8066db6cf1077d888bb6573"
uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
version = "2.0.2"
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
View Manifest.toml
# This file is machine-generated - editing it directly is not advised
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
deps = ["Libdl", "Pkg"]
git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612"
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
version = "0.3.3+0"
View Tendencies.jl
module Tendencies
abstract type Term end
# rows: equations of each variable
abstract type PrognosticQuantity <: Term end
struct Mass <: PrognosticQuantity end
struct Momentum <: PrognosticQuantity end
View mpiexec printenv
# mpiexec(cmd -> run(`$cmd -n 1 printenv`))