approaches to their solution: direct, dual, and Hamiltonian. It uses the Hamiltonian