{"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/data-driven-discovery-of-coordinates-and","title":"Data-driven discovery of coordinates and governing equations","arxiv_id":"1904.02107","date":"2019-03-29","proceeding":null,"authors":["Kathleen Champion","Bethany Lusch","J. Nathan Kutz","Steven L. Brunton"],"abstract":"The discovery of governing equations from scientific data has the potential to transform data-rich fields that lack well-characterized quantitative descriptions. Advances in sparse regression are currently enabling the tractable identification of both the structure and parameters of a nonlinear dynamical system from data. The resulting models have the fewest terms necessary to describe the dynamics, balancing model complexity with descriptive ability, and thus promoting interpretability and generalizability. This provides an algorithmic approach to Occam's razor for model discovery. However, this approach fundamentally relies on an effective coordinate system in which the dynamics have a simple representation. In this work, we design a custom autoencoder to discover a coordinate transformation into a reduced space where the dynamics may be sparsely represented. Thus, we simultaneously learn the governing equations and the associated coordinate system. We demonstrate this approach on several example high-dimensional dynamical systems with low-dimensional behavior. The resulting modeling framework combines the strengths of deep neural networks for flexible representation and sparse identification of nonlinear dynamics (SINDy) for parsimonious models. It is the first method of its kind to place the discovery of coordinates and models on an equal footing.","url_abs":"https://arxiv.org/abs/1904.02107v2","url_pdf":"https://arxiv.org/pdf/1904.02107v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"data-driven-discovery-of-coordinates-and","repo_url":"https://github.com/kpchamp/sindyautoencoders","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"data-driven-discovery-of-coordinates-and","repo_url":"https://github.com/pietro-sillano/SindyPendulum","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.02107","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.02107"}},"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/kpchamp/sindyautoencoders","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pietro-sillano/SindyPendulum","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"ran_fixture":1,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":"0516bed7d85fe5f6","entry":"library_size","repo":"kpchamp/sindyautoencoders","repo_kind":"official","path":"src/sindy_utils.py","file_url":"https://github.com/kpchamp/sindyautoencoders/blob/HEAD/src/sindy_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0516bed7d85fe5f6"}},{"code_sha256_prefix":"8a45a93daee99dc6","entry":"simulate_lorenz","repo":"kpchamp/sindyautoencoders","repo_kind":"official","path":"examples/lorenz/example_lorenz.py","file_url":"https://github.com/kpchamp/sindyautoencoders/blob/HEAD/examples/lorenz/example_lorenz.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8a45a93daee99dc6"}},{"code_sha256_prefix":"7b5b6a9801bab406","entry":"sindy_library","repo":"kpchamp/sindyautoencoders","repo_kind":"official","path":"src/sindy_utils.py","file_url":"https://github.com/kpchamp/sindyautoencoders/blob/HEAD/src/sindy_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b5b6a9801bab406"}},{"code_sha256_prefix":"4b7a1266592773df","entry":"sindy_library_order2","repo":"kpchamp/sindyautoencoders","repo_kind":"official","path":"src/sindy_utils.py","file_url":"https://github.com/kpchamp/sindyautoencoders/blob/HEAD/src/sindy_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4b7a1266592773df"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}