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:

\[M_{\textrm{tot},i} = \textrm{SFR}(t_l = t_{l,i}) \cdot \Delta t_{l,i} [\mathrm{M}_{\odot}].\]

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:

\[Y_j \quad [\mathrm{M}_{\odot}^{-1}].\]
  • The number of systems \(j\) formed in time-bin \(i\) is:

\[N_{j,i} = Y_j \cdot M_{\text{tot},i}.\]

\(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\):

    1. Compute the integer part of \(N_{j,i}\): $ X = :nbsphinx-math:`textrm{floor}`(N_{j,i})$.

    2. Compute the fractional remainder: \(R = N_{j,i} - X\).

    3. Add \(X\) indices \(j\) to the output-index array.

    4. 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}]\).