{"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/vign-variational-integrator-graph-networks","title":"Variational Integrator Graph Networks for Learning Energy Conserving Dynamical Systems","arxiv_id":"2004.13688","date":"2020-04-28","proceeding":null,"authors":["Shaan Desai","Marios Mattheakis","Stephen Roberts"],"abstract":"Recent advances show that neural networks embedded with physics-informed priors significantly outperform vanilla neural networks in learning and predicting the long term dynamics of complex physical systems from noisy data. Despite this success, there has only been a limited study on how to optimally combine physics priors to improve predictive performance. To tackle this problem we unpack and generalize recent innovations into individual inductive bias segments. As such, we are able to systematically investigate all possible combinations of inductive biases of which existing methods are a natural subset. Using this framework we introduce Variational Integrator Graph Networks - a novel method that unifies the strengths of existing approaches by combining an energy constraint, high-order symplectic variational integrators, and graph neural networks. We demonstrate, across an extensive ablation, that the proposed unifying framework outperforms existing methods, for data-efficient learning and in predictive accuracy, across both single and many-body problems studied in recent literature. We empirically show that the improvements arise because high order variational integrators combined with a potential energy constraint induce coupled learning of generalized position and momentum updates which can be formalized via the Partitioned Runge-Kutta method.","url_abs":"https://arxiv.org/abs/2004.13688v2","url_pdf":"https://arxiv.org/pdf/2004.13688v2.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":"vign-variational-integrator-graph-networks","repo_url":"https://github.com/shaandesai1/VIGN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"inductive-bias","task_name":"Inductive Bias"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2004.13688","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2004.13688"}},"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/shaandesai1/VIGN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":11},"by_repo_kind":{"listed":{"samples":11,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"9e6957eb8e22442b","entry":"choose_integrator","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"models.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e6957eb8e22442b"}},{"code_sha256_prefix":"8fee4976013bd36a","entry":"create_loss_ops","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"models.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8fee4976013bd36a"}},{"code_sha256_prefix":"65214ed444514ea8","entry":"get_dataset","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65214ed444514ea8"}},{"code_sha256_prefix":"f0bce4213dbb458f","entry":"heinon_heiles","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0bce4213dbb458f"}},{"code_sha256_prefix":"6959b12bcd6d4e06","entry":"rk1ng","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"new_data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/new_data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6959b12bcd6d4e06"}},{"code_sha256_prefix":"d81d23ea9d6a74e8","entry":"rk2","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d81d23ea9d6a74e8"}},{"code_sha256_prefix":"a96403c99a41ede4","entry":"rk3","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a96403c99a41ede4"}},{"code_sha256_prefix":"03eb87969ef29717","entry":"rk3ng","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"new_data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/new_data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"03eb87969ef29717"}},{"code_sha256_prefix":"1235761bb975f44c","entry":"rk4","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1235761bb975f44c"}},{"code_sha256_prefix":"819bfd6aff5f5d21","entry":"rk4ng","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"new_data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/new_data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"819bfd6aff5f5d21"}},{"code_sha256_prefix":"431b27b0dbfbe71e","entry":"spring_particle","repo":"shaandesai1/VIGN","repo_kind":"listed","path":"data_builder.py","file_url":"https://github.com/shaandesai1/VIGN/blob/HEAD/data_builder.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"431b27b0dbfbe71e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}