This repository contains code and documentation for a project conducted during an internship at the Group of Lasers and Plasmas (GoLP) at Instituto Superior Técnico. The project focuses on analyzing plasma data using PySR, a Python library for symbolic regression, to uncover underlying physical relationships in the data.
The goal of this project was to apply symbolic regression techniques to plasma datasets, identifying mathematical expressions that describe the behavior of plasma systems. PySR was used to process experimental or simulated data, providing interpretable models that could offer insights into plasma physics phenomena.
- Create artifitial data and process plasma data for analysis.
- Use PySR to perform symbolic regression and derive analytical expressions.
- Validate the resulting models against known physical principles or experimental results.
- Document findings and provide reproducible code for future research.
├── src/ # Source code for data processing and PySR analysis │ ├── examples/ # Helper files to get aquainted with PySR │ └── analysis/ # Main scripts for running PySR ├── results/ # Output models, plots, and logs │ ├── gaussian # Output for gaussian model │ ├── LWFA1D # Output for 1D laser wakefield accelerator model │ └── twostream # Output for 2-stream instability model ├── docs/ # Additional documentation and presentations ├── requirements.txt # Python dependencies ├── datasets # Symbolic link to data files ├── .gitignore # .gitignore file ├── LICENSE # MIT license file └── README.md # This file - Clone the repository:
git clone https://github.com/EstevaoMGomes/GoLP_IN_EG.git cd GoLP_IN_EG - Install the required dependencies:
pip install -r requirements.txt
Ensure PySR is installed and configured properly (refer to its documentation for setup instructions).
For custom analysis, you can create your own analysis file by using the example gaussian_analysis.py as a template. For instance, adapt gaussian_analysis.py to fit your plasma data characteristics, then test PySR by running:
python src/gaussian_analysis.py This allows you to experiment with PySR’s settings (e.g., operators, complexity) and tailor the regression to your specific research questions.
The symbolic regression models generated by PySR are stored in results/. Key findings include [briefly summarize a key result, e.g., "a simplified expression for plasma density as a function of temperature"]. Plots and logs provide visual and numerical validation of the models.
This project was developed as part of an internship and is not actively maintained. However, feel free to fork the repository and adapt it for your own research. For questions or suggestions, contact estevao.gomes@tecnico.ulisboa.pt.
- GoLP Team: For guidance and access to plasma data.
- PySR Developers: For creating an excellent tool for symbolic regression.
- Internship Supervisor: Diogo Carvalho for his mentorship.
This project is licensed under the MIT License (LICENSE)