File size: 15,924 Bytes
bc65052
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
```python                           
"""
The following docstrings were extracted from classy-py.py
"""
def viewdictitems(d):
    """Return items from a dictionary for Python 2 and 3 compatibility.

    Args:
        d (dict): The dictionary to retrieve items from.

    Returns:
        A view of the dictionary's items.
    """
def _check_task_dependency(self, level):
    """Fill the level list with all the needed modules.

    Warning:
        The ordering of modules is obviously dependent on CLASS module order
        in the main.c file. This has to be updated in case of a change to
        this file.

    Args:
        level (list): List of strings, containing initially only the last module required.
            For instance, to recover all the modules, the input should be
            ['lensing'].
    """
def _pars_check(self, key, value, contains=False, add=""):
    """Check parameters (implementation detail, no docstring provided)."""
def compute(self, level=["distortions"]):
    """Compute the CLASS cosmology.

    Main function, execute all the _init methods for all desired modules.
    This is called in MontePython, and this ensures that the Class instance
    of this class contains all the relevant quantities. Then, one can deduce
    Pk, Cl, etc...

    Args:
        level (list, optional): List of the last module desired. The internal function
            _check_task_dependency will then add to this list all the
            necessary modules to compute in order to initialize this last
            one. The default last module is "lensing". Defaults to ["distortions"].

    Warning:
        level default value should be left as an array (it was creating
        problem when casting as a set later on, in _check_task_dependency)
    """
def raw_cl(self, lmax=-1, nofail=False):
    """Return a dictionary of the primary C_l.

    Args:
        lmax (int, optional): Define the maximum l for which the C_l will be returned
            (inclusively). This number will be checked against the maximum l
            at which they were actually computed by CLASS, and an error will
            be raised if the desired lmax is bigger than what CLASS can
            give. Defaults to -1.
        nofail (bool, optional): Check and enforce the computation of the harmonic module
            beforehand, with the desired lmax. Defaults to False.

    Returns:
        dict: Dictionary that contains the power spectrum for 'tt', 'te', etc... The
            index associated with each is defined wrt. Class convention, and are non
            important from the python point of view. It also returns now the
            ell array.
    """
def lensed_cl(self, lmax=-1,nofail=False):
    """Return a dictionary of the lensed C_l.

    Return a dictionary of the lensed C_l, computed by CLASS, without the
    density C_ls. They must be asked separately with the function aptly
    named density_cl

    Args:
        lmax (int, optional): Define the maximum l for which the C_l will be returned (inclusively). Defaults to -1.
        nofail (bool, optional): Check and enforce the computation of the lensing module beforehand. Defaults to False.

    Returns:
        dict: Dictionary that contains the power spectrum for 'tt', 'te', etc... The
            index associated with each is defined wrt. Class convention, and are non
            important from the python point of view.
    """
def density_cl(self, lmax=-1, nofail=False):
    """Return a dictionary of the primary C_l for the matter.

    Args:
        lmax (int, optional): Define the maximum l for which the C_l will be returned (inclusively). Defaults to -1.
        nofail (bool, optional): Check and enforce the computation of the lensing module beforehand. Defaults to False.

    Returns:
        numpy array of numpy.ndarrays: Array that contains the list (in this order) of self correlation of
            1st bin, then successive correlations (set by non_diagonal) to the
            following bins, then self correlation of 2nd bin, etc. The array
            starts at index_ct_dd.
    """
def sigma(self,R,z, h_units = False):
    """Give sigma (total matter) for a given R and z.

    (R is the radius in units of Mpc, so if R=8/h this will be the usual sigma8(z).
    This is unless h_units is set to true, in which case R is the radius in units of Mpc/h,
    and R=8 corresponds to sigma8(z))

    Note:
        there is an additional check to verify whether output contains `mPk`,
        and whether k_max > ...
        because otherwise a segfault will occur

    Args:
        R:
        z:
        h_units:
    """
def sigma_cb(self,double R,double z, h_units = False):
    """Give sigma (cdm+b) for a given R and z.

    (R is the radius in units of Mpc, so if R=8/h this will be the usual sigma8(z)
    This is unless h_units is set to true, in which case R is the radius in units of Mpc/h,
    and R=8 corresponds to sigma8(z))

    Note:
        there is an additional check to verify whether output contains `mPk`,
        because otherwise a segfault will occur

    Args:
        R:
        z:
        h_units:
    """
def pk_tilt(self,double k,double z):
    """Give effective logarithmic slope of P_L(k,z) (total matter) for a given k and z.

    (k is the wavenumber in units of 1/Mpc, z is the redshift, the output is dimensionless)

    Note:
        there is an additional check that output contains `mPk` and whether k is in the right range

    Args:
        k:
        z:
    """
def age(self):
    """Return the age of the Universe (implementation detail, no docstring provided)."""
def h(self):
    """Return the Hubble parameter (implementation detail, no docstring provided)."""
def n_s(self):
    """Return the scalar spectral index (implementation detail, no docstring provided)."""
def tau_reio(self):
    """Return the reionization optical depth (implementation detail, no docstring provided)."""
def Omega_m(self):
    """Return the matter density parameter (implementation detail, no docstring provided)."""
def Omega_r(self):
    """Return the radiation density parameter (implementation detail, no docstring provided)."""
def theta_s_100(self):
    """Return the sound horizon angle (implementation detail, no docstring provided)."""
def theta_star_100(self):
    """Return the sound horizon angle at decoupling (implementation detail, no docstring provided)."""
def Omega_Lambda(self):
    """Return the cosmological constant density parameter (implementation detail, no docstring provided)."""
def Omega_g(self):
    """Return the photon density parameter (implementation detail, no docstring provided)."""
def r(self):
    """Return the tensor-to-scalar ratio (implementation detail, no docstring provided)."""
def A_s(self):
    """Return the primordial power spectrum amplitude (implementation detail, no docstring provided)."""
def ln_A_s_1e10(self):
    """Return the natural logarithm of 10^10 times the primordial power spectrum amplitude (implementation detail, no docstring provided)."""
def lnAs_1e10(self):
    """Return the natural logarithm of 10^10 times the primordial power spectrum amplitude (implementation detail, no docstring provided)."""
def Neff(self):
    """Return the effective number of neutrino species (implementation detail, no docstring provided)."""
def get_transfer(self, z=0., output_format='class'):
    """Return the density and/or velocity transfer functions.

    Return the density and/or velocity transfer functions for all initial
    conditions, at a given value of z.
    By default, all transfer functions will be normalised to 'curvature R=1'
    at initial time (and not 'curvature R = -1/k^2' like in CAMB).
    You may switch to output_format='camb' for the CAMB definition and normalisation
    of transfer functions.
    When setting CLASS input parameters, include at least one of 'dTk' (for density transfer functions)
    or 'vTk' (for velocity transfer functions).
    For more details, see section II of the CLASS notebook.

    Args:
        z (float, optional): Redshift. Defaults to 0..
        output_format (str, optional): Format transfer functions according to CLASS (default) or CAMB. Defaults to 'class'.

    Returns:
        dict: Dictionary containing an entry for each transfer function. For a
        given transfer function, say, delta_tot, transfers['d_tot'] will be
        an array containing delta_tot(k) at the k values defined in the
        'k_output_values' list. When there are non-adiabatic conditions,
        the transfer dictionary will have keys like transfers['d_tot[name]'], where
        name is the name of the isocurvature mode.
    """
def get_current_derived_parameters(self, names):
    """Return a dictionary containing an entry for all the names defined in the input list.

    Args:
        names (list): Derived parameters that can be asked from Monte Python, or
            elsewhere.

    Returns:
        dict: A dictionary of derived parameters.

    Raises:
        TypeError: If `names` is not a list.
    """
def get_perturbations(self, return_copy=True):
    """Return scalar, vector and/or tensor perturbations as arrays for requested k-values.

    Note:
        you need to specify both 'k_output_values', and have some
        perturbations computed, for instance by setting 'output' to 'tCl'.
        Do not enable 'return_copy=False' unless you know exactly what you are doing.
        This will mean that you get access to the direct C pointers inside CLASS.
        That also means that if class is deallocated,
        your perturbations array will become invalid. Beware!

    Args:
        return_copy (bool, optional): Whether to return a copy of the data. Defaults to True.

    Returns:
        dict of array of dicts: perturbations['scalar'] is an array of length 'k_output_values' of
        dictionary containing scalar perturbations.
        Similar for perturbations['vector'] and perturbations['tensor'].
    """
def scale_dependent_growth_factor_f(self, k, z, Nz=50, h_units = False, evolution=False):
    """Return the scale-dependent growth factor, f(k,z) = d ln delta(k,z) / d ln a, at a given k and z, for total matter fluctuations.

    Args:
        k (float or array): wavenumber in units of 1/Mpc
        z (float or array): redshift
        Nz (int, optional): number of points for computing sigma(R,z) splines, default to 50. Defaults to 50.
        h_units (bool, optional): If true, returns k in h/Mpc. Defaults to False.
        evolution (bool, optional): . Defaults to False.
    """
def pk(self, k, z, lAccuracy=10):
    """Return the total matter power spectrum for a given k and z.

    Return the total matter power spectrum for a given k and z (will be
    non linear if requested to Class, linear otherwise)

    Args:
        k (float): wavenumber in units of 1/Mpc
        z (float): redshift
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def pk_cb(self,double k,double z):
    """Give the cdm+b pk (in Mpc**3) for a given k (in 1/Mpc) and z (will be non linear if requested to Class, linear otherwise).

    Note:
        there is an additional check that output contains `mPk`,
        because otherwise a segfault will occur

    Args:
        k:
        z:
    """
def pk_lin(self, k, z, lAccuracy=10):
    """Return the LINEAR total matter power spectrum for a given k and z.

    Args:
        k (float): wavenumber in units of 1/Mpc
        z (float): redshift
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def pk_cb_lin(self,double k,double z):
    """Give the LINEAR cdm+b pk (in Mpc**3) for a given k (in 1/Mpc) and z.

    Note:
        there is an additional check that output contains `mPk`,
        because otherwise a segfault will occur

    Args:
        k:
        z:
    """
def log_pk(self, k, z, lAccuracy=10):
    """Return the log of the total matter power spectrum for a given k and z.

    Args:
        k (float): wavenumber in units of 1/Mpc
        z (float): redshift
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def transfer(self, k, z, idx_T=1, lAccuracy=10):
    """Return a transfer function for a given k and z.

    Args:
        k (float): wavenumber in units of 1/Mpc
        z (float): redshift
        idx_T (int, optional): index of transfer function to return, with 0=delta_g, 1=delta_b,
            2=delta_cdm, 3=delta_ncdm[0], etc.... Defaults to 1.
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def rho_crit(self, z, lAccuracy=10):
    """Return the critical density at redshift z.

    Args:
        z (float): redshift
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def scale_independent_f_sigma8(self, z, Nz=50):
    """Return an interpolator for f \\sigma_8 (scale-INdependent), as a function of z.

    This will compute f(z) = d ln delta / d ln a,
    approximating this quantity with the scale-INdependent growth rate.
    For the scale-dependent one, use the proper function.

    Args:
        z (array): Redshift
    """
def scale_independent_growth_factor(self, z, Nz=50):
    """Return the linear growth factor by taking the ratio of Delta(z)/Delta(z=0).

    Args:
        z (array): Redshift
    """
def has_idr(self):
    """Check for interacting dark radiation (implementation detail, no docstring provided)."""
def has_dr(self):
    """Check for dark radiation (implementation detail, no docstring provided)."""
def spectral_distortion_amplitudes(self):
    """Distortion amplitudes (implementation detail, no docstring provided)."""
def get_transfer_functions_at_z(self, z, k_values, output_format='class'):
    """Return the density and velocity transfer functions.

    Return the density and velocity transfer functions for all initial
    conditions, at a given value of z.
    For more details, see section II of the CLASS notebook.
    By default, all transfer functions will be normalised to 'curvature R=1' at initial time
    (and not 'curvature R = -1/k^2' like in CAMB).
    You may switch to output_format='camb' for the CAMB definition and normalisation of transfer functions.
    When setting CLASS input parameters, include at least one of 'dTk' (for density transfer functions)
    or 'vTk' (for velocity transfer functions).

    Args:
        z (float): Redshift
        k_values:
        output_format (str, optional): Format transfer functions according to CLASS (default) or CAMB. Defaults to 'class'.
    """
def primordial_spec(self, k, return_power=True, lAccuracy=10):
    """Return the primordial power spectrum.

    This function switches between the scalar and tensor primordial power
    spectrum, and accepts as an argument a scale k.

    Args:
        k (float): wavenumber in units of 1/Mpc
        return_power (bool, optional): default value is true, which returns the power spectrum, otherwise the value of the scale is returned. Defaults to True.
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def primordial_scalar_pk(self, k, lAccuracy=10):
    """Return the primordial SCALAR power spectrum for a given k.

    Args:
        k (float): wavenumber in units of 1/Mpc
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def primordial_tensor_pk(self, k, lAccuracy=10):
    """Return the primordial TENSOR power spectrum for a given k.

    Args:
        k (float): wavenumber in units of 1/Mpc
        lAccuracy (int, optional): Level of accuracy of the integration. Defaults to 10.
    """
def angular_diamater_distance(self,z):
    """Return the angular diameter distance."""
def tangential_critical_density(self,z_l,z_s):
    """Returnthe critical density for tangential shear."""