में एकवचनता के कारण अवैध मैट्रिक्स ऑपरेशन को छोड़कर कैसे प्रयास करें, न्यूमप्पी में, मैं न्यूटन-रैफसन योजना के प्रत्येक चरण में मैट्रिक्स इनवर्क्स की गणना करने के लिए linalg
का उपयोग करने की कोशिश कर रहा हूं (समस्या का आकार जानबूझकर छोटा है ताकि हम विश्लेषणात्मक रूप से गणना हेसियन matrices उलटा कर सकते हैं)। हालांकि, जब मैं अभिसरण की ओर बहुत दूर जाता हूं, तो हेसियन एकवचन के करीब आता है।NumPy
क्या न्यूमपी के भीतर कोई तरीका है जो मुझे यह जांचने देता है कि मैट्रिक्स को एकवचन माना जाता है (कंप्यूटिंग निर्धारक पर्याप्त मजबूत नहीं है)? आदर्श रूप से, यह अच्छा होगा अगर try
except
ब्लॉक का उपयोग करने के लिए NumPy की एकवचन सरणी त्रुटि को पकड़ने का कोई तरीका है।
मैं यह कैसे करूँगा? टर्मिनल पर दिए गए NumPy त्रुटि है:
raise LinAlgError, 'Singular matrix'
numpy.linalg.linalg.LinAlgError: Singular matrix
धन्यवाद। यह उन सिर-स्लैपिंग "डी ओह" क्षणों में से एक है; मुझे एहसास नहीं हुआ कि हम सीधे 'छोड़कर' कथन में NumPy त्रुटियों का उपयोग कर सकते हैं। – ely
इसके अलावा, क्या यह 'सिंगुलर मैट्रिक्स' के लिए विशिष्ट बनाने और LinAlgError के किसी भी उदाहरण के लिए कोई तरीका नहीं है? – ely
ठीक है, आप पकड़े गए अपवाद को फिर से उठा सकते हैं यदि यह संदेश नहीं है .. मेरे उत्तर में नवीनतम संपादन देखें। यह करने का यह एक तरीका है, मुझे यकीन नहीं है कि शायद एक बेहतर तरीका है या नहीं। – wim