{"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/tensor-field-networks-rotation-and","title":"Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds","arxiv_id":"1802.08219","date":"2018-02-22","proceeding":null,"authors":["Nathaniel Thomas","Tess Smidt","Steven Kearnes","Lusann Yang","Li Li","Kai Kohlhoff","Patrick Riley"],"abstract":"We introduce tensor field neural networks, which are locally equivariant to\n3D rotations, translations, and permutations of points at every layer. 3D\nrotation equivariance removes the need for data augmentation to identify\nfeatures in arbitrary orientations. Our network uses filters built from\nspherical harmonics; due to the mathematical consequences of this filter\nchoice, each layer accepts as input (and guarantees as output) scalars,\nvectors, and higher-order tensors, in the geometric sense of these terms. We\ndemonstrate the capabilities of tensor field networks with tasks in geometry,\nphysics, and chemistry.","url_abs":"http://arxiv.org/abs/1802.08219v3","url_pdf":"http://arxiv.org/pdf/1802.08219v3.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":"tensor-field-networks-rotation-and","repo_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"tensor-field-networks-rotation-and","repo_url":"https://github.com/e3nn/e3nn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"tensor-field-networks-rotation-and","repo_url":"https://github.com/e3nn/e3nn-jax","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"tensor-field-networks-rotation-and","repo_url":"https://github.com/luca310795/tensor-field-networks","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"tensor-field-networks-rotation-and","repo_url":"https://github.com/mariogeiger/se3cnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1802.08219","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1802.08219"}},"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/mariogeiger/se3cnn","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/e3nn/e3nn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/e3nn/e3nn-jax","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/luca310795/tensor-field-networks","reach":null}],"summary":{"ran":2,"ran_fixture":2,"unverified":15},"by_repo_kind":{"official":{"samples":8,"ran":0,"repositories":1},"listed":{"samples":11,"ran":4,"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":10,"samples":[{"code_sha256_prefix":"f88876f172b60680","entry":"NeighborsConvolution","repo":"mariogeiger/se3cnn","repo_kind":"listed","path":"se3cnn/point/operations.py","file_url":"https://github.com/mariogeiger/se3cnn/blob/HEAD/se3cnn/point/operations.py","link_basis":"first_harvest_node","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":"f88876f172b60680"}},{"code_sha256_prefix":"b9aaf573f261f64d","entry":"get_eijk","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b9aaf573f261f64d"}},{"code_sha256_prefix":"3db4885a23939ff4","entry":"norm_with_epsilon","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3db4885a23939ff4"}},{"code_sha256_prefix":"680aa33e73f33146","entry":"unit_vectors","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"680aa33e73f33146"}},{"code_sha256_prefix":"ee202d8bdedb9e90","entry":"F_0","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ee202d8bdedb9e90"}},{"code_sha256_prefix":"f5799655d0f5bcec","entry":"F_0","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"f5799655d0f5bcec"}},{"code_sha256_prefix":"82f392011b2f1441","entry":"F_1","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"82f392011b2f1441"}},{"code_sha256_prefix":"d2c2e699725ae589","entry":"F_1","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"d2c2e699725ae589"}},{"code_sha256_prefix":"ca77a472415f3cf6","entry":"R","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ca77a472415f3cf6"}},{"code_sha256_prefix":"5f86ec36b0ab3b47","entry":"R","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"5f86ec36b0ab3b47"}},{"code_sha256_prefix":"17ee2b9f445c5d37","entry":"convolution","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"17ee2b9f445c5d37"}},{"code_sha256_prefix":"074f4305130c0592","entry":"convolution","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"074f4305130c0592"}},{"code_sha256_prefix":"4d199a1de09a2126","entry":"filter_0","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"4d199a1de09a2126"}},{"code_sha256_prefix":"84ce01586d296880","entry":"filter_0","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"84ce01586d296880"}},{"code_sha256_prefix":"09273e3ce2ced568","entry":"filter_1_output_0","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"09273e3ce2ced568"}},{"code_sha256_prefix":"25c062ebcf714a59","entry":"filter_1_output_0","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"25c062ebcf714a59"}},{"code_sha256_prefix":"9a30045556aa1198","entry":"filter_1_output_1","repo":"luca310795/tensor-field-networks","repo_kind":"listed","path":"models/tfn/layers.py","file_url":"https://github.com/luca310795/tensor-field-networks/blob/HEAD/models/tfn/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"9a30045556aa1198"}},{"code_sha256_prefix":"d6c0c7124d37a6f6","entry":"filter_1_output_1","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"d6c0c7124d37a6f6"}},{"code_sha256_prefix":"41f27419a9a17428","entry":"unit_vectors","repo":"tensorfieldnetworks/tensorfieldnetworks","repo_kind":"official","path":"tensorfieldnetworks/layers.py","file_url":"https://github.com/tensorfieldnetworks/tensorfieldnetworks/blob/HEAD/tensorfieldnetworks/layers.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":"41f27419a9a17428"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}