कुछ पुरानी किताबों में मैंने देखा है कि एक निर्दिष्ट क्रम के एक स्पष्ट रन-कुट्टा विधि के चरणों की न्यूनतम संख्या अज्ञात है । क्या यह अभी भी सच है?
उच्च क्रम के रन-कुट्टा विधियों के साथ स्वचालित रूप से काम करने के लिए कौन से पुस्तकालय हैं?
कुछ पुरानी किताबों में मैंने देखा है कि एक निर्दिष्ट क्रम के एक स्पष्ट रन-कुट्टा विधि के चरणों की न्यूनतम संख्या अज्ञात है । क्या यह अभी भी सच है?
उच्च क्रम के रन-कुट्टा विधियों के साथ स्वचालित रूप से काम करने के लिए कौन से पुस्तकालय हैं?
जवाबों:
यह अब भी सच है। में कसाई की किताब , पेज 196, यह निम्नलिखित कहते हैं: में एक 1985 कागज, कसाई से पता चला कि आप 8 प्राप्त करने के लिए 11 चरणों की जरूरत है , और इस तेज है। आदेश 10 के लिए, हेअर ने 17-चरण के तरीकों के एक परिवार को व्युत्पन्न किया , लेकिन यह ज्ञात नहीं है कि क्या कोई बेहतर कर सकता है। वही जानकारी Hairer, Norsett, & Wanner खंड के खंड II.5 में दी गई है । मैं । बाद का संदर्भ उच्च-क्रम वाले जोड़े (ऑर्डर 8 तक) विकसित करने की कुछ तकनीकों के माध्यम से भी जाता है।
किसी भी आदेश के लिए आवश्यक चरणों की न्यूनतम संख्या पर एक ऊपरी बाध्य है, क्योंकि आप उन्हें एक्सट्रपलेशन द्वारा निर्माण कर सकते हैं। यह बहुत लंबे समय के लिए जाना जाता है; स्पष्टीकरण के लिए मेरा यह हालिया पेपर देखें । हालांकि, यह बाध्य क्रम में द्विघात है और निश्चित रूप से काफी निराशावादी है। नीचे चर्चा किए गए नोड्पी सॉफ़्टवेयर इन विधियों के लिए सटीक गुणांक उत्पन्न कर सकते हैं, और किसी भी क्रम के आस्थगित सुधार विधियों (जो कि रग्ज-कुट्टा तरीके हैं) के लिए भी।
मेरा मानना है कि @ इटेन यह कहने में सही है कि हाथ से बनाए गए उच्चतम आदेश तरीके टेरी फीगिन के कारण हैं। उनकी अन्य टिप्पणी के बारे में, इस पत्र में कुछ 9 (8) जोड़े हैं:
जेएच वर्नर, उच्च-क्रम स्पष्ट रन-कुट्टा जोड़े निम्न चरण क्रम के साथ, एप्लाइड न्यूमेरिकल गणित, खंड 22, अंक 1–3, नवंबर 1996, पृष्ठ 345-357
यहाँ आदेश शर्तों की (संचयी) संख्या की एक तालिका है प्रत्येक आदेश के लिए आवश्यक है ; यह तालिका साहित्य में उपलब्ध कराए गए लोगों की तुलना में आगे बढ़ जाती है और इसे नोड्पी का उपयोग करके उत्पादित किया गया था:
p | N
-----
1 | 1
2 | 2
3 | 4
4 | 8
5 | 17
6 | 37
7 | 85
8 | 200
9 | 486
10| 1205
11| 3047
12| 7813
13| 20300
14| 53264
बहुत उच्च क्रम विधियों के लिए, हाथ से निपटने के लिए आदेश की स्थिति की संख्या और जटिलता असंभव हो जाती है। कुछ प्रतीकात्मक पैकेज (गणितज्ञ, कम से कम) में रन-कुट्टा ऑर्डर की स्थिति उत्पन्न करने की क्षमता है। वहाँ शायद कुछ अन्य पैकेज हैं, लेकिन मुझे निम्नलिखित के बारे में पता है (दोनों जिनमें मैंने लिखा है):
आदेश की स्थितियों के बारे में एक और दिलचस्प नोट, जो इस तरह के उच्च आदेशों के लिए महत्वपूर्ण हो जाता है, यह है कि उन्हें प्राप्त करने के दो तरीके हैं, और वे आपको अलग-अलग (लेकिन सामूहिक रूप से समतुल्य) स्थिति देते हैं: एक बुचर के कारण है, दूसरा अल्ब्रेक्ट के लिए ।
@ डेविडकैट्सन का जवाब बड़े बिंदुओं को हिट करता है: आप हमेशा एक्सट्रपलेशन का उपयोग करके उच्च पर्याप्त ऑर्डर के तरीकों का निर्माण कर सकते हैं, यह एक बहुत निराशावादी बाध्य है और आप हमेशा पूरी तरह से बेहतर कर सकते हैं, सभी अच्छे हाथों से प्राप्त होते हैं (कुछ कंप्यूटर की मदद से) बीजगणित उपकरण), कोई निचली सीमा ज्ञात नहीं है, और उच्चतम क्रम तरीके फीगिन के कारण हैं। कुछ टिप्पणियों को देखते हुए, मैं इस क्षेत्र में वर्तमान अत्याधुनिक झांकी की चर्चा के साथ उत्तर को समाप्त करना चाहता था।
यदि आप आरके टैबलियस का एक संग्रह चाहते हैं, तो आप इस जूलिया कोड में पा सकते हैं । कागज़ के लिए नागरिक जो वे से आए थे, झांकी निर्माणकर्ताओं के लिए डॉकस्ट्रिंग्स में हैं। डिफरेंशियल ईक्शंस.जेएल के लिए डेवलपर दस्तावेज़ीकरण उपयोग के लिए उपलब्ध इन सभी झांकी को सूचीबद्ध करता है , और आप यहां देख सकते हैं कि ट्रैविस और अप्पेयरोर निरंतर एकीकरण सूट का उपयोग करके इन सभी का परीक्षण किया जाता है ताकि यह सुनिश्चित किया जा सके कि न केवल ऑर्डर की स्थिति संतुष्ट है, बल्कि वे वास्तव में हैं अनुरोधित अभिसरण (सत्यापन परीक्षण) प्राप्त करें। इनसे, आप देख सकते हैं कि ये हैं:
(कि मैं पा सकता था कि प्रकाशित किया गया था)। फिर, सभी हाथ से निकले।
अभिसरण परीक्षण से पता चलता है कि कुछ व्युत्पत्तियों को 64-बिट से अधिक संख्या के लिए काम करने के लिए पर्याप्त उच्च परिशुद्धता के लिए नहीं किया गया था (वे इस तरह की टिप्पणी की जाती हैं )। तो यह एक दिलचस्प विचित्र बात है, जिसके बारे में पता होना चाहिए: इन उच्च आदेशों पर आप आमतौर पर केवल गुणांक प्राप्त करते हैं जो "त्रुटि को x
" आदेश की शर्तों को पूरा करते हैं, लेकिन जब मनमाने ढंग से सटीक अंकगणित का उपयोग करते हुए आप वास्तव में इन सीमाओं का पता लगा सकते हैं। तो जिस सटीकता से आप गुणांक करते हैं, उससे कोई फर्क नहीं पड़ता है, और आपको इसे उस सटीकता को कवर करने के लिए चुनना चाहिए जिसे आप परीक्षण (/ उपयोग, निश्चित रूप से) करना चाहते हैं।
यदि आप स्थिरता भूखंडों का एक गुच्छा चाहते हैं, तो आप बस plot(tableau)
प्लॉट्स.ज्ल नुस्खा का उपयोग कर सकते हैं । नोटों का एक अच्छा सेट जिसमें यह बहुत नीचे लिखा है, पीटर स्टोन की वेबसाइट पर जा सकता है (नीचे जाएं और ऑर्डर 10 योजनाओं पर क्लिक करें और आपको पीडीएफ का एक गुच्छा मिलेगा)। डिफरेंशियल ईक्शंस.ज्ल को विकसित करते समय, मैंने टेबुलस के उस सेट को व्यवस्थित रूप से परीक्षण की समस्याओं पर उनके माध्यम से बनाया / देखने के लिए विश्लेषणात्मक संकेतकों को देखें कि कौन से मुख्य पुस्तकालय में शामिल होने चाहिए। मैंने यहां कुछ त्वरित नोट्स बनाए । जैसा कि आप मुख्य पुस्तकालय में शामिल एल्गोरिदम से देख सकते हैंजो मुझे योग्य लगे वे वर्नर और फीजीन तरीके थे। वर्नर 9 वाँ ऑर्डर मेथड सबसे ज्यादा ऑर्डर मेथड है, जिसमें एक इंटरपोलेंट ऑर्डर भी मैच करता है। यह पहचानने के लिए कुछ है: फ़ेगिन विधियों में एक मिलान इंटरपोलेंट नहीं है (हालांकि आप हर्मिट को बूटस्ट्रैप कर सकते हैं, लेकिन यह वास्तव में अक्षम है)।
चूंकि वे सभी बहुत कुशल कार्यान्वयन के साथ कार्यान्वित किए जाते हैं, इसलिए आप स्वयं उनके साथ खेल सकते हैं और देख सकते हैं कि वास्तव में विभिन्न विशेषताएं कितनी मायने रखती हैं। यहाँ एक ज्यूपिटर नोटबुक है जो उपयोग में फ़ेगिन विधियों को दर्शाता है । ध्यान दें कि कनवर्जेन्स प्लॉट वास्तव में 1e-48
त्रुटि करने वाला है। जब आप वास्तव में बहुत कम सहिष्णुता की आवश्यकता होती है तो उच्च आदेश विधियाँ केवल निचले क्रम के तरीकों से अधिक कुशल होती हैं। आप कुछ बेंचमार्क पा सकते हैं जो उनमें से कुछ का उपयोग DiffEqBenchmarks.jl पर करते हैं , हालांकि जब उनका उपयोग किया जाता है तो यह आमतौर पर 9 वें क्रम का वर्नर तरीका होता है, और आमतौर पर यह दर्शाता है कि बेंचमार्क उस शासन में नहीं है जहां यह उच्च क्रम कुशल है।
इसलिए यदि आप चारों ओर खेलना चाहते हैं और कुछ उच्च क्रम विधियों के साथ काम करना चाहते हैं, तो आरके-ऑप्ट वह है जो मैंने पाया है कि कुछ प्राप्त करने के लिए एक अच्छा उपकरण है (जैसा कि @DavidKetcheson उल्लेख किया गया है), और डिफरेंशियल ईक्शंस। Jl में सभी प्रकाशित तरीके हैं (मुझे लगता है? ) लागू किया ताकि आप उनके खिलाफ आसानी से परीक्षण / बेंचमार्क कर सकें। हालाँकि, जब तक आपको यह अनुमान नहीं लगता है कि गिराया जा सकता है, मेरे परीक्षणों से मुझे कुछ ऐसा नहीं मिला है जो वर्नर (आदेश 6-9) और फ़ेगिन (आदेश 10+) के तरीकों को हराता हो। YMMV हालांकि, और मैं इसमें और अधिक शोध देखना पसंद करूंगा।