pespace.inference.common

Common utilities for parameter estimation.

This module provides core computational functions for likelihood evaluation, including the Whittle likelihood computation using taichi-lang for GPU acceleration.

pespace.inference.common._compute_whittle_likelihood(channels, observed_data, response_data, psd, df)[source]

Compute the Whittle likelihood.

Parameters:
  • channels (ti.template()) – Specifying the TDI channels to iterate over. Used with ti.static() for compile-time loop unrolling.

  • observed_data (ti.template()) – taichi.field containing the observed frequency-domain data for each channel. Expected to be a field of ti.types.vector(2, float) indexed by frequency bin and channel.

  • response_data (ti.template()) – taichi.field containing detector responses for each channel, having the same structure as observed_data.

  • psd (ti.template()) – taichi.field containing the noise power spectral density for each channel. Expected to be a real-valued field indexed by frequency bin and channel.

  • df (float) – Spacing between frequency bins in Hz.

Returns:

The log-likelihood value computed using the Whittle approximation.

Return type:

float

Notes

  • Uses Array-of-Structures (AoS) layout for StructField, with the channel loop placed inside the frequency loop for optimal memory accessing

  • Atomic operations are used to accumulate the log-likelihood to ensure thread safety in parallel execution