{"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/arxiv-2608-04239","title":"Physics-informed reduced-order modelling with equivariant spectral submanifolds","arxiv_id":"2608.04239","date":"2026-08-04","proceeding":null,"authors":["Georg Maierhofer"],"abstract":"Spectral submanifold (SSM) reduction has emerged as a mathematically principled route to reliable nonlinear reduced-order models, capturing dynamics beyond the reach of linear techniques such as Dynamic Mode Decomposition (DMD). The computation of SSMs, however, remains computationally expensive, particularly for high-dimensional systems. In this work, we introduce equivariant spectral submanifold (eSSM) reduction, a novel extension of the SSM framework that explicitly incorporates symmetries of the full-order model into the reduction process. We establish the mathematical foundations of this approach by showing that SSMs are naturally equivariant submanifolds and that the associated charts and reduced dynamics inherit the appropriate induced group actions. Building on this framework, we develop a novel equivariant SSM reduction algorithm that exploits these symmetries to achieve substantially faster computations while also improving model robustness. We demonstrate the advantages of this approach on several benchmark problems including a test from the Common Task Framework for Science.","url_abs":"https://arxiv.org/abs/2608.04239","url_pdf":"https://arxiv.org/pdf/2608.04239","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.04239"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/GeorgAUT/eSSM","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/haller-group/SSMLearn","reach":{"status":"ok","spdx":"AGPL-3.0"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/haller-group/SSMLearnPy","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":4,"ran_draft_wrong":5,"ran_honours":3,"ran_fixture":6,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":23,"ran":18,"repositories":2}},"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":23,"samples":[{"code_sha256_prefix":"d975f333dc9cd3f0","entry":"NormalForm","repo":"haller-group/SSMLearnPy","repo_kind":"found_in_text","path":"ssmlearnpy/reduced_dynamics/normalform.py","file_url":"https://github.com/haller-group/SSMLearnPy/blob/HEAD/ssmlearnpy/reduced_dynamics/normalform.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d975f333dc9cd3f0"}},{"code_sha256_prefix":"670e1fb0cc69ad63","entry":"_exponent_blocks","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"670e1fb0cc69ad63"}},{"code_sha256_prefix":"1014b99019b23faf","entry":"_poly_mul","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1014b99019b23faf"}},{"code_sha256_prefix":"84bc6b3388d26ba4","entry":"_weak_compositions","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"84bc6b3388d26ba4"}},{"code_sha256_prefix":"deeff619eb1a6530","entry":"as_snapshot_segments","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"deeff619eb1a6530"}},{"code_sha256_prefix":"3796d94eedb019db","entry":"average_degenerate_singular_values","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"3796d94eedb019db"}},{"code_sha256_prefix":"8c68d0e7341c883c","entry":"diagonalize_linear_part","repo":"haller-group/SSMLearnPy","repo_kind":"found_in_text","path":"ssmlearnpy/reduced_dynamics/normalform.py","file_url":"https://github.com/haller-group/SSMLearnPy/blob/HEAD/ssmlearnpy/reduced_dynamics/normalform.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8c68d0e7341c883c"}},{"code_sha256_prefix":"928332978cded8bc","entry":"equivariance_gram_matrix","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"928332978cded8bc"}},{"code_sha256_prefix":"7b242bdc4d34fb40","entry":"equivariant_truncated_svd","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"7b242bdc4d34fb40"}},{"code_sha256_prefix":"eda1e30024e14284","entry":"equivariant_truncated_svd_dense","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"eda1e30024e14284"}},{"code_sha256_prefix":"cb2239967fc4b6f6","entry":"equivariant_truncated_svd_matrix_free","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"cb2239967fc4b6f6"}},{"code_sha256_prefix":"5474ed4da0a0236d","entry":"eval_monomials","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"5474ed4da0a0236d"}},{"code_sha256_prefix":"e142744ab11c2797","entry":"generate_exponents","repo":"haller-group/SSMLearnPy","repo_kind":"found_in_text","path":"ssmlearnpy/reduced_dynamics/normalform.py","file_url":"https://github.com/haller-group/SSMLearnPy/blob/HEAD/ssmlearnpy/reduced_dynamics/normalform.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":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e142744ab11c2797"}},{"code_sha256_prefix":"39936453b021aee1","entry":"induced_monomial_action","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"39936453b021aee1"}},{"code_sha256_prefix":"80a75d09a90fa122","entry":"make_constrained_objective","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"80a75d09a90fa122"}},{"code_sha256_prefix":"c438888a3c1044c9","entry":"make_orthonormality_constraint","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c438888a3c1044c9"}},{"code_sha256_prefix":"8a4236b05d776012","entry":"multivariate_polynomial","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8a4236b05d776012"}},{"code_sha256_prefix":"c36d35d1d94dbfa3","entry":"whitened_coords","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c36d35d1d94dbfa3"}},{"code_sha256_prefix":"90203524f9ee4c4e","entry":"SSMFit","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"90203524f9ee4c4e"}},{"code_sha256_prefix":"5838744671991213","entry":"coeffs_to_W_blocks","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"5838744671991213"}},{"code_sha256_prefix":"343bac7171dc635e","entry":"eSSM_manifold_fit","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"343bac7171dc635e"}},{"code_sha256_prefix":"d9fe67c57e1ff1ea","entry":"equivariant_nullspace_blocks","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d9fe67c57e1ff1ea"}},{"code_sha256_prefix":"d79e7ed831ceb7bf","entry":"gauss_newton_preconditioner","repo":"GeorgAUT/eSSM","repo_kind":"found_in_text","path":"src/eSSM/manifold_fit.py","file_url":"https://github.com/GeorgAUT/eSSM/blob/HEAD/src/eSSM/manifold_fit.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"AGPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d79e7ed831ceb7bf"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}