guides

Scientific Computing Workflows

Physics simulation, ODE solving, and numerical methods.

Published May 30, 2026

Euler Integration

def euler_integrate(state, derivative, dt):
    return [s + d * dt for s, d in zip(state, derivative)]

Runge-Kutta 4

def rk4_step(f, y, t, dt):
    k1 = f(t, y)
    k2 = f(t + dt/2, [yi + dt*k1i/2 for yi, k1i in zip(y, k1)])
    k3 = f(t + dt/2, [yi + dt*k2i/2 for yi, k2i in zip(y, k2)])
    k4 = f(t + dt, [yi + dt*k3i for yi, k3i in zip(y, k3)])
    return [yi + dt/6*(k1i + 2*k2i + 2*k3i + k4i)
            for yi, k1i, k2i, k3i, k4i in zip(y, k1, k2, k3, k4)]

Finite Difference

def finite_diff(f, x, h=1e-5):
    return (f(x + h) - f(x - h)) / (2 * h)