0
$\begingroup$

To compute fft with FFTW algorithms I think that it needs to factorizes the array size in prime factors, but it is an hard problem. which Algorithm uses FFTW to do it?

$\endgroup$
3
$\begingroup$

FFTW factorizes by testing against a table of primes. This is fast due to the fact that the size of the table is limited because the size of computer memory in which the FFT data is to be computed is itself limited to a very tiny number in mathematical terms (less than a few petabits). You only need up to the square root of that number.

| improve this answer | |
$\endgroup$
2
$\begingroup$

The problem is not really that hard for reasonable vector sizes. Also, FFT precomputes a plan that already lays out the recursion with all the factors, so that the actual processing call is fast. Plans can be saved too. So even the most naive prime factorisation will do the job.

Apart from that, I think I recall FFTw only supports prime factors up to 13, so a test for divisibility is generally very fast. The remainder that does not have prime factors lower or equal to 13 it uses a generic and slower algorithm without factorisation. All that as far as I recall. Read the documentation if you need the details.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.