ऐसे दो मुद्दे हैं जिनसे आपका सामना होने की संभावना है।
बीमार कंडीशनिंग
सबसे पहले, समस्या अशिक्षित है, लेकिन यदि आप केवल एक अवशिष्ट प्रदान करते हैं, तो न्यूटन-क्रायलोव अपने महत्वपूर्ण अंकों को आधे से दूर फेंक रहे हैं, जो कि याकूब की कार्रवाई प्राप्त करने के लिए अवशिष्ट को अलग करते हुए:
जे[ एक्स ] वाई≈ एफ( X + ε y) - एफ( x )ε
यदि आप एक विश्लेषणात्मक जेकबियन प्रदान करते हैं, तो आपको सभी अंक (जैसे, डबल परिशुद्धता में 16) रखने के लिए मिलते हैं। क्रायलोव के तरीके आंतरिक उत्पादों पर भी निर्भर करते हैं, इसलिए यदि आपका जेकोबियन की धुन के अनुकूल नहीं है, तो यह प्रभावी रूप से विलक्षण है और क्रिलोव गलत समाधानों को स्थिर या वापस कर सकता है। यह प्रत्यक्ष सॉल्वरों को परिवर्तित होने से भी रोक सकता है। कभी-कभी आप ट्रैडीएबल कंडीशनिंग के साथ मोटे ग्रिड में समरूप करने के लिए मल्टीग्रिड तरीकों का उपयोग कर सकते हैं। जब एक समस्या को बेहतर कंडीशनिंग के साथ तैयार नहीं किया जा सकता है, तो यह क्वाड सटीक में काम करने लायक हो सकता है। (यह उदाहरण के लिए PETSc द्वारा समर्थित है।)1016
ध्यान दें कि समान मुद्दे क्वैसी-न्यूटन विधियों पर लागू होते हैं, हालांकि बिना परिमित भिन्नता के। गैर-कॉम्पैक्ट ऑपरेटरों (उदाहरण के लिए, विभेदक समीकरण) के साथ समस्याओं के लिए सभी स्केलेबल तरीकों को प्रीकंडिशनिंग के लिए जेकोबियन जानकारी का उपयोग करना चाहिए।
यह संभावना है कि fsolve
या तो जैकबियन जानकारी का उपयोग नहीं किया था या यह कि एक "ढाल मूल" विधि के साथ प्रगति करने के लिए एक डॉगल विधि या एक शिफ्ट का उपयोग किया था, एक अनिवार्य रूप से विलक्षण जैकोबियन के बावजूद (यानी, परिमित भिन्नता "शोर" का एक बहुत होगा) परिमित परिशुद्धता अंकगणित)। यह स्केलेबल नहीं है और fsolve
समस्या का आकार बढ़ने पर संभावना धीमी हो जाती है।
वैश्वीकरण
यदि रैखिक समस्याओं को सही ढंग से हल किया जाता है, तो हम रैखिक समस्या (क्रायलोव) से संबंधित समस्याओं को बाहर निकाल सकते हैं और गैर-समस्या के कारण उन पर ध्यान केंद्रित कर सकते हैं। स्थानीय मिनीमा और नॉनसेम्यूट फीचर्स को धीमा अभिसरण या ठहराव का कारण बनाते हैं। Poisson-Boltzmann एक सहज मॉडल है इसलिए यदि आप एक अच्छा पर्याप्त प्रारंभिक अनुमान लगाते हैं, तो न्यूटन द्विघात रूप से परिवर्तित हो जाएगा। अधिकांश वैश्वीकरण रणनीतियों में अंतिम पुनरावृत्तियों के लिए एक उच्च गुणवत्ता वाले प्रारंभिक अनुमान का उत्पादन करने के लिए किसी प्रकार की निरंतरता शामिल है। उदाहरणों में ग्रिड निरंतरता (उदाहरण के लिए, पूर्ण मल्टीग्रिड), पैरामीटर निरंतरता, और स्यूडोट्रांसेन्ट निरंतरता शामिल हैं। उत्तरार्द्ध आमतौर पर स्थिर-राज्य की समस्याओं पर लागू होता है, और कुछ वैश्विक अभिसरण सिद्धांत प्रदान करता है, कॉफ़ी, केली और कीज़ (2003) देखें । एक खोज इस पत्र को बदल देती है, जो आपके लिए उपयोगी हो सकता है:Shestakov, मिलोविच, और Noy (2002) छद्म क्षणिक निरंतरता और परिमित तत्व विधि का उपयोग करते हुए nonlinear Poisson-Boltzmann समीकरण का समाधान । स्यूडोट्रांसेन्ट निरंतरता का संबंध लेवेनबर्ग-मार्क्वार्ड एल्गोरिथम से निकटता से है।
आगे की पढाई
sol = newton_krylov(func, guess, method='gmres')
) की विधि को बदलने से समस्या ठीक हो गई। निश्चित रूप से क्यों नहीं, लेकिन इस मुद्दे के साथ कोई और भी ऐसा करने पर विचार कर सकता है।