我的朋友和我在Python 2
和Python 3
執行的代碼這一行:NumPy的反轉不可逆矩陣
import numpy as np
mat = np.array([[1,0,0],[-1,3,3],[1,2,2]])
np.linalg.inv(mat)
將返回:
array([[ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],
[ 1.50119988e+16, 6.00479950e+15, -9.00719925e+15],
[ -1.50119988e+16, -6.00479950e+15, 9.00719925e+15]])
這是奇怪給出:
np.linalg.matrix_rank(mat)
返回2
,因此表明該矩陣是不是可逆的。
我從這個線程瞭解到,可能是由於numpy和python處理浮點數的方式,儘管我的矩陣由整數組成。
mat
爲什麼會破壞numpy的逆向實現嗎?
請澄清不工作:你的意思是「矩陣是_invertible_」或「矩陣不是_invertible_」? – DyZ