Skip to main content

evals_mobius_eq_hypercube

Function evals_mobius_eq_hypercube 

Source
pub unsafe fn evals_mobius_eq_hypercube(
    out: &mut DeviceBuffer<EF>,
    omega: &[EF],
    device_ctx: &GpuDeviceCtx,
) -> Result<(), KernelError>
Expand description

Given vector u_tilde in F^n, populates out with mobius_eq(u_tilde, y) for y on hypercube H_n.

The Möbius-adjusted equality kernel is defined as:

    mobius_eq(u_tilde, y) = \prod_{i=0}^{n-1} ((1 - 2*u_tilde_i)(1 - y_i) + u_tilde_i * y_i).

Note: This function launches n CUDA kernels.

§Safety

  • n is set to the length of omega.
  • out must have length >= 2^n.