How to cite
If Magνs contributed to work you are publishing, please cite it. A citation is what makes the effort of maintaining a package visible, and it lets a reader reproduce what you did. Please cite both the paper that describes Magνs and the version of the software you used.
Cite the paper
The paper, arXiv:2610.07159, describes the method, its implementation, and its validation. Its entry on INSPIRE is
@article{Bustamante:2026yce,
author = "Bustamante, Mauricio",
title = "{Magnus: neutrino oscillation probabilities for any Hermitian Hamiltonian, any number of flavors, and any matter profile}",
eprint = "2610.07159",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
month = "10",
year = "2026"
}
After the paper appears in a journal, take the updated entry from INSPIRE.
Cite the software
Cite also the version of the software you used, since results can depend on it. Magνs records its own version:
import magnus
print(magnus.__version__)
@software{Magnus,
author = {Bustamante, Mauricio},
title = {{Mag$\nu$s: neutrino oscillation probabilities for any
Hermitian Hamiltonian, any number of flavors, and any
matter profile}},
doi = {10.5281/zenodo.23160508},
url = {https://github.com/mbustama/Magnus},
version = {1.2.0},
year = {2026}
}
Replace version with the one you used.
The DOI above, 10.5281/zenodo.23160508, is the Zenodo concept DOI: it resolves to the latest version. Each version also has a DOI of its own, listed on that page; version 1.2.0 is 10.5281/zenodo.23160509.
What to say in the text
State enough for a reader to know what was computed and how precisely. In practice, that is three things:
The version, as above.
The tolerance you asked for (
rtol/atol, or the fixedn_slabsandn_tpts_per_slabif you disabled the refinement). Note that these are a stopping rule rather than a bound on the error — see What rtol and atol control — so quoting them describes the request, not the achieved accuracy.The strategy, if you did not use the default. The strategies
'auto'and'magnus'can differ by far more than the tolerance on solar configurations, so it is worth stating which one produced the numbers.
If accuracy is central to your result, pass convergence_info={} to the call
and read the dict afterwards: it reports what the refinement ladder did,
including whether it converged or hit a cap.
Citing the method
The Magnus expansion itself, and the Gauss–Legendre collocation integrators Magνs uses by default, are due to others. The References page has the full bibliography; the two worth citing alongside the software are the review by Blanes, Casas, Oteo and Ros [BCOR09], and the high-order integrators of Blanes, Casas and Ros [BCR00].