चेबीशेव बहुपद का तेज़ (अनुमानित) मूल्यांकन


9

क्या एक पसंदीदा तरीका है कि यूनिफ़ॉर्म ग्रिड पर चेबीशेव प्रक्षेप बहुपद का तेज़ (अनुमानित) मूल्यांकन कैसे लागू किया जाए (चेबशेव नोड्स में फ़ंक्शन मान दिए गए हैं)? मेरी समस्या यह है कि जब प्रक्षेप पॉलीओनोमियल की डिग्री बढ़ जाती है तो प्रक्षेप धीमा हो जाता है।

निम्नलिखित विचार मेरे दिमाग में आए:

  • गैर-समान FFT (NFFT) तकनीकों को अनुकूलित करने का प्रयास करें
  • Chebyshev नोड पर व्युत्पन्न की गणना करने के लिए FFT का उपयोग करें, संभवतः पहले एक महीन (Chebyshev) ग्रिड पर जाने के बाद। फिर (अनुमानित) मूल्यांकन के लिए एक टुकड़े-टुकड़े घन प्रक्षेप का उपयोग करें।
  • कुछ सूत्र का उपयोग करें जो केवल फ़ंक्शन मान (और संभावित व्युत्पत्ति) का उपयोग "पास" चेबिशेव नोड्स पर करते हैं (यह एक विशिष्ट एनएफएफटी तकनीक से संबंधित है)।

शेफुन पर एक नजर ! यह एक पूरी लाइब्रेरी है जो चेब्येव पॉलिनॉमिअल्स के माध्यम से फ़ंक्शन प्रतिनिधित्व पर आधारित है। यह खुला स्रोत है, अत्यधिक अनुकूलित, और अच्छी तरह से बनाए रखा गया है और मुझे लगता है कि यदि किसी बहुपद के बिंदुवार मूल्यांकन के लिए एक पसंदीदा तरीका मौजूद है, तो आप इसे वहां पाएंगे।
Jan

जवाबों:


11

क्या आपने Barycentric Interpolation का उपयोग करने के बारे में सोचा है ? Chebyshev नोड्स के लिए इसे कुशलता से कैसे किया जाए, इस पर विस्तृत विवरण इस पेपर की धारा 5 में दिया गया है ।

यह वास्तव में चेब्शेव इंटरपोलेंट का सटीक मूल्यांकन है। यदि आप एक बहुपद की डिग्री का मूल्यांकन कर रहे हैंn पर m नोड्स, लागत में है O(nm)

अपडेट करें

एक अन्य विकल्प, यदि आपके पास अपने प्रक्षेप बहुपद का चेबीशेव गुणांक है, तो क्लेंशॉ एल्गोरिथ्म का उपयोग करना है । यदि आपके पास चेबिशेव नोड्स में केवल फ़ंक्शन मान हैं, लेकिन कई बार बहुपद का मूल्यांकन करना है, तो आप एफएफटी के साथ गुणांक की गणना कर सकते हैं।

क्लेन्शॉ एल्गोरिथ्म कुछ हद तक Barycentric प्रक्षेप की तुलना में तेज़ है क्योंकि इसमें केवल परिवर्धन और गुणन की आवश्यकता होती है, और यह कि यह बहुत अच्छी तरह से वेक्टर होता है।


वर्तमान में, मैं एक विशिष्ट मूल्यांकन बिंदु के लिए चेबीशेव नोड्स पर फ़ंक्शन मानों के सापेक्ष भार को पूर्ववर्ती करके करता हूं, फिर इस बिंदु का मूल्यांकन उन सभी प्रक्षेपों के लिए करना होगा जो मुझे करना है (कई हैं, सभी समान चेबशेव नोड्स और समान मूल्यांकन बिंदुओं के साथ) , और फिर अगले मूल्यांकन बिंदु पर आगे बढ़ें।
थॉमस क्लिम्पेल

@ThomasKlimpel: आप कैसे वजन की गणना कर रहे हैं? यदि आप Chebyshev नोड्स का उपयोग कर रहे हैं[1,1], वे बस हैं ±1, या ±1/2किनारों पर। यदि गति वास्तव में सार है, तो मैंने अपने उत्तर में क्लेन्शॉ एल्गोरिथ्म जोड़ा है। मेरे अनुभव में, संकलित कोड में यह लगभग चार गुना तेज है।
पेड्रो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.