किसी कार्य के लिए तर्कसंगत सन्निकटन का खुला स्रोत कार्यान्वयन


15

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

जो मुझे मिला वह यहां है:

  • ऐसा लगता है कि शेफुन ऐसा कर सकते हैं, लेकिन मेरे पास मतलब * तक पहुंच नहीं है।

  • न्यूमेरिकल रेसिपीज़ (NR) में 5-13 "रैशनल चेबीशेव अप्रूवल" सेक्शन में एक सरल प्रोग्राम है।

  • Mathematica में EconomizedRationalApproximation और MiniMaxApproximation है

मैं सोच रहा था कि क्या एनआर कोड की तुलना में कुछ नया (संभवतः बेहतर परीक्षण किया गया) है।

मेरा आवेदन यह है कि मेरे पास विशेष कार्यों का एक सेट है, लगभग 10, जो या तो हाइपरजोमेट्रिक श्रृंखला के रूप में दिए गए हैं, या कुछ सूत्र जिनमें संख्यात्मक निरस्तीकरण हैं, और मैं एक मजबूत, तेज और सटीक मूल्यांकन कार्य करना चाहता हूं, जिसे इसमें बुलाया जा रहा है हार्टरी फॉक गणना में दो कण मैट्रिक्स तत्वों की गणना का सबसे आंतरिक लूप। मैंने एक समारोह का एक सरल उदाहरण रखा जो मेरे लिए काम करता है [2]। जैसा कि आप देख सकते हैं, यह या तो प्रत्यक्ष सूत्र का उपयोग कर रहा है, या x = 0 के आसपास एक श्रृंखला है, जिसे मैंने SymPy का उपयोग करके गणना की है। यह काम करता है, लेकिन सटीकता महान नहीं है, महत्वपूर्ण अंकों के लगभग आधे = 1 x के आसपास खो जाते हैं (लेकिन x = 0.1 के साथ-साथ x = 1e5 के लिए यह लगभग सभी महत्वपूर्ण अंकों के लिए सटीक है)। मैं एक बेहतर सन्निकटन की तलाश में हूं।

[१] देउन, जे।, और ट्रेफेथेन, एलएन (२०११)। तर्कसंगत सन्निकटन के लिए कैराथोडोरी-फ़ेज़र पद्धति का एक मजबूत कार्यान्वयन। बीआईटी न्यूमेरिकल मैथमेटिक्स, 51 (4), 1039-1050। doi: 10.1007 / s10543-011-0331-7 ( जून 2010 ई-प्रिंट )

[२] https://gist.github.com/3831580

(*) न ही उस बावर्ची वेबसाइट पर, जो मुझे 404 देती है, लेकिन पेड्रो ने सुझाव दिया कि मेरा प्रदाता मुद्दा होना चाहिए।

जवाबों:


4

यह किसी भी मदद का हो सकता है? http://www.alglib.net/interpolation/rational.php


1
धन्यवाद, मुझे लगता है कि यह करेगा। मुझे इसका उपयोग करना सीखना होगा। फिलहाल, मैं समय के दबाव में हूं, इसलिए मैंने काम पूरा करने के लिए मैथमेटिका से मिनीमैक्स एपेक्लेमेशन का उपयोग किया, लेकिन मैं ओपनसोर्स टूल्स का उपयोग करके ऐसा करना सीखना चाहता हूं।
Ondíej Čertík

10

एक-से-श्रेष्ठ तर्कसंगत सन्निकटन करना अक्सर रेमेज़ एल्गोरिथ्म के "मैनुअल" पुनरावृत्तियों द्वारा पूरा किया जा सकता है : प्रक्षेपवक्र बिंदुओं के लिए प्रारंभिक अनुमान पर वैकल्पिक सापेक्षता के साथ एक परिमेय सन्निकटन को प्रक्षेपित करें, एक (या अधिक) बिंदुओं का पता लगाएं जहां वास्तविक त्रुटि प्रक्षेप बिंदु और धुरी से अधिक है (वैकल्पिक संकेत त्रुटियों को संरक्षित करने वाले एक तरह से इन के लिए अनुमानित बिंदुओं में से एक या अधिक को स्वैप करना)। यह जमीन से सिद्धांत को समझने का एक अच्छा तरीका है। जब आवश्यक सटीकता मामूली होती है, तो मुझे लगता है कि एक स्प्रेडशीट कार्यान्वयन मुझे गणना के माध्यम से अपना रास्ता महसूस करने और कट-एंड-पेस्ट के माध्यम से समस्याओं को अनुकूलित करने में मदद करता है।

y=1/एक्स1एक्स2यहां छवि विवरण दर्ज करें

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

Chebfun सॉफ्टवेयर स्वयं ही ओपन सोर्स (है बीएसडी शैली लाइसेंस v4.0 के बाद से)। निश्चित नहीं है कि उनकी साइट के लिंक ने उस समय 404 त्रुटि वापस दी हो सकती है, लेकिन वे अब v5.2.1 पर हैं। (उनके पास एक GitHub रिपॉजिटरी भी है ।) Chebfun प्रोजेक्ट का लक्ष्य सर्वश्रेष्ठ तर्कसंगत अनुमानों से अधिक है, जिसमें केंद्रीय अवधारणा एक अंतराल पर Matlab वेक्टर-जैसे सिंटैक्स (वास्तविक) के लिए कार्य करती है।

सर्कल को पूरा करने के लिए इसे मतलाब के बजाय ऑक्टेव के तहत काम करने की आवश्यकता होगी । इस बारे में 2010 में एक ऑक्टेव- मेंटेनर धागा शुरू हुआ था। चेबफुन मेंटेनर्स / लेखकों द्वारा 2012 के एक पेपर से पता चलता है कि उनकी ओर से ऑक्टेव की संगतता में कुछ प्रयास किए गए हैं।

को देखते हुए Chebfun से संबंधित परियोजनाओं पेज पता चलता है कि क्योंकि Chebfun सॉफ्टवेयर खुला स्रोत है, यह इस बंदरगाह करना संभव हो सकता है, या इस तरह के ओलिवर Verdier के रूप में वहाँ सूचीबद्ध खुला स्रोत संकुल, में से एक का उपयोग करने के pychebfunलिए, एक अजगर Chebyshev कार्य GitHub में होस्ट की गई परियोजना


1
Chebfun वेबसाइट के इस लिंक में प्रलेखन है कि इसका उपयोग करके तर्कसंगत सन्निकटन कैसे करें: chebfun.org/docs/guide/guide04.html
Ondřej Čertík
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.