An O(klog n) Time Fourier Set Query Algorithm
Fourier transformation is an extensively studied problem in many research fields. It has many applications in machine learning, signal processing, compressed sensing, and so on. In many real-world applications, approximated Fourier transformation is sufficient and we only need to do the Fourier transform on a subset of coordinates. Given a vector x ∈ℂ^n, an approximation parameter ϵ and a query set S ⊂ [n] of size k, we propose an algorithm to compute an approximate Fourier transform result x' which uses O(ϵ^-1 k log(n/δ)) Fourier measurements, runs in O(ϵ^-1 k log(n/δ)) time and outputs a vector x' such that ( x' - x )_S _2^2 ≤ϵx_S̅_2^2 + δx_1^2 holds with probability of at least 9/10.
READ FULL TEXT