{"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/dimensionless-machine-learning-imposing-exact","title":"Dimensionless machine learning: Imposing exact units equivariance","arxiv_id":"2204.00887","date":"2022-04-02","proceeding":null,"authors":["Soledad Villar","Weichi Yao","David W. Hogg","Ben Blum-Smith","Bianca Dumitrascu"],"abstract":"Units equivariance (or units covariance) is the exact symmetry that follows from the requirement that relationships among measured quantities of physics relevance must obey self-consistent dimensional scalings. Here, we express this symmetry in terms of a (non-compact) group action, and we employ dimensional analysis and ideas from equivariant machine learning to provide a methodology for exactly units-equivariant machine learning: For any given learning task, we first construct a dimensionless version of its inputs using classic results from dimensional analysis, and then perform inference in the dimensionless space. Our approach can be used to impose units equivariance across a broad range of machine learning methods which are equivariant to rotations and other groups. We discuss the in-sample and out-of-sample prediction accuracy gains one can obtain in contexts like symbolic regression and emulation, where symmetry is important. We illustrate our approach with simple numerical examples involving dynamical systems in physics and ecology.","url_abs":"https://arxiv.org/abs/2204.00887v2","url_pdf":"https://arxiv.org/pdf/2204.00887v2.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":"dimensionless-machine-learning-imposing-exact","repo_url":"https://github.com/weichiyao/scalaremlp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"symbolic-regression","task_name":"Symbolic Regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.00887","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.00887"}},"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/weichiyao/scalaremlp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"ran_violates":1,"unverified":15},"by_repo_kind":{"official":{"samples":17,"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":"2660b9d52e1de712","entry":"export","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/utils.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/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":"2660b9d52e1de712"}},{"code_sha256_prefix":"0a7da0d18ce0c2fc","entry":"isintlike","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/linear_operator_base.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/linear_operator_base.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0a7da0d18ce0c2fc"}},{"code_sha256_prefix":"7a51a150eb170ac2","entry":"LBface_swap","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/datasets.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/datasets.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":"7a51a150eb170ac2"}},{"code_sha256_prefix":"d867e51e2ce022c2","entry":"UBedge_flip","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/datasets.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/datasets.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":"d867e51e2ce022c2"}},{"code_sha256_prefix":"791a506bebdb19cf","entry":"ULBcorner_rot","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/datasets.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/datasets.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":"791a506bebdb19cf"}},{"code_sha256_prefix":"c5a538eb4059635a","entry":"both_concrete","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/product_sum_reps.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/product_sum_reps.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":"c5a538eb4059635a"}},{"code_sha256_prefix":"dc9fb0bd60d2edff","entry":"comp_inner_products","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/nn/objax.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/nn/objax.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":"dc9fb0bd60d2edff"}},{"code_sha256_prefix":"8195671f48f885ee","entry":"comp_inner_products","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"experiments/scalars_nn.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/experiments/scalars_nn.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":"8195671f48f885ee"}},{"code_sha256_prefix":"b4e48946530b76bb","entry":"comp_outer_products","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"experiments/scalars_nn.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/experiments/scalars_nn.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":"b4e48946530b76bb"}},{"code_sha256_prefix":"43113a7d839cd454","entry":"dataset_transform","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"experiments/scalars_nn.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/experiments/scalars_nn.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":"43113a7d839cd454"}},{"code_sha256_prefix":"4279baf2a0ddfc25","entry":"densify","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/linear_operators.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/linear_operators.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":"4279baf2a0ddfc25"}},{"code_sha256_prefix":"256d133bd6da0597","entry":"isshape","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/linear_operator_base.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/linear_operator_base.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":"256d133bd6da0597"}},{"code_sha256_prefix":"755216c79053d541","entry":"kronsum","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/linear_operators.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/linear_operators.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":"755216c79053d541"}},{"code_sha256_prefix":"6e08e48f5474ba00","entry":"lazify","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/reps/linear_operators.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/reps/linear_operators.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":"6e08e48f5474ba00"}},{"code_sha256_prefix":"ac065ea6ecd18125","entry":"matrix_power_simple","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/groups.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/groups.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":"ac065ea6ecd18125"}},{"code_sha256_prefix":"58568c4f4e25b94a","entry":"noise2sample","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/groups.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/groups.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":"58568c4f4e25b94a"}},{"code_sha256_prefix":"b9e669d60e5fb206","entry":"rel_err","repo":"weichiyao/scalaremlp","repo_kind":"official","path":"scalaremlp/groups.py","file_url":"https://github.com/weichiyao/scalaremlp/blob/HEAD/scalaremlp/groups.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":"b9e669d60e5fb206"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}