
PyCosmo is a Python-based framework for the fast computation of cosmological model predictions. One of its core features is the symbolic representation of the Einstein-Boltzmann system of equations. Efficient C/C++ code is generated from the SymPy symbolic expressions making use of the sympy2c package. This enables easy extensions of the equation system for the implementation of new cosmological models. We illustrate this with three extensions of the PyCosmo Boltzmann solver to include a dark energy component with a constant equation of state, massive neutrinos and a radiation streaming approximation. We describe the PyCosmo framework, highlighting new features, and the symbolic implementation of the new models. We compare the PyCosmo predictions for the ?CDM model extensions with CLASS, both in terms of accuracy and computational speed. We find a good agreement, to better than 0.1% when using high-precision settings and a comparable computational speed. Links to the Python Package Index (PyPI) page of the code release and to the PyCosmo Hub, an online platform where the package is installed, are available at: https://cosmology.ethz.ch/research/softwarelab/PyCosmo.html. (c) 2022 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
Astronomy and Computing, 40
ISSN:2213-1337
Dark energy, Cosmological neutrinos, Cosmology; Dark energy; Cosmological neutrinos; Symbolic and algebraic manipulation; Solvers, Symbolic and algebraic manipulation, Solvers, Cosmology
Dark energy, Cosmological neutrinos, Cosmology; Dark energy; Cosmological neutrinos; Symbolic and algebraic manipulation; Solvers, Symbolic and algebraic manipulation, Solvers, Cosmology
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 6 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
