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)