Geometry of Constrained Dynamical Systems by John M. Charap