अगर मैं SymPy पूछने के लिए विलक्षण मैट्रिक्सजब मैं प्रतीकात्मक मैट्रिक्स को पंक्ति-कम करता हूं तो SymPy मुझे गलत जवाब क्यों देता है?
nu = Symbol('nu')
lamb = Symbol('lambda')
A3 = Matrix([[-3*nu, 1, 0, 0],
[3*nu, -2*nu-1, 2, 0],
[0, 2*nu, (-1 * nu) - lamb - 2, 3],
[0, 0, nu + lamb, -3]])
print A3.rref()
तो यह रिटर्न पहचान मैट्रिक्स
(Matrix([
[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]]), [0, 1, 2, 3])
जो इसे नहीं करना चाहिए पंक्ति-कम करने, के बाद से मैट्रिक्स विलक्षण है। SymPy मुझे गलत जवाब क्यों दे रहा है और मुझे सही जवाब देने के लिए मैं इसे कैसे प्राप्त कर सकता हूं?
मैं जानता हूँ कि SymPy जानता मैट्रिक्स विलक्षण है, क्योंकि जब मैं A3.inv() के लिए पूछना है, यह इसके अलावा
raise ValueError("Matrix det == 0; not invertible.")
देता है, जब मैं मैट्रिक्स से भेड़ का बच्चा निकाल सकते हैं (स्थापित करने के बराबर भेड़ का बच्चा = 0)
(Matrix([
[1, 0, 0, -1/nu**3],
[0, 1, 0, -3/nu**2],
[0, 0, 1, -3/nu],
[0, 0, 0, 0]]), [0, 1, 2])
जो मुझे विश्वास है कि इस समस्या को केवल एक से अधिक चर के साथ होता है:, SymPy सही जवाब देता है।
संपादित करें: दिलचस्प बात यह है कि जब मैं rref() तर्क "सरलीकृत = सही" पास करता हूं तो मुझे सही जवाब मिल गया है। मुझे अभी भी पता नहीं है कि ऐसा क्यों है।
ध्यान दें कि यह अब SymPy के विकास संस्करण में सही ढंग से काम करता है। – moorepants