pub(super) fn vanishes<const N: usize>(
wave: Family,
inputs: &Inputs<N>,
direct: &[[Jet<N>; 3]; 3],
kpar: &[Jet<N>; 3],
) -> boolExpand description
Whether the sum vanishes by symmetry.
That holds for odd degrees of spherical and odd orders of cylindrical waves where the
reduced Bloch vector kpar is exactly zero and twice the reduced shift is exactly one
of the combinations of the reduced rows direct with coefficients in {-1, 0, 1}
(2 r lies in their cell).
ยงWhy
Inversion maps the images -r - R onto themselves and changes the sign of the waves,
so every Ewald part and the self term vanish at any split and k, while the computed
parts would leave rounding of the order of the terms. The derivatives that move k
alone vanish too; the others keep the check of the predicted loss (cancellation).