1
我想要計算一個矩陣的僞逆應該不是很困難。問題是顛倒矩陣。Python:計算僞逆矩陣的逆
我使用下面的代碼:
A=numpy.random.random_sample((4,5,))
A=mat(A)
B=pseudoinverse(A)
def pseudoinverse(A):
helper=A.T*A
print helper*helper.I
PI=helper.I*A.T
return PI`
測試這個我包括打印線。幫手*幫手。我應該團結一致。我從這裏得到的輸出是:
[[ 2. -1. 0. 0. 3. ]
[ 0. 2. 0. 0. 3.5 ]
[ 0. -0.5 1.125 -1. 2.25 ]
[ 2. 0. 0.25 -2. 3. ]
[ 0. 0. 0.5 -2. 4. ]]
這顯然不是統一。我不知道我做錯了什麼,真的很想知道。
感謝您與PINV尖端的方向。這工作正常。不過,我想讓我的功能運行。 我應該注意我的線性代數類。您的代碼無法正常工作,因爲您的乘積排名靠後。此外,我不想改變乘法的方向... 即使在你的代碼中,helper * helper也不是統一的。不要問我爲什麼 – Glostas
@Glostas當我嘗試'helper * helper.I'時,結果是統一的(參見編輯答案)。也許還有另一個隱藏在某個地方的問題? – kazemakase