PyCosmo 2.3.0__tar.gz → 2.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. {pycosmo-2.3.0/src/PyCosmo.egg-info → pycosmo-2.3.2}/PKG-INFO +1 -1
  2. {pycosmo-2.3.0 → pycosmo-2.3.2}/pyproject.toml +1 -1
  3. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/LinearPerturbationApprox.py +11 -17
  4. pycosmo-2.3.0/src/PyCosmo/obs.py → pycosmo-2.3.2/src/PyCosmo/Obs.py +4 -3
  5. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral.c +25041 -20451
  6. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_1h.c +25694 -20868
  7. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_2h.c +25917 -21074
  8. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_HI_1h.c +26132 -21166
  9. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_HI_2h.c +26029 -21044
  10. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/rho_HI_integral.c +25319 -20525
  11. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/rho_m_integral.c +25133 -20362
  12. {pycosmo-2.3.0 → pycosmo-2.3.2/src/PyCosmo.egg-info}/PKG-INFO +1 -1
  13. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/SOURCES.txt +0 -4
  14. {pycosmo-2.3.0 → pycosmo-2.3.2}/AUTHORS.rst +0 -0
  15. {pycosmo-2.3.0 → pycosmo-2.3.2}/LICENSE +0 -0
  16. {pycosmo-2.3.0 → pycosmo-2.3.2}/MANIFEST.in +0 -0
  17. {pycosmo-2.3.0 → pycosmo-2.3.2}/README.md +0 -0
  18. {pycosmo-2.3.0 → pycosmo-2.3.2}/setup.cfg +0 -0
  19. {pycosmo-2.3.0 → pycosmo-2.3.2}/setup.py +0 -0
  20. /pycosmo-2.3.0/src/PyCosmo/background.py → /pycosmo-2.3.2/src/PyCosmo/Background.py +0 -0
  21. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/BoltzmannSolver/Fields.py +0 -0
  22. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/BoltzmannSolver/LinearPerturbationBoltzmann.py +0 -0
  23. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/BoltzmannSolver/LsodaSolver.py +0 -0
  24. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/BoltzmannSolver/ScipySolver.py +0 -0
  25. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/BoltzmannSolver/__init__.py +0 -0
  26. /pycosmo-2.3.0/src/PyCosmo/cosmo.py → /pycosmo-2.3.2/src/PyCosmo/Cosmo.py +0 -0
  27. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore.py +0 -0
  28. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_massivenu.py +0 -0
  29. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_massivenu_rsa.py +0 -0
  30. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_massivenu_wcdm.py +0 -0
  31. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_massivenu_wcdm_rsa.py +0 -0
  32. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_rsa.py +0 -0
  33. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_wcdm.py +0 -0
  34. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/CosmologyCore_wcdm_rsa.py +0 -0
  35. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/LinearPerturbationBase.py +0 -0
  36. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/NonLinearPerturbationHaloFit.py +0 -0
  37. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/NonLinearPerturbationMead.py +0 -0
  38. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/NonLinearPerturbation_HI.py +0 -0
  39. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/NonLinearPerturbation_HaloModel.py +0 -0
  40. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/PerturbationBase.py +0 -0
  41. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/PerturbationTable.py +0 -0
  42. /pycosmo-2.3.0/src/PyCosmo/projection.py → /pycosmo-2.3.2/src/PyCosmo/Projection.py +0 -0
  43. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/TheoryPredTables.py +0 -0
  44. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_Cosmics.py +0 -0
  45. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_Recombination.py +0 -0
  46. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_RecombinationClass.py +0 -0
  47. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_RecombinationCosmics.py +0 -0
  48. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_Util.py +0 -0
  49. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/__init__.py +0 -0
  50. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/_scipy_utils.py +0 -0
  51. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/build.py +0 -0
  52. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/__init__.py +0 -0
  53. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_lcdm.ini +0 -0
  54. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_lcdm_rsa.ini +0 -0
  55. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_mnulcdm.ini +0 -0
  56. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_mnulcdm_rsa.ini +0 -0
  57. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_mnuwcdm.ini +0 -0
  58. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_mnuwcdm_rsa.ini +0 -0
  59. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_wcdm.ini +0 -0
  60. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/default_wcdm_rsa.ini +0 -0
  61. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/config/load_parameters_ini.py +0 -0
  62. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/core_file_handling.py +0 -0
  63. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/__init__.py +0 -0
  64. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/const.c +0 -0
  65. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/constf.c +0 -0
  66. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral.pyx +0 -0
  67. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_1h.pyx +0 -0
  68. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_2h.pyx +0 -0
  69. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_HI_1h.pyx +0 -0
  70. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/halo_integral_HI_2h.pyx +0 -0
  71. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/logf.c +0 -0
  72. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/main.c +0 -0
  73. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/mconf.h +0 -0
  74. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/mtherr.c +0 -0
  75. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/polevl.c +0 -0
  76. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/polevlf.c +0 -0
  77. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/protos.h +0 -0
  78. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/rho_HI_integral.pyx +0 -0
  79. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/rho_m_integral.pyx +0 -0
  80. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/sici.c +0 -0
  81. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/sici.h +0 -0
  82. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/sici32.c +0 -0
  83. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/sicif.c +0 -0
  84. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/cython/sinf.c +0 -0
  85. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/disable_multithreading.py +0 -0
  86. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/ini_handling.py +0 -0
  87. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/model_config.py +0 -0
  88. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/optimize_nq.py +0 -0
  89. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/patches.py +0 -0
  90. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo/predefined_k_grids.py +0 -0
  91. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/dependency_links.txt +0 -0
  92. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/entry_points.txt +0 -0
  93. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/not-zip-safe +0 -0
  94. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/requires.txt +0 -0
  95. {pycosmo-2.3.0 → pycosmo-2.3.2}/src/PyCosmo.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyCosmo
