我有一個nxn矩陣C
並使用inv
從numpy.linalg
取相反得到Cinverse
。我的C
矩陣具有訂單10**4
的元素,但我的Cinverse
矩陣具有訂單10**12
和更高的元素(不確定這是否正確)。當我做numpyp.dot(C,Cinverse)
時,我沒有得到身份矩陣。爲什麼是這樣?numpy/python中的矩陣求逆沒有給出正確的矩陣?
我有一個向量x,我自己乘以得到一個矩陣。
x=array([ 121.41191662, 74.22830468, 73.23156336, 75.48354975,
79.89580817])
c=np.outer(xvector,xvector)
這是一個5x5矩陣。
然後我通過
from numpy.linalg import inv
cinverse=inv(c)
得到它的反話,我想看看我是否能得到單位矩陣回來。
identity=np.dot(C00,C00inv)
但是,我沒有得到單位矩陣。 cinverse具有非常大的矩陣元素 大約10 ** 13和更高,而c具有大約10,000的矩陣元素。
請更具體一些。你能告訴我們你的輸入和輸出嗎?另外,你使用的是什麼代碼? –
你可以用隨機矩陣提供一些示例代碼來展示你正在嘗試做什麼嗎?這聽起來不對 - 當你說有10 ** 4號的元素時,這是否意味着那個元素的數量是數字的大小,即10000ish?啊,juanpa,打我吧;) – RexFuzzle
*「我沒有得到身份矩陣」* - 如何*關閉*是否對身份?由於舍入誤差,你不應該期望一個正好是1和0的矩陣。 –