{"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/discovery-of-physics-from-data-universal-laws","title":"Discovery of Physics from Data: Universal Laws and Discrepancies","arxiv_id":"1906.07906","date":"2019-06-19","proceeding":null,"authors":["Brian M. de Silva","David M. Higdon","Steven L. Brunton","J. Nathan Kutz"],"abstract":"Machine learning (ML) and artificial intelligence (AI) algorithms are now being used to automate the discovery of physics principles and governing equations from measurement data alone. However, positing a universal physical law from data is challenging without simultaneously proposing an accompanying discrepancy model to account for the inevitable mismatch between theory and measurements. By revisiting the classic problem of modeling falling objects of different size and mass, we highlight a number of nuanced issues that must be addressed by modern data-driven methods for automated physics discovery. Specifically, we show that measurement noise and complex secondary physical mechanisms, like unsteady fluid drag forces, can obscure the underlying law of gravitation, leading to an erroneous model. We use the sparse identification of nonlinear dynamics (SINDy) method to identify governing equations for real-world measurement data and simulated trajectories. Incorporating into SINDy the assumption that each falling object is governed by a similar physical law is shown to improve the robustness of the learned models, but discrepancies between the predictions and observations persist due to subtleties in drag dynamics. This work highlights the fact that the naive application of ML/AI will generally be insufficient to infer universal physical laws without further modification.","url_abs":"https://arxiv.org/abs/1906.07906v3","url_pdf":"https://arxiv.org/pdf/1906.07906v3.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":"discovery-of-physics-from-data-universal-laws","repo_url":"https://github.com/briandesilva/discovery-of-physics-from-data","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1906.07906","atlas_url":"https://app.syntology.ai/?focus=1906.07906","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1906.07906"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/briandesilva/discovery-of-physics-from-data","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":10,"unverified":3},"by_repo_kind":{"listed":{"samples":13,"ran":10,"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":"99364b9f102ebcdb","entry":"append_re_dependent_drag","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/library.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/library.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"99364b9f102ebcdb"}},{"code_sha256_prefix":"21c98ad537e99057","entry":"differentiate","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/differentiation.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/differentiation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"21c98ad537e99057"}},{"code_sha256_prefix":"f8ef8adf92381a9a","entry":"forward_difference","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/differentiation.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/differentiation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f8ef8adf92381a9a"}},{"code_sha256_prefix":"eb129eac7eab60f4","entry":"get_library","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/library.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/library.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"eb129eac7eab60f4"}},{"code_sha256_prefix":"3d2fc04eec6bec97","entry":"get_library_index","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/library.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/library.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3d2fc04eec6bec97"}},{"code_sha256_prefix":"27b3c79246383909","entry":"group_sparse_penalty","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/sindy_ball.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/sindy_ball.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"27b3c79246383909"}},{"code_sha256_prefix":"6ff96ad883b8f470","entry":"need_to_clip","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/utils.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6ff96ad883b8f470"}},{"code_sha256_prefix":"042df78bb2bdf5bb","entry":"normalize_columns","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/utils.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"042df78bb2bdf5bb"}},{"code_sha256_prefix":"e16b70f570f33b0e","entry":"smooth_data","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/differentiation.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/differentiation.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e16b70f570f33b0e"}},{"code_sha256_prefix":"6e0fb112ae66619c","entry":"synthetic_ball_drop","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/utils.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6e0fb112ae66619c"}},{"code_sha256_prefix":"3248c29466176f26","entry":"predict_with_model","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/tests.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/tests.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":"3248c29466176f26"}},{"code_sha256_prefix":"de7056d8f4eea632","entry":"subtract_known_model","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/tests.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/tests.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":"de7056d8f4eea632"}},{"code_sha256_prefix":"8dc070fa13d771e1","entry":"test_group_sparsity","repo":"briandesilva/discovery-of-physics-from-data","repo_kind":"listed","path":"code/helpers/tests.py","file_url":"https://github.com/briandesilva/discovery-of-physics-from-data/blob/HEAD/code/helpers/tests.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":"8dc070fa13d771e1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}