ConceptPythonIntermediate Symplectic integrators: why leapfrog's energy error is bounded and RK4's drifts det = np.linalg.det(D)dets[name] = np.linalg.det(np.array(methods[name](identity[0], identity[1], force=oscillator)))
ConceptPythonIntermediate The condition number: how many digits a linear solve can lose print(f"det(A) = {np.linalg.det(A):.3g}")print(f"0.001 I₁₀: det = {np.linalg.det(S):.3g}, κ = {np.linalg.cond(S):.1f}")