Canonical (and non-canonical) Transformations: A Differential Approach
  The traditional method of teaching canonical transformations involves the introduction of generating functions of various types. This method obscures the underlying structure of the Hamiltonian least-action principle, and can make a straightforward concept seem arcane. In this article, I present a method for calculating canonical changes of variable in Hamiltonian mechanics using a differential approach which is much more straightforward. This method handles canonical variables directly, but also returns the correct equations of motion for non-canonical variables. It is also much more algebraic than generating functions, making it easier to present in a systematic manner. 
Stephen D. webb
physics.acc-ph physics.class-ph