मेरे पास एक PETSc है Mat
और मैं इसकी स्थिति संख्या का अनुमान लगाना चाहूंगा।
मेरे पास एक PETSc है Mat
और मैं इसकी स्थिति संख्या का अनुमान लगाना चाहूंगा।
जवाबों:
छोटे मेट्रिसेस के लिए, सिंगुलर वैल्यू अपघटन का उपयोग करके स्थिति संख्या को मज़बूती से गणना की जा सकती है। KSPSolve()
मैट्रिक्स के साथ करो और साथ चलो -pc_type svd -pc_svd_monitor
।
बड़े मैट्रिसेस के लिए, आप क्रिलोव विधि का उपयोग करके स्थिति संख्या का अनुमान लगा सकते हैं। उदाहरण के लिए, GMRES द्वारा किया गया अर्नोल्डी पुनरावृत्ति हेसनबर्ग अपघटन की गणना करता है। हेसनबर्ग मैट्रिक्स के चरम एकवचन मूल्य और प्रतिजन मूल मैट्रिक्स के अच्छे सन्निकटन हैं। इस तरह से PETSc का अनुमान लगाने के लिए eigenvalues का उपयोग करें
-ksp_monitor_singular_value -ksp_type gmres -ksp_gmres_restart 1000 -pc_type none
-pc_type none
KSPSolve()
यदि आपको सबसे छोटी एकवचन मान (और अन्य सभी eigenvalue और एकवचन की समस्याओं के लिए) के अधिक सटीक अनुमानों की आवश्यकता है, तो SLEPc का उपयोग करें ।