Quelle est la différence entre numpy.la fft et scipy.fftpack?
Est le plus tard juste un synonyme de l'ancien, ou sont-ils deux implémentations différentes de la FFT? Lequel est le mieux?
- Question intéressante. Les documents ne sont pas en dire beaucoup. Je viens de trouver cette citation dans le contexte des explications sur l'importation des stratégies: "Laisse envisager le cas où vous (pour quelque raison que ce soit) souhaitez comparer numpy et scipy la fft fonctions." (voir la fin de ce site). Ainsi, " ( ... ) pour quelque raison que ce soit ..."
Vous devez vous connecter pour publier un commentaire.
SciPy ne plus:
En outre, SciPy exportations de certaines des fonctions de NumPy par le biais de sa propre interface, par exemple, si vous exécutez scipy.fftpack.helper.fftfreq et numpy.fft.helper.fftfreq vous êtes fait exécuter le même code.
Cependant, SciPy a ses propres implémentations de beaucoup de fonctionnalités. La source a des tests de performances que de comparer l'original NumPy et de nouvelles SciPy versions. Mon archaïque ordinateur portable montre quelque chose comme ceci:
Il semble que SciPy est significativement plus rapide que la matrice augmente en taille, mais ce sont juste des exemples inventées et il serait intéressant d'expérimenter avec les deux pour votre projet particulier.
Il vaut la peine de regarder le code source http://www.scipy.org/Download#head-312ad78cdf85a9ca6fa17a266752069d23f785d1 . Oui, ces .f fichiers sont vraiment Fortran! 😀
view
la "alternance" tableau en tableau de nombres complexes (sauf pour le premier élément, je crois) @CoroneJ'ai trouvé que numpy la fft 2D a été nettement plus rapide que scipy, mais FFTW a été plus rapide que les deux (à l'aide de la PyFFTW liaisons). Les tests de performances sont ici:
code.google.com/p/agpy/source/browse/trunk/tests/test_ffts.py
Et les résultats (pour
n
xn
tableaux):Regardant le repository github pour chaque, scipy n'est pas seulement l'importation de numpy de la version et de le renommer (bien qu'il ne emprunter certaines fonctionnalités). Vous aurez à creuser dans le code si vous voulez discerner la différence dans les implémentations car la documentation n'est pas une comparaison directe.
https://github.com/numpy/numpy/tree/master/numpy/fft
https://github.com/scipy/scipy/tree/master/scipy/fftpack