{"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/learning-pod-of-complex-dynamics-using-heavy","title":"Learning POD of Complex Dynamics Using Heavy-ball Neural ODEs","arxiv_id":"2202.12373","date":"2022-02-24","proceeding":null,"authors":["Justin Baker","Elena Cherkaev","Akil Narayan","Bao Wang"],"abstract":"Proper orthogonal decomposition (POD) allows reduced-order modeling of complex dynamical systems at a substantial level, while maintaining a high degree of accuracy in modeling the underlying dynamical systems. Advances in machine learning algorithms enable learning POD-based dynamics from data and making accurate and fast predictions of dynamical systems. In this paper, we leverage the recently proposed heavy-ball neural ODEs (HBNODEs) [Xia et al. NeurIPS, 2021] for learning data-driven reduced-order models (ROMs) in the POD context, in particular, for learning dynamics of time-varying coefficients generated by the POD analysis on training snapshots generated from solving full order models. HBNODE enjoys several practical advantages for learning POD-based ROMs with theoretical guarantees, including 1) HBNODE can learn long-term dependencies effectively from sequential observations and 2) HBNODE is computationally efficient in both training and testing. We compare HBNODE with other popular ROMs on several complex dynamical systems, including the von K\\'{a}rm\\'{a}n Street flow, the Kurganov-Petrova-Popov equation, and the one-dimensional Euler equations for fluids modeling.","url_abs":"https://arxiv.org/abs/2202.12373v2","url_pdf":"https://arxiv.org/pdf/2202.12373v2.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":"learning-pod-of-complex-dynamics-using-heavy","repo_url":"https://github.com/justinbakermath/pod_hbnode","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.12373","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.12373"}},"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/justinbakermath/pod_hbnode","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran_draft_wrong":1,"unverified":13},"by_repo_kind":{"official":{"samples":15,"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":0,"samples":[{"code_sha256_prefix":"f6b944f50d3f15ae","entry":"count_parameters","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/param/models.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/param/models.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6b944f50d3f15ae"}},{"code_sha256_prefix":"01efe1f42dca1548","entry":"normal_kl","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/vae/models.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/vae/models.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"01efe1f42dca1548"}},{"code_sha256_prefix":"e090df891e297576","entry":"DMD","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/dmd.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/dmd.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":"e090df891e297576"}},{"code_sha256_prefix":"39e053a8fc66694c","entry":"DMD1","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/dmd.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/dmd.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":"39e053a8fc66694c"}},{"code_sha256_prefix":"70bae7e4da0f56e1","entry":"DMD2","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/dmd.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/dmd.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":"70bae7e4da0f56e1"}},{"code_sha256_prefix":"b35ab2aa835ed3b1","entry":"EE_DAT","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/network.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/network.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":"b35ab2aa835ed3b1"}},{"code_sha256_prefix":"a337897078dd52eb","entry":"FIB_DAT","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/network.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/network.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":"a337897078dd52eb"}},{"code_sha256_prefix":"41d6318bb337174e","entry":"POD1","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/pod.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/pod.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":"41d6318bb337174e"}},{"code_sha256_prefix":"338d3dc45d0e0fec","entry":"POD2","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/pod.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/pod.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":"338d3dc45d0e0fec"}},{"code_sha256_prefix":"90ec5a4abf772bdc","entry":"POD3","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/pod.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/pod.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":"90ec5a4abf772bdc"}},{"code_sha256_prefix":"477157a7a11b137b","entry":"VKS_DAT","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/network.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/network.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":"477157a7a11b137b"}},{"code_sha256_prefix":"3bc4a1ef53bc3e23","entry":"data_reconstruct","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/visualization.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/visualization.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":"3bc4a1ef53bc3e23"}},{"code_sha256_prefix":"239655341b0cc933","entry":"kpp_animate","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/visualization.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/visualization.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":"239655341b0cc933"}},{"code_sha256_prefix":"95abbedc21d8e2ce","entry":"train","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/dmd_model.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/dmd_model.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":"95abbedc21d8e2ce"}},{"code_sha256_prefix":"3b2ff7698c4bc6ad","entry":"vks_animate","repo":"justinbakermath/pod_hbnode","repo_kind":"official","path":"pod_hbnode/visualization.py","file_url":"https://github.com/justinbakermath/pod_hbnode/blob/HEAD/pod_hbnode/visualization.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":"3b2ff7698c4bc6ad"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}