Introduction To Analytical Dynamics by Nicholas Woodhouse