Welcome to PhySO’s documentation!
Physical symbolic optimization ( \(\Phi\)-SO ) - A symbolic optimization package built for physics.
Source code: WassimTenachi/PhySO
Documentation: physo.readthedocs.io
What’s New ✨
2025-08 : 📦 Install via pip install physo and conda now available!
2025-07 : 🐍 Python 3.12 + latest NumPy/PyTorch/SymPy support.
2024-06 : 📚 Full documentation overhaul.
2024-05 : 🔬 Class SR: Multi-dataset symbolic regression.
2024-02 : 🎯 Uncertainty-aware fitting.
2023-08 : ⚡ Dimensional analysis acceleration.
2023-03 : 🌟 PhySO initial release (physics-focused SR).
Highlights
\(\Phi\)-SO’s symbolic regression module uses deep reinforcement learning to infer analytical physical laws that fit data points, searching in the space of functional forms.
PhySO is able to leverage:
Physical units constraints, reducing the search space with dimensional analysis ([Tenachi et al 2023])
Class constraints, searching for a single analytical functional form that accurately fits multiple datasets - each governed by its own (possibly) unique set of fitting parameters ([Tenachi et al 2024])
\(\Phi\)-SO recovering the equation for a damped harmonic oscillator:
Performances on the standard Feynman benchmark from SRBench comprising 120 expressions from the Feynman Lectures on Physics against popular SR packages.
\(\Phi\)-SO achieves state-of-the-art performance in the presence of noise (exceeding 0.1%) and shows robust performances even in the presence of substantial (10%) noise: