{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/hamiltonian-descent-methods","title":"Hamiltonian Descent Methods","arxiv_id":"1809.05042","date":"2018-09-13","proceeding":null,"authors":["Chris J. Maddison","Daniel Paulin","Yee Whye Teh","Brendan O'Donoghue","Arnaud Doucet"],"abstract":"We propose a family of optimization methods that achieve linear convergence\nusing first-order gradient information and constant step sizes on a class of\nconvex functions much larger than the smooth and strongly convex ones. This\nlarger class includes functions whose second derivatives may be singular or\nunbounded at their minima. Our methods are discretizations of conformal\nHamiltonian dynamics, which generalize the classical momentum method to model\nthe motion of a particle with non-standard kinetic energy exposed to a\ndissipative force and the gradient field of the function of interest. They are\nfirst-order in the sense that they require only gradient computation. Yet,\ncrucially the kinetic gradient map can be designed to incorporate information\nabout the convex conjugate in a fashion that allows for linear convergence on\nconvex functions that may be non-smooth or non-strongly convex. We study in\ndetail one implicit and two explicit methods. For one explicit method, we\nprovide conditions under which it converges to stationary points of non-convex\nfunctions. For all, we provide conditions on the convex function and kinetic\nenergy pair that guarantee linear convergence, and show that these conditions\ncan be satisfied by functions with power growth. In sum, these methods expand\nthe class of convex functions on which linear convergence is possible with\nfirst-order computation.","url_abs":"http://arxiv.org/abs/1809.05042v1","url_pdf":"http://arxiv.org/pdf/1809.05042v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"hamiltonian-descent-methods","repo_url":"https://github.com/mocchi-tam/Hamiltonian_Descent_Methods","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"hamiltonian-descent-methods","repo_url":"https://github.com/mocchi-tam/Hamiltonian_Desent_Methods","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"hamiltonian-descent-methods","repo_url":"https://github.com/omi-key/Hamiltonian-Descent-Methods","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"hamiltonian-descent-methods","repo_url":"https://github.com/takyamamoto/FirstExplicitMethod-HDM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1809.05042","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1809.05042"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/takyamamoto/FirstExplicitMethod-HDM","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mocchi-tam/Hamiltonian_Desent_Methods","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/omi-key/Hamiltonian-Descent-Methods","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mocchi-tam/Hamiltonian_Descent_Methods","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":2},"by_repo_kind":{"listed":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"01e5e580ceeefa06","entry":"f","repo":"takyamamoto/FirstExplicitMethod-HDM","repo_kind":"listed","path":"first_explicit_method.py","file_url":"https://github.com/takyamamoto/FirstExplicitMethod-HDM/blob/HEAD/first_explicit_method.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"01e5e580ceeefa06"}},{"code_sha256_prefix":"eb7ed59652c146e6","entry":"k","repo":"takyamamoto/FirstExplicitMethod-HDM","repo_kind":"listed","path":"first_explicit_method.py","file_url":"https://github.com/takyamamoto/FirstExplicitMethod-HDM/blob/HEAD/first_explicit_method.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"eb7ed59652c146e6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}