Computing the convolution AβB of two vectors of dimension n is one
of the most important computational primitives in many fields. For the
non-negative convolution scenario, the classical solution is to leverage the
Fast Fourier Transform whose time complexity is O(nlogn). However, the
vectors A and B could be very sparse and we can exploit such property to
accelerate the computation to obtain the result. In this paper, we show that
when β₯AβBβ₯β₯c1ββ=k and β₯AβBβ₯β€c2ββ=nβk holds,
we can approximately recover the all index in suppβ₯c1ββ(AβB) with point-wise error of o(1) in O(klog(n)log(k)log(k/Ξ΄))
time. We further show that we can iteratively correct the error and recover all
index in suppβ₯c1ββ(AβB) correctly in O(klog(n)log2(k)(log(1/Ξ΄)+loglog(k))) time