Fisher matrix
The cobaya_utilities also provides a simple interface to compute the Fisher matrix for likelihood derivated from MFLike. In this tutorial, we will generate forecast for the Simons Observatory Large Aperture Telescope. We start by installing the likelihood
Show code cell output
Hide code cell output
Requirement already satisfied: mflike in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (0.9.1)
Requirement already satisfied: fgspectra>=1.1.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from mflike) (1.1.0)
Requirement already satisfied: syslibrary>=0.1.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from mflike) (0.1)
Requirement already satisfied: cobaya>=3.3.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from mflike) (3.3.2)
Requirement already satisfied: sacc>=0.9.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from mflike) (0.12)
Requirement already satisfied: numpy>=1.17.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (1.26.0)
Requirement already satisfied: scipy>=1.5 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (1.11.3)
Requirement already satisfied: pandas>=1.0.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (2.1.1)
Requirement already satisfied: PyYAML>=5.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (6.0.1)
Requirement already satisfied: requests>=2.18 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (2.31.0)
Requirement already satisfied: py-bobyqa>=1.4 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (1.4)
Requirement already satisfied: GetDist>=1.3.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (1.4.5)
Requirement already satisfied: fuzzywuzzy>=0.17 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (0.18.0)
Requirement already satisfied: packaging in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (23.2)
Requirement already satisfied: tqdm in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (4.66.1)
Requirement already satisfied: portalocker>=2.3.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (2.8.2)
Requirement already satisfied: dill>=0.3.3 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from cobaya>=3.3.0->mflike) (0.3.7)
Requirement already satisfied: numpydoc in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sacc>=0.9.0->mflike) (1.6.0)
Requirement already satisfied: astropy in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sacc>=0.9.0->mflike) (5.3.4)
Requirement already satisfied: qp-prob in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sacc>=0.9.0->mflike) (0.8.3)
Requirement already satisfied: matplotlib!=3.5.0,>=2.2.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from GetDist>=1.3.1->cobaya>=3.3.0->mflike) (3.8.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from pandas>=1.0.1->cobaya>=3.3.0->mflike) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from pandas>=1.0.1->cobaya>=3.3.0->mflike) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from pandas>=1.0.1->cobaya>=3.3.0->mflike) (2023.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from requests>=2.18->cobaya>=3.3.0->mflike) (3.3.0)
Requirement already satisfied: idna<4,>=2.5 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from requests>=2.18->cobaya>=3.3.0->mflike) (3.4)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from requests>=2.18->cobaya>=3.3.0->mflike) (2.0.6)
Requirement already satisfied: certifi>=2017.4.17 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from requests>=2.18->cobaya>=3.3.0->mflike) (2023.7.22)
Requirement already satisfied: pyerfa>=2.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from astropy->sacc>=0.9.0->mflike) (2.0.0.3)
Requirement already satisfied: sphinx>=5 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from numpydoc->sacc>=0.9.0->mflike) (7.2.6)
Requirement already satisfied: Jinja2>=2.10 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from numpydoc->sacc>=0.9.0->mflike) (3.1.2)
Requirement already satisfied: tabulate>=0.8.10 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from numpydoc->sacc>=0.9.0->mflike) (0.9.0)
Requirement already satisfied: tables-io>=0.8.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from qp-prob->sacc>=0.9.0->mflike) (0.8.1)
Requirement already satisfied: deprecated in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from qp-prob->sacc>=0.9.0->mflike) (1.2.14)
Requirement already satisfied: MarkupSafe>=2.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from Jinja2>=2.10->numpydoc->sacc>=0.9.0->mflike) (2.1.3)
Requirement already satisfied: contourpy>=1.0.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (1.1.1)
Requirement already satisfied: cycler>=0.10 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (4.43.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (1.4.5)
Requirement already satisfied: pillow>=6.2.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (10.0.1)
Requirement already satisfied: pyparsing>=2.3.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from matplotlib!=3.5.0,>=2.2.0->GetDist>=1.3.1->cobaya>=3.3.0->mflike) (3.1.1)
Requirement already satisfied: six>=1.5 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas>=1.0.1->cobaya>=3.3.0->mflike) (1.16.0)
Requirement already satisfied: sphinxcontrib-applehelp in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.0.7)
Requirement already satisfied: sphinxcontrib-devhelp in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.0.5)
Requirement already satisfied: sphinxcontrib-jsmath in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.0.1)
Requirement already satisfied: sphinxcontrib-htmlhelp>=2.0.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (2.0.4)
Requirement already satisfied: sphinxcontrib-serializinghtml>=1.1.9 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.1.9)
Requirement already satisfied: sphinxcontrib-qthelp in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.0.6)
Requirement already satisfied: Pygments>=2.14 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (2.16.1)
Requirement already satisfied: docutils<0.21,>=0.18.1 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (0.20.1)
Requirement already satisfied: snowballstemmer>=2.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (2.2.0)
Requirement already satisfied: babel>=2.9 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (2.13.0)
Requirement already satisfied: alabaster<0.8,>=0.7 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (0.7.13)
Requirement already satisfied: imagesize>=1.3 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sphinx>=5->numpydoc->sacc>=0.9.0->mflike) (1.4.1)
Requirement already satisfied: wrapt<2,>=1.10 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from deprecated->qp-prob->sacc>=0.9.0->mflike) (1.15.0)
Note: you may need to restart the kernel to use updated packages.
For the purpose of this tutorial, we also need a Boltzmann solver
Show code cell output
Hide code cell output
Requirement already satisfied: camb in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (1.5.2)
Requirement already satisfied: scipy>=1.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from camb) (1.11.3)
Requirement already satisfied: sympy>=1.0 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from camb) (1.12)
Requirement already satisfied: packaging in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from camb) (23.2)
Requirement already satisfied: numpy<1.28.0,>=1.21.6 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from scipy>=1.0->camb) (1.26.0)
Requirement already satisfied: mpmath>=0.19 in /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages (from sympy>=1.0->camb) (1.3.0)
Note: you may need to restart the kernel to use updated packages.
We set a fiducial cosmology and the nuisance parameters for LAT_MFLike likelihood
Given this set of parameters, we can now ask cobaya_utilities to compute the associated Fisher matrix. If the likelihood data are not installed, the function will install them in a temporary directory. You can also export the COBAYA_PACKAGES_PATH to point to your cobaya package directory
Show code cell output
Hide code cell output
[install] Installing external packages at '/tmp/cobaya_utilities'
[install] The installation path has been written into the global config file: /home/garrido/.config/cobaya/config.yaml
================================================================================
likelihood:mflike.MFLike
================================================================================
[install] Checking if dependencies have already been installed...
[install] External dependencies for this component already installed.
[install] Doing nothing.
================================================================================
* Summary *
================================================================================
[install] All requested components' dependencies correctly installed at /tmp/cobaya_utilities
[camb] `camb` module loaded successfully from /home/garrido/Workdir/development/cobaya_utilities/pyenv/lib/python3.11/site-packages/camb
[mflike.mflike] Number of bins used: 3087
[mflike.mflike] Initialized!
[mflike.mflike] Computing bandpass at first step, no shifts
[fisher] Computing parameter 'cosmomc_theta' done
[fisher] Computing parameter 'logA' done
[fisher] Computing parameter 'ombh2' done
[fisher] Computing parameter 'omch2' done
[fisher] Computing parameter 'ns' done
[fisher] Computing parameter 'tau' done
[fisher] Computing parameter 'a_tSZ' done
[fisher] Computing parameter 'a_kSZ' done
[fisher] Computing parameter 'a_p' done
[fisher] Computing parameter 'beta_p' done
[fisher] Computing parameter 'a_c' done
[fisher] Computing parameter 'beta_c' done
[fisher] Computing parameter 'a_s' done
[fisher] Computing parameter 'a_gtt' done
[fisher] Computing parameter 'a_gte' done
[fisher] Computing parameter 'a_gee' done
[fisher] Computing parameter 'a_psee' done
[fisher] Computing parameter 'a_pste' done
[fisher] Computing parameter 'xi' done
[fisher] Computing parameter 'T_d' done
[fisher] Computing fisher matrix done
The summary return variable is a pandas DataFrame with the associated \(\sigma\) and the Signal over Noise ratio. We can sort the results from the greater to the lowest S/N values
|
value |
$\sigma$ |
S/N |
| $\theta_\mathrm{MC}$ |
0.010408 |
0.000001 |
7407.203363 |
| $\Omega_\mathrm{b}h^2$ |
0.022370 |
0.000063 |
354.530792 |
| $n_\mathrm{s}$ |
0.964900 |
0.003190 |
302.431681 |
| $a_s$ |
3.100000 |
0.011212 |
276.478646 |
| $\log(10^{10} A_\mathrm{s})$ |
3.044000 |
0.018571 |
163.908510 |
| $a_p$ |
6.900000 |
0.049758 |
138.670025 |
| $\Omega_\mathrm{c}h^2$ |
0.120000 |
0.001103 |
108.822517 |
| $a_\mathrm{tSZ}$ |
3.300000 |
0.069043 |
47.796453 |
| $a_\mathrm{dust}^\mathrm{TT}$ |
8.700000 |
0.213625 |
40.725648 |
| $a_c$ |
4.900000 |
0.196043 |
24.994468 |
| $\beta_p$ |
2.080000 |
0.101970 |
20.398088 |
| $\beta_c$ |
2.200000 |
0.143263 |
15.356412 |
| $a_\mathrm{kSZ}$ |
1.600000 |
0.156323 |
10.235241 |
| $T_d$ |
9.600000 |
1.618670 |
5.930796 |
| $\tau_\mathrm{reio}$ |
0.054400 |
0.010469 |
5.196192 |
| $\xi$ |
0.100000 |
0.022635 |
4.417930 |
| $a_\mathrm{dust}^\mathrm{TE}$ |
0.000000 |
0.014857 |
0.000000 |
| $a_\mathrm{dust}^\mathrm{EE}$ |
0.000000 |
0.002395 |
0.000000 |
| $a_\mathrm{ps}^\mathrm{EE}$ |
0.000000 |
0.004543 |
0.000000 |
| $a_\mathrm{ps}^\mathrm{TE}$ |
0.000000 |
0.003470 |
0.000000 |
We can also represent the correlation matrix between parameters