Numerical Methods for Differential-Algebraic Equations