2.3.5 Numerical implementation