एफएफटीडब्ल्यू

द असतत फूरियर रूपांतरण इन द वेस्ट (एफएफटीडब्ल्यू) मैसाचुसेट्स की तकनीकी संस्था में मैटियो फ्रिगो और स्टीवन जी जॉनसन द्वारा विकसित असतत फूरियर ट्रांसफॉर्म (डीएफटी) की गणना के लिए एक सॉफ्टवेयर लाइब्रेरी (कंप्यूटर विज्ञान) है। एफएफटीडब्ल्यू फास्ट फूरियर ट्रांसफॉर्म (एफएफटी) के सबसे तेज मुफ्त सॉफ्टवेयर कार्यान्वयन में से एक है। यह मनमाने आकार और आयाम के वास्तविक और जटिल संख्या-मूल्य वाले सरणियों के लिए एफएफटी एल्गोरिदम लागू करता है।

लाइब्रेरी
एफएफटीडब्ल्यू विभिन्न प्रकार के एल्गोरिदम का समर्थन करके और किसी एक (छोटे परिवर्तनों में परिवर्तन का एक विशेष अपघटन) अनुमानी (कंप्यूटर विज्ञान) या विशेष परिस्थितियों में बेहतर होने के उपायों को चुनकर डेटा को तेजी से परिवर्तित करता है। यह छोटे अभाज्य कारकों के साथ आकार के सरणियों पर सबसे अच्छा काम करता है, जिसमें दो की शक्ति इष्टतम होती है और बड़ी अभाज्य संख्याएं सबसे खराब स्थिति होती हैं (लेकिन फिर भी बिग ओ अंकन  (रैखिक फ़ंक्शन))। समग्र संख्या आकारों के परिवर्तनों को छोटे परिवर्तनों में विघटित करने के लिए, यह Cooley-Tukey FFT एल्गोरिथ्म (विभिन्न गुणनखंडों और/या अलग-अलग मेमोरी-एक्सेस पैटर्न के अनुरूप) के कई प्रकारों में से चुनता है, जबकि अभाज्य आकारों के लिए यह या तो Rader के FFT एल्गोरिथ्म का उपयोग करता है|Rader या ब्लूस्टीन के FFT एल्गोरिथ्म का उपयोग करता है। एक बार जब परिवर्तन को पर्याप्त रूप से छोटे आकार के उपट्रांसफॉर्म में तोड़ दिया गया है, तो एफएफटीडब्ल्यू इन छोटे आकारों के लिए  हार्ड कोडित   लूप खोलना  एफएफटी का उपयोग करता है जो स्वचालित प्रोग्रामिंग द्वारा उत्पादित किए गए थे (संकलन समय पर, रन टाइम (प्रोग्राम जीवनचक्र चरण) पर नहीं); ये रूटीन विभिन्न प्रकार के एल्गोरिदम का उपयोग करते हैं जिनमें Cooley-Tukey वेरिएंट, Rader का एल्गोरिदम और प्राइम-फैक्टर एफएफटी एल्गोरिदम शामिल हैं।

पर्याप्त रूप से बड़ी संख्या में दोहराए गए परिवर्तनों के लिए दिए गए सरणी आकार और प्लेटफ़ॉर्म (कंप्यूटिंग) पर कुछ या सभी समर्थित एल्गोरिदम के प्रदर्शन को मापना फायदेमंद है। ये माप, जिन्हें लेखक ज्ञान कहते हैं, बाद में उपयोग के लिए किसी फ़ाइल या स्ट्रिंग में संग्रहीत किए जा सकते हैं।

एफएफटीडब्ल्यू में एक गुरु इंटरफ़ेस है जो अंतर्निहित एफएफटीडब्ल्यू आर्किटेक्चर में जितना संभव हो सके लचीलेपन को उजागर करने का इरादा रखता है। यह, अन्य बातों के अलावा, एक ही कॉल में बहु-आयामी परिवर्तनों और एकाधिक परिवर्तनों की अनुमति देता है (उदाहरण के लिए, जहां डेटा को मेमोरी में इंटरलीव किया जाता है)।

एफएफटीडब्ल्यू के पास आउट-ऑफ-ऑर्डर ट्रांसफ़ॉर्म (संदेश पासिंग इंटरफ़ेस (एमपीआई) संस्करण का उपयोग करके) के लिए सीमित समर्थन है। Cooley-Tukey FFT एल्गोरिथम#डेटा रीऑर्डरिंग, बिट रिवर्सल और इन-प्लेस एल्गोरिदम में ओवरहेड होता है, जिससे मनमाने आकार और आयाम के इन-प्लेस परिवर्तनों से बचना गैर-तुच्छ है। यह अप्रलेखित है कि यह ओवरहेड किस परिवर्तन के लिए महत्वपूर्ण है।

एफएफटीडब्ल्यू को जीएनयू जनरल पब्लिक लाइसेंस के तहत लाइसेंस प्राप्त है। इसे एमआईटी द्वारा व्यावसायिक रूप से भी लाइसेंस प्राप्त है ($12,500 तक की लागत पर)। और वाणिज्यिक MATLAB में उपयोग किया जाता है एफएफटी की गणना के लिए मैट्रिक्स पैकेज। एफएफटीडब्ल्यू सी (प्रोग्रामिंग भाषा) भाषा में लिखा गया है, लेकिन फोरट्रान और एडा (प्रोग्रामिंग भाषा) इंटरफेस मौजूद हैं, साथ ही कुछ अन्य भाषाओं के लिए इंटरफेस भी मौजूद हैं। जबकि लाइब्रेरी स्वयं सी है, कोड वास्तव में 'नामक प्रोग्राम से उत्पन्न होता है ', जो OCaml में लिखा गया है। 1999 में, FFTW ने न्यूमेरिकल सॉफ्टवेयर के लिए जे. एच. विल्किंसन पुरस्कार जीता।

यह भी देखें

 * एफएफटीपैक