Tutorial: Convolution by sampling
Background
This method of convolution generates a sample of systems (or events) and assigns a formation time (and location). With this, we can determine event times, and integrate these systems further in time (and space). This is particularly useful if we want to predict the population of e.g. double white dwarf systems at the current age of the Milky way.
We use several ingredients for this type of convolution
Total mass formed in given time bin
We calculate the total mass formed in a given time bin as the first step:
The SFR is evaluated in bins of lookback time \(t_l\).
Each bin i is defined by:
Center: \(t_{l,i}\),
Bin edges: \(t_{l,i-0.5}\) and \(t_{l,i+0.5}\),
Bin size: \(\Delta t_{l,i} = t_{l,i+0.5} - t_{l,i-0.5}\).
The total mass of stars formed in bin \(i\) is calculated as:
Specific types of systems and their yields
Then we combine that with the yield of the systems in our input data:
The systems in our input data (e.g., double white dwarfs) are characterized by their normalized yield \(Y_j\), defined as the number of that particular system \(j\) per unit solar mass formed:
The number of systems \(j\) formed in time-bin \(i\) is:
\(N_{j,i}\) generally is a fractional number, which we need to take into account when creating instances of these systems
Sampling Systems
We then use \(N_{j,i}\) to actually make realisations of these systems. In actuallity this means adding their index to the result array, and assigning a formation time (and possible a formation location).
A meta-code of the steps we take to do convolution by sampling is as follows:
For each system \(j\) in bin \(i\):
Compute the integer part of \(N_{j,i}\): $ X = :nbsphinx-math:`textrm{floor}`(N_{j,i})$.
Compute the fractional remainder: \(R = N_{j,i} - X\).
Add \(X\) indices \(j\) to the output-index array.
For the remainder:
Draw a random number \(P\) from a uniform distribution \(U(0,1)\).
If \(P < R\), include one additional system; otherwise, do not.
Assign each sampled system a random lookback time within the bin edges \([t_{l,i-0.5}, t_{l,i+0.5}]\).