{"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/incorporating-physical-constraints-in-a-deep","title":"Incorporating physical constraints in a deep probabilistic machine learning framework for coarse-graining dynamical systems","arxiv_id":"1912.12976","date":"2019-12-30","proceeding":null,"authors":["Sebastian Kaltenbach","Phaedon-Stelios Koutsourelakis"],"abstract":"Data-based discovery of effective, coarse-grained (CG) models of high-dimensional dynamical systems presents a unique challenge in computational physics and particularly in the context of multiscale problems. The present paper offers a data-based, probablistic perspective that enables the quantification of predictive uncertainties. One of the outstanding problems has been the introduction of physical constraints in the probabilistic machine learning objectives. The primary utility of such constraints stems from the undisputed physical laws such as conservation of mass, energy etc. that they represent. Furthermore and apart from leading to physically realistic predictions, they can significantly reduce the requisite amount of training data which for high-dimensional, multiscale systems are expensive to obtain (Small Data regime). We formulate the coarse-graining process by employing a probabilistic state-space model and account for the aforementioned equality constraints as virtual observables in the associated densities. We demonstrate how probabilistic inference tools can be employed to identify the coarse-grained variables in combination with deep neural nets and their evolution model without ever needing to define a fine-to-coarse (restriction) projection and without needing time-derivatives of state variables. Furthermore, it is capable of reconstructing the evolution of the full, fine-scale system and therefore the observables of interest need not be selected a priori. We demonstrate the efficacy of the proposed framework by applying it to systems of interacting particles and an image-series of a nonlinear pendulum.","url_abs":"https://arxiv.org/abs/1912.12976v4","url_pdf":"https://arxiv.org/pdf/1912.12976v4.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":"incorporating-physical-constraints-in-a-deep","repo_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"small-data","task_name":"Small Data Image Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1912.12976","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.12976"}},"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/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"3571b741f3aee05d","entry":"calcELBO","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/Utilities2.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/Utilities2.py","link_basis":"first_harvest_node","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":"3571b741f3aee05d"}},{"code_sha256_prefix":"a5cae562963c36a7","entry":"evolution_lib","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Pendulum/model.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Pendulum/model.py","link_basis":"first_harvest_node","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":"a5cae562963c36a7"}},{"code_sha256_prefix":"1ecebd77cfee0fa7","entry":"log_normal_pdf","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Pendulum/model.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Pendulum/model.py","link_basis":"first_harvest_node","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":"1ecebd77cfee0fa7"}},{"code_sha256_prefix":"f88d9f747163a87f","entry":"mufunc","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/Pred.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/Pred.py","link_basis":"first_harvest_node","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":"f88d9f747163a87f"}},{"code_sha256_prefix":"51ee0995719af9ec","entry":"normal_pdf","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Pendulum/model.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Pendulum/model.py","link_basis":"first_harvest_node","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":"51ee0995719af9ec"}},{"code_sha256_prefix":"154939c45910aeb9","entry":"setVarphi","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/Utilities2.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/Utilities2.py","link_basis":"first_harvest_node","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":"154939c45910aeb9"}},{"code_sha256_prefix":"dcde5ef84539faf9","entry":"tfunc","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/ParaOpt2.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/ParaOpt2.py","link_basis":"first_harvest_node","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":"dcde5ef84539faf9"}},{"code_sha256_prefix":"09f5ba5c296d58f3","entry":"thetafunc","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/ParaOpt2.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/ParaOpt2.py","link_basis":"first_harvest_node","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":"09f5ba5c296d58f3"}},{"code_sha256_prefix":"90cd99a1d8448cb5","entry":"thetatraf","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/Pred.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/Pred.py","link_basis":"first_harvest_node","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":"90cd99a1d8448cb5"}},{"code_sha256_prefix":"a5abb4aa7d36872c","entry":"thetatraf2","repo":"SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG","repo_kind":"official","path":"Particle/Pred.py","file_url":"https://github.com/SebastianKaltenbach/PhysicalConstraints_ProbabilisticCG/blob/HEAD/Particle/Pred.py","link_basis":"first_harvest_node","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":"a5abb4aa7d36872c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}