3
- Version: 2.3.0
3
+ Version: 2.3.2
4
4
  Summary: A multi-purpose cosmology calculation tool
5
5
  Author-email: Uwe Schmitt et al <uwe.schmitt@id.ethz.ch>
6
6
  License-Expression: GPL-3.0
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "PyCosmo"
8
- version = "2.3.0"
8
+ version = "2.3.2"
9
9
  license = "GPL-3.0"
10
10
  description = "A multi-purpose cosmology calculation tool"
11
11
  authors = [{name = "Uwe Schmitt et al", email = "uwe.schmitt@id.ethz.ch"}]
@@ -195,26 +195,20 @@ class LinearPerturbationApprox(LinearPerturbationBase):
195
195
 
196
196
  def _growth_hyper_a(self, a=1.0): # , Om=0.25,z=0):
197
197
  """
198
- LCDM growth function D(z) using hypergeometric function. Only
199
- valid for LCDM.
200
- This comes from Aseem Paranjape and is used for testing.
198
+ LCDM growth function D(a) via the Carroll-Press-Turner (CPT) hypergeometric
199
+ ratio form. Only valid for flat LCDM (matter + Lambda).
200
+ D(a) = a * 2F1(1/3, 1, 11/6; -OL*a^3/Om) / 2F1(1/3, 1, 11/6; -OL/Om),
201
+ where OL = 1 - Om (flat complement, excludes radiation).
202
+ D(1) = 1 by construction.
201
203
  ; param: a: scale factor
202
204
  ; return: D(a): growth factor normalised to 1 at a=1.
203
205
  """
204
- a = np.atleast_1d(a)
205
- a_temp = np.append(a, [1.0])
206
- acube = a_temp**3
207
- hbyh0 = np.sqrt(self._background._H2_H02_a(a=a_temp))
208
- g = (
209
- hbyh0
210
- / np.sqrt(self._params.omega_m)
211
- * np.power(a_temp, 2.5)
212
- * special.hyp2f1(
213
- 5.0 / 6, 1.5, 11.0 / 6, -acube * (1.0 / self._params.omega_m - 1)
214
- )
215
- )
216
- g /= g[-1] # normalised to 1 at a=1.0
217
- return g[:-1]
206
+ a = np.atleast_1d(a).astype(float)
207
+ Om = self._params.omega_m
208
+ OL = 1.0 - Om # flat complement, NOT omega_l (which includes radiation)
209
+ x = -OL * a**3 / Om
210
+ x1 = -OL / Om
211
+ return a * special.hyp2f1(1.0 / 3, 1.0, 11.0 / 6, x) / special.hyp2f1(1.0 / 3, 1.0, 11.0 / 6, x1)
218
212
 
219
213
  def transfer_k(self, k):
220
214
  r"""
@@ -669,13 +669,14 @@ class Obs(object):
669
669
  cls *= obsparams["bias"] ** 2
670
670
  elif obsparams["probes"][0] == "gamma":
671
671
  cls = self._cl_lss(ells, cosmo, obsparams)
672
+ # Apply a multiplicative bias correction of desired
673
+ cls *= (1.0 + obsparams["m"]) ** 2
672
674
  if obsparams["A_IA"] != 0.0:
675
+ # The IA power spectra already include the multiplicative bias
676
+ # correction, so they must not be corrected a second time here.
673
677
  cls_IA_II = self.cl_II(ells, cosmo, obsparams)
674
678
  cls_IA_IG = self.cl_IG(ells, cosmo, obsparams)
675
679
  cls += cls_IA_IG + cls_IA_II
676
-
677
- # Apply a multiplicative bias correction of desired
678
- cls *= (1.0 + obsparams["m"]) ** 2
679
680
  elif obsparams["probes"][0] == "cmbkappa":
680
681
  cls = self._cl_lss(ells, cosmo, obsparams)
681
682
  # Apply a CMB lensing convergence amplitude correction if desired