- Julia 46.8%
- Python 31.4%
- Shell 20%
- Perl 1.6%
- TeX 0.2%
| src | ||
| test | ||
| .gitignore | ||
| commands.py | ||
| config.example.yaml | ||
| e2e.sh | ||
| feynhell_calculator.py | ||
| goofy.py | ||
| instantiate.sh | ||
| patch.pl | ||
| pos_canonical.py | ||
| Project.toml | ||
| README.md | ||
| requirements.txt | ||
| supergoof.gif | ||
| thesis.bib | ||
| thesis.ris | ||
| tote_calculator.py | ||
| unittests.txt | ||
Goofy: Symmetry adapted ML operators for square-integrable functions
Introduction
Goofy is a Julia module for operators expressed in finite dimensional bases of orbital functions acting on a large class of functions. The functions should be expressed on Euclidean space and take on real or complex values. By learning operators expressed in bases of orbital functions, the operators obtain predictable symmetry constraints and structure. The module prioritizes simplicity and modularity above being comprehensive or monolithic. The module is based on the ACE framework that was pioneered by Drautz (2019) and fitting is performed by a symmetry adapted (equivariant) regression model. This is a fast, easy, cheap way to churn out operators with a proven blend of accuracy and transferability (Jonsson 2025).
How to cite
- Plain text: Jonsson, M., 2025. New operator predictions. PhD thesis. University of Cambridge
- BibTeX
- EndNote (RIS)
How it works
Operators expressed in orbital functions consist of blocks, each describing the overlap of basis functions with the operator under study. Such blocks contain sub-blocks that each have different transformation properties, as orbital functions are products of an arbitrary radial function with spherical harmonics. The number of (symmetry types, thus) blocks are determined by the size of the chosen basis.
Fitting and predicting on a model consists of five steps. (1) Coordinates of the orbital basis and sub-blocks corresponding to each symmetry type has to be read into memory along with the desired hyperparameters. (2) An equivariant ACE descriptor (Dusson et al. 2022) is set up that can be used to express each symmetry type. (3) The data and predictor are used internally to set up equations that can be solved with a range of solvers. (4) The fitted parameters and predictors can be combined to predict new operators of the same type. (5) Models can be saved, exported, loaded and tested.
Thank you very much to Liwei Zhang (UBC) for contributing central parts of the code concerning basis construction. Thanks for also auditing the remaining code.
Cited literature
Jonsson, M., 2025. New operator predictions. PhD thesis. University of Cambridge.
Drautz, R., 2019. Atomic cluster expansion for accurate and transferable interatomic potentials. Physical Review B, 99(1), p.014104.
Dusson, G., Bachmayr, M., Csányi, G., Drautz, R., Etter, S., van Der Oord, C. and Ortner, C., 2022. Atomic cluster expansion: Completeness, efficiency and stability. Journal of Computational Physics, 454, p.110946.Physical Review B, 99(1), p.014104.