Closed Epsilon1024 closed 2 months ago
cc @christoph-riverlane for visibility, who is one of the authors of the linked paper.
I just noticed that N must be even (corollary 2.2). Let me fix that real quick.
@Epsilon1024 could you rebase on main and squash all the commits so far? there's a lot of legacy commits, it's hard to keep track of new changes to review.
@anurudhp You can just go to files changed and it shows only two new files?
Right that's true. I meant more for reviewing incremental changes, but I guess I can just look from the last two commits, so no issue.
Hi all, thanks Tanuj for tagging me, and thanks for the interest in our algorithm and paper. Two notes:
Our proofs require N even. However, the algorithm appears to work also for odd N. (In fact, for our numerical results, we have used both odd and even values of N. We'll add a comment on this to the paper.) I think our proofs can also be extended to odd N.
The values for N from the proof are not tight: We found that sometimes in practice N can be sufficient that are significantly smaller, see eg the values of N in Fig 2. Therefore, we had envisioned that in practice, a search procedure might be used, in which the algorithm is run repeatedly with doubled N until the desired accuracy is reached. (We'll add a comment on this to the paper)
Cheers, Christoph
Added fft_qsp module to address Issue 1076
This fixes the error issues found by fast_complementary_polynomial by using the algorithm described in Berntson and Sunderhauf (2024) (Algorithm 2 based off the code in Figure 1). This method takes the target precision as an input parameter and automatically determines the number of FFT modes needed to guarantee the given precision.