mirror of
https://github.com/fjosw/pyerrors.git
synced 2026-03-30 07:09:12 +02:00
Error propagation and statistical analysis for Markov chain Monte Carlo simulations in lattice QCD and statistical mechanics using autograd
autocorrelation
autograd
automatic-differentiation
condensed-matter
correlation
data-analysis
error-propagation
lattice-field-theory
lattice-qcd
markov-chain
monte-carlo
particle-physics
physics
python
qcd
statistical-analysis
statistical-mechanics
- Python 100%
* [Fix] Pandas 3 string type handling * [ci] Temporarily remove WError because of scipy deprecation * [Fix] Address edge cases in _deserialize_df - Use pd.isna() instead of truthiness check for gzip null guard, fixing incorrect behavior when null is np.nan (which is truthy in Python) - Add bounds check to while loop to prevent IndexError when all non-null values are empty strings converted to None by regex replace * [Fix] Address edge cases in _deserialize_df and add string dtype tests - Guard against IndexError on empty DataFrames and all-null columns - Use is not None instead of pd.isna() for Obs objects in auto_gamma - Add tests for string dtype columns (with/without None, CSV and SQL) - Add test for empty DataFrame deserialization * [Fix] Avoid skipping NA-to-None conversion and guard auto_gamma against None lists - Replace continue with conditional to preserve NA-to-None conversion for all-null columns - Guard auto_gamma list lambda against None values to prevent TypeError - Add tests for all-empty-string columns and Obs lists with None + auto_gamma |
||
|---|---|---|
| .github | ||
| examples | ||
| pyerrors | ||
| tests | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CITATION.cff | ||
| conftest.py | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| setup.py | ||
pyerrors
pyerrors is a python framework for error computation and propagation of Markov chain Monte Carlo data from lattice field theory and statistical mechanics simulations.
- Documentation: https://fjosw.github.io/pyerrors/pyerrors.html
- Examples: https://github.com/fjosw/pyerrors/tree/develop/examples
- Ask a question: https://github.com/fjosw/pyerrors/discussions/new?category=q-a
- Changelog: https://github.com/fjosw/pyerrors/blob/develop/CHANGELOG.md
- Bug reports: https://github.com/fjosw/pyerrors/issues
Installation
Install the most recent release using pip and pypi:
python -m pip install pyerrors # Fresh install
python -m pip install -U pyerrors # Update
Contributing
We appreciate all contributions to the code, the documentation and the examples. If you want to get involved please have a look at our contribution guideline.
Citing pyerrors
If you use pyerrors for research that leads to a publication we suggest citing the following papers:
- Fabian Joswig, Simon Kuberski, Justus T. Kuhlmann, Jan Neuendorf, pyerrors: a python framework for error analysis of Monte Carlo data. Comput.Phys.Commun. 288 (2023) 108750.
- Ulli Wolff, Monte Carlo errors with less errors. Comput.Phys.Commun. 156 (2004) 143-153, Comput.Phys.Commun. 176 (2007) 383 (erratum).
- Alberto Ramos, Automatic differentiation for error analysis of Monte Carlo data. Comput.Phys.Commun. 238 (2019) 19-35.
- Stefan Schaefer, Rainer Sommer, Francesco Virotta, Critical slowing down and error analysis in lattice QCD simulations. Nucl.Phys.B 845 (2011) 93-119.