We are currently looking for a fast, i.e. subquadratic, algorithm for the following equation: $z_m = \sum_{i,j :\, (i \cdot j) = m} x_i \cdot y_j$.
That is, we are given two finite input vectors $x$ and $y$ and are trying to calculate the full vector $z$, where each element $z_m$ in $z$ consists of the sum of the pairwise products of elements in the input vectors $x_i$ and $y_j$, whose indices $i$ and $j$ result in $m$ after multiplication.
A bit on the background: we are trying to efficiently multiply two probabilistic mass functions.
Since this problem is closely related to standard convolution (when changing product to sum): $z_m = \sum_{i,j :\, (i + j) = m} x_i \cdot y_j$,
we already found out that it would be possible to log-transform the indices of the input vectors and rediscretize/bin them. Then you could use FFT-convolve to get the log-transformed $z$ vector, which has to be exponentiated (on the indices) in the end. However, discretization most probably results in errors (depending on the resolution of the rediscretization) as well as increases the overall runtime because of the increasing length of the input vectors.
Does anyone know about an alternative solution to this problem (maybe with a hint to an existing implementation or on implementation details)? We have also looked at some theory on log-convolution/scale convolution (https://en.wikipedia.org/wiki/Logarithmic_convolution, with an implementation here) since it seems to be at least very closely related. However, we are not sure if and how the rather complex theory applies to our discrete problem directly.