{"id":18578260,"url":"https://github.com/lsj2408/gaunt-tensor-product","last_synced_at":"2025-10-13T03:32:42.473Z","repository":{"id":217990115,"uuid":"745017297","full_name":"lsj2408/Gaunt-Tensor-Product","owner":"lsj2408","description":"[ICLR 2024 Spotlight] Official Implementation of \"Enabling Efficient Equivariant Operations in the Fourier Basis via Gaunt Tensor Products\"","archived":false,"fork":false,"pushed_at":"2024-11-02T17:26:45.000Z","size":17080,"stargazers_count":64,"open_issues_count":2,"forks_count":4,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-08-21T00:45:04.029Z","etag":null,"topics":["equivariant-network","euclidean-group","fft","geometric-deep-learning","tensor-product"],"latest_commit_sha":null,"homepage":"https://openreview.net/forum?id=mhyQXJ6JsK\u0026noteId=Ns2MkZwbUx","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsj2408.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-18T13:29:53.000Z","updated_at":"2025-07-12T08:43:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"6bc99898-52ee-4c46-9542-5918a33bc6ca","html_url":"https://github.com/lsj2408/Gaunt-Tensor-Product","commit_stats":null,"previous_names":["lsj2408/gaunt-tensor-product"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lsj2408/Gaunt-Tensor-Product","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsj2408%2FGaunt-Tensor-Product","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsj2408%2FGaunt-Tensor-Product/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsj2408%2FGaunt-Tensor-Product/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsj2408%2FGaunt-Tensor-Product/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsj2408","download_url":"https://codeload.github.com/lsj2408/Gaunt-Tensor-Product/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsj2408%2FGaunt-Tensor-Product/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013509,"owners_count":26085368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["equivariant-network","euclidean-group","fft","geometric-deep-learning","tensor-product"],"created_at":"2024-11-06T23:34:24.661Z","updated_at":"2025-10-13T03:32:42.455Z","avatar_url":"https://github.com/lsj2408.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gaunt-Tensor-Product\r\n\r\nThis repo is the official implementation of ICLR 2024 Spotlight Presentation: [Enabling Efficient Equivariant Operations in the Fourier Basis via Gaunt Tensor Products](https://arxiv.org/abs/2401.10216). \r\n\r\n\u003e Enabling Efficient Equivariant Operations in the Fourier Basis via Gaunt Tensor Products\r\n\u003e\r\n\u003e [Shengjie Luo*](https://lsj2408.github.io), [Tianlang Chen*](https://scholar.google.com/citations?user=x65kfVEAAAAJ), [Aditi S. Krishnapriyan](https://a1k12.github.io/)\r\n\u003e \r\n\u003e Contact: Shengjie Luo (luosj@stu.pku.edu.cn), Tianlang Chen (tlchen@pku.edu.cn), Aditi S. Krishnapriyan (aditik1@berkeley.edu)\r\n\r\n## News\r\n- [24-01-19] 👀 Our paper is updated on [arXiv](https://arxiv.org/abs/2401.10216).\r\n- [24-01-15] 🔥 Our work is accepted at [ICLR 2024](https://openreview.net/forum?id=mhyQXJ6JsK\u0026noteId=Ns2MkZwbUx) as a \u003cfont color='red'\u003e**Spotlight**\u003c/font\u003e presentation!\r\n\r\n## Contents\r\n- [Todo](https://github.com/lsj2408/Gaunt-Tensor-Product#todo)\r\n- [Introduction](https://github.com/lsj2408/Gaunt-Tensor-Product#introduction)\r\n- [Main Results](https://github.com/lsj2408/Gaunt-Tensor-Product#main-results)\r\n- [Quick Start](https://github.com/lsj2408/Gaunt-Tensor-Product#quick-start)\r\n- [Citation](https://github.com/lsj2408/Gaunt-Tensor-Product#citation)\r\n- [Acknowledgments](https://github.com/lsj2408/Gaunt-Tensor-Product#acknowledgments)\r\n\r\n## TODO\r\n\r\n- [x] Release the arXiv version.\r\n- [x] Release the code of efficiency comparison.\r\n- [ ] Clean up and release the code of force field modeling.\r\n\r\n## Introduction\r\nDeveloping equivariant neural networks for the E(3) group plays an important role in modeling 3D data across real-world applications. Enforcing this equivariance primarily involves the tensor products of irreducible representations (irreps). However, the computational complexity of such operations increases significantly as higher-order tensors are used. \r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"assets/intro-1.png\" width=\"800\"/\u003e\r\n\u003c/div\u003e\r\n\r\nIn this work, we propose a systematic approach to substantially accelerate the computation of the tensor products of irreps. We mathematically connect the commonly used Clebsch-Gordan coefficients to the Gaunt coefficients, which are integrals of products of three spherical harmonics. Through Gaunt coefficients, the tensor product of irreps becomes equivalent to the multiplication between spherical functions represented by spherical harmonics. This perspective further allows us to change the basis for the equivariant operations from spherical harmonics to a 2D Fourier basis. Consequently, the multiplication between spherical functions represented by a 2D Fourier basis can be efficiently computed via the convolution theorem and Fast Fourier Transforms. This transformation reduces the complexity of full tensor products of irreps **from O(L^6) to O(L^3)**, where L is the max degree of irreps.\r\n\r\nBuilding upon this approach, we introduce the Gaunt Tensor Product, which serves as a new method for efficient equivariant operations across various model designs. We provide a comprehensive study on major operation classes that are widely used in equivariant models for the Euclidean group, demonstrating the generality of our method and how it can be used to design efficient operations:\r\n- Equivariant Feature Interactions:\r\n  - PhiSNet: [Paper](https://arxiv.org/abs/2106.02347)\r\n  - So3krates: [Paper](https://arxiv.org/abs/2205.14276) \u0026 [Code](https://github.com/thorben-frank/mlff)\r\n  - QHNet: [Paper](https://arxiv.org/abs/2306.04922) \u0026 [Code](https://github.com/divelab/AIRS/tree/main/OpenDFT/QHNet)\r\n- Equivariant Convolutions:\r\n  - TFN: [Paper](https://arxiv.org/abs/1802.08219) \u0026 [Code](https://github.com/tensorfieldnetworks/tensorfieldnetworks)\r\n  - SE(3)-Transformer: [Paper](https://arxiv.org/abs/2006.10503) \u0026 [Code](https://github.com/FabianFuchsML/se3-transformer-public)\r\n  - NequIP: [Paper](https://www.nature.com/articles/s41467-022-29939-5) \u0026 [Code](https://github.com/mir-group/nequip)\r\n  - SEGNN: [Paper](https://arxiv.org/abs/2110.02905) \u0026 [Code](https://github.com/RobDHess/Steerable-E3-GNN)\r\n  - eSCN: [Paper](https://arxiv.org/abs/2302.03655) \u0026 [Code](https://github.com/Open-Catalyst-Project/ocp)\r\n  - Equiformer: [Paper](https://arxiv.org/abs/2206.11990) \u0026 [Code](https://github.com/atomicarchitects/equiformer)\r\n  - EquiformerV2: [Paper](https://arxiv.org/abs/2306.12059) \u0026 [Code](https://github.com/atomicarchitects/equiformer_v2)\r\n- Equivariant Many-Body Interactions: \r\n  - MACE: [Paper](https://arxiv.org/abs/2206.07697) \u0026 [Code](https://github.com/ACEsuit/mace)\r\n  - BOTNet: [Paper](https://arxiv.org/abs/2205.06643)\r\n## Main results\r\n### Efficiency Comparison\r\n\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"assets/figure-1.png\" width=\"800\"/\u003e\r\n\u003c/div\u003e\r\n\r\n\r\n### Force Field Modeling -- Open Catalyst Project\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"assets/table-1.png\" width=\"800\"/\u003e\r\n\u003c/div\u003e\r\n\r\n### Force Field Modeling -- 3BPA\r\n\u003cdiv align=\"center\"\u003e\r\n  \u003cimg src=\"assets/table-2.png\" width=\"800\"/\u003e\r\n\u003c/div\u003e\r\n\r\n## Quick Start\r\n- Efficiency Comparison Experiment: See `efficiency-comparison/README.md`\r\n- Force Field Modeling\r\n  - 3BPA: See `force-field-modeling-3bpa/README.md`\r\n  \r\n## Citation\r\nIf you find this work useful, please kindly consider citing our work:\r\n```\r\n@misc{luo2024enabling,\r\n      title={Enabling Efficient Equivariant Operations in the Fourier Basis via Gaunt Tensor Products}, \r\n      author={Shengjie Luo and Tianlang Chen and Aditi S. Krishnapriyan},\r\n      year={2024},\r\n      eprint={2401.10216},\r\n      archivePrefix={arXiv},\r\n      primaryClass={cs.LG}\r\n}\r\n```\r\n## Acknowledgments\r\nWe would like to thank the following open source efforts for pushing the boundary of equivariant networks for the Euclidean group:\r\n* [e3nn](https://github.com/e3nn/e3nn)\r\n* [e3nn-jax](https://github.com/e3nn/e3nn-jax)\r\n* [EquiformerV2](https://github.com/atomicarchitects/equiformer_v2)\r\n* [MACE](https://github.com/ACEsuit/mace)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsj2408%2Fgaunt-tensor-product","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsj2408%2Fgaunt-tensor-product","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsj2408%2Fgaunt-tensor-product/lists"}