[Math] Is convolution in spherical harmonics equivalent to multiplication in the spatial domain

convolutionspherical harmonics

Spherical harmonic convolution is defined as

$$
( k \star f )^l_m = \sqrt{ \frac{ 4 \pi }{2l+1} } h^l_m f^l_m
$$

(See Eq. (B.13) in Appendix B of Wojciech Jarosz's dissertation "Efficient Monte Carlo Methods for Light Transport in Scattering Media": PDF.)

I have a function with RGB values for every $(\theta,\phi)$ in the spatial domain. Call this the "light function":

light function

I project this "light function" to spherical harmonics.

spherical harmonic projected light function

Now, I want to use this lobe function:

zh "selector" function

to "select" a portion of the "light function", in the SH domain.

This is what I want to do

Note that the lobe is circularly symmetric.

In the spatial domain, this "selection" could be done by a simple multiplication: for every $ (\theta,\phi) $ simply multiply. The result will be "keep anything that lines up with the lobe, and discard the rest."

Multiplication in the spatial domain should be convolution in the frequency domain.

But when I try to convolve the spherical harmonic "lobe" with the spherical harmonic light function, I am getting a "scaled" or "filtered" copy of the light map, but not in the way I expect! I expect to keep everything along the lobe, and discard the rest, as described above.

Best Answer

That assumption is only true if one of the harmonics is ZONAL

I.e. every component with m not equal to 0, is 0

so then the convolution is with h being the zonal harmonic

$( k \star f )^l_m = \sqrt{ \frac{ 4 \pi }{2l+1} } h^l_0 f^l_m$