Skip to content

Commit 15b0f8a

Browse files
committed
Added the third-order bias parameter from the peak-background split
1 parent fba9a7f commit 15b0f8a

File tree

4 files changed

+42
-13
lines changed

4 files changed

+42
-13
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ These multiplicity functions are assumed to be "universal", in the sense that th
4545

4646
## Halo bias parameters from the peak-background split approximation
4747

48-
The halo bias parameters can be calculated from a halo multiplicity function using the so-called peak-background split (PBS) approximation. See [Desjacques, Jeong & Schmdit, Phys. Rept., 733, 1 (2018)](https://www.sciencedirect.com/science/article/pii/S0370157317304192).
48+
The halo bias parameters can be calculated from a halo multiplicity function using the so-called peak-background split (PBS) approximation. See Equation (2.16) and Section 3.3 of [Desjacques, Jeong & Schmdit, Phys. Rept., 733, 1 (2018)](https://www.sciencedirect.com/science/article/pii/S0370157317304192).
4949

5050
The package contains
5151
- `pbsBias(lnν, MF)` and `pbsBias1(lnν, MF)`: The linear bias parameter from the PBS.
52-
- `pbsBias2(lnν, MF)`: The second-order bias parameter from the PBS.
52+
- `pbsBias2(lnν, MF)` and `pbsBias3(lnν, MF)`: The second- and third-order bias parameters from the PBS.
5353

5454
Here, `MF(lnν)` is any of the halo multiplicity functions from the above list. For example, ``pbsBias(lnν, stMF)`` and ``pbsBias(lnν, x -> tinker10MF(x, z, Δm))``.
5555

src/HaloMF.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export bocquetMFhy, bocquetMFdm
55
export psMF, stMF, jenkinsMF
66
export stBias, stBias1, stBias2, stBias3
77
export tinker10Bias
8-
export pbsBias, pbsBias1, pbsBias2
8+
export pbsBias, pbsBias1, pbsBias2, pbsBias3
99
include("tinkerMF.jl")
1010
include("bocquetMF.jl")
1111
include("classicMF.jl")

src/pbsBias.jl

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
Linear halo bias, b1(lnν), from the peak-background split (PBS) approximation.
66
7-
*Reference*: Section 3.3 of Desjacques, Jeong & Schmidt, Phys. Rept., 733, 1 (2018)
7+
*Reference*: Equation (2.14) and Section 3.3 of Desjacques, Jeong & Schmidt, Phys. Rept., 733, 1 (2018)
88
99
# Arguments
1010
- `lnν::Real`: natural logarithm of a threshold, ν, i.e., `lnν` = log(ν), defined by ν ≡ [δc/σ(R,z)]^2. Here, δc = 1.6865 and σ(R,z) is the r.m.s. mass fluctuation within
@@ -17,7 +17,8 @@ The linear PBS bias is normalized as
1717
"""
1818
function pbsBias(lnν::Real, MF)
1919
δc = 1.6865
20-
b1 = 1 - ForwardDiff.derivative(MF, lnν) * 2 / δc / MF(lnν)
20+
b1L = -ForwardDiff.derivative(MF, lnν) * 2 / δc / MF(lnν)
21+
b1 = 1 + b1L
2122
return b1
2223
end
2324
const pbsBias1 = pbsBias
@@ -27,7 +28,7 @@ const pbsBias1 = pbsBias
2728
2829
Second-order PBS halo bias, b2(lnν), from the peak-background split (PBS) approximation.
2930
30-
*Reference*: Section 3.3 of Desjacques, Jeong & Schmidt, Phys. Rept., 733, 1 (2018)
31+
*Reference*: Equation (2.15) and Section 3.3 of Desjacques, Jeong & Schmidt, Phys. Rept., 733, 1 (2018)
3132
3233
# Arguments
3334
- `lnν::Real`: natural logarithm of a threshold, ν (see `pbsBias`).
@@ -41,10 +42,38 @@ function pbsBias2(lnν::Real, MF)
4142
δc = 1.6865
4243
a2 = -17 / 21
4344
dMFdlnν(x) = ForwardDiff.derivative(MF, x)
44-
b2 = (
45-
-2 * (1 + a2) * dMFdlnν(lnν) * 2 / δc / MF(lnν) +
46-
ForwardDiff.derivative(dMFdlnν, lnν) * 4 / δc^2 / MF(lnν) -
47-
dMFdlnν(lnν) * 2 / δc^2 / MF(lnν)
48-
)
45+
b1L = -dMFdlnν(lnν) * 2 / δc / MF(lnν)
46+
b2L = (ForwardDiff.derivative(dMFdlnν, lnν) * 2 - dMFdlnν(lnν)) * 2 / δc^2 / MF(lnν)
47+
b2 = 2 * (1 + a2) * b1L + b2L
4948
return b2
50-
end
49+
end
50+
51+
"""
52+
pbsBias3(lnν, MF)
53+
54+
Third-order PBS halo bias, b3(lnν), from the peak-background split (PBS) approximation.
55+
56+
*Reference*: Equation (2.16) and Section 3.3 of Desjacques, Jeong & Schmidt, Phys. Rept., 733, 1 (2018)
57+
58+
# Arguments
59+
- `lnν::Real`: natural logarithm of a threshold, ν (see `pbsBias`).
60+
- `MF`(lnν): a function which returns a halo multiplicity function with the argument lnν.
61+
62+
The third-order PBS bias satisfies
63+
64+
``∫_-∞^∞ dlnν MF(lnν) pbsBias3(MF) = 0``
65+
"""
66+
function pbsBias3(lnν::Real, MF)
67+
δc = 1.6865
68+
a2, a3 = -17 / 21, 2815 / 3969
69+
dMFdlnν(x) = ForwardDiff.derivative(MF, x)
70+
d2MFdlnν2(x) = ForwardDiff.derivative(dMFdlnν, x)
71+
b1L = -dMFdlnν(lnν) * 2 / δc / MF(lnν)
72+
b2L = (d2MFdlnν2(lnν) * 2 - dMFdlnν(lnν)) * 2 / δc^2 / MF(lnν)
73+
b3L = -(
74+
(ForwardDiff.derivative(d2MFdlnν2, lnν) * 2 - d2MFdlnν2(lnν) * 3 + dMFdlnν(lnν)) *
75+
4 / δc^3 / MF(lnν)
76+
)
77+
b3 = 6 * (a2 + a3) * b1L + 3 * (1 + 2 * a2) * b2L + b3L
78+
return b3
79+
end

src/stBias.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ function stBias3(lnν::Real)
7777
ν = exp(lnν)
7878
= _st_q * ν
7979
a2 = -17 / 21
80-
a3 = 341 / 567
80+
a3 = 2815 / 3969
8181
ϵ1 = (qν - 1) / _st_δc
8282
ϵ2 =* (qν - 3) / _st_δc^2
8383
ϵ3 =* (qν^2 - 6 *+ 3) / _st_δc^3

0 commit comments

Comments
 (0)