p3_mds::util

Function apply_circulant_fft

Source
pub fn apply_circulant_fft<F: TwoAdicField, const N: usize, FFT: TwoAdicSubgroupDft<F>>(
    fft: FFT,
    column: [u64; N],
    input: &[F; N],
) -> [F; N]
Expand description

Use the convolution theorem to calculate the product of the given circulant matrix and the given vector.

The circulant matrix must be specified by its first column, not its first row. If you have the row as an array, you can obtain the column with first_row_to_first_col().