我到處尋找這個東西,但是我錯了某處。在我的Java程序中,我創建了幾個2D數組。現在,我需要形成新的二維數組,其中包括以前的,反轉的,轉置的,乘法的,左分的,甚至更多的。他們中的一些人(簡單)我創造了自己,但是留下了師,右師,反而我沒有。Java中的矩陣操作
通過使用像Jama一樣的庫,會出現一些問題。
java.lang.RuntimeException: Matrix is rank deficient.
我這樣的代碼是:
Matrix Am=new Matrix(A);
Am=Am.inverse();
A
是二維數組(MXN)和Am
是2DArray A.創建新的矩陣
我想這樣做是爲了得到左除,但我不能先解矩陣求逆。
我的錯誤在哪裏?是否有人知道另一個庫從2DArray轉換爲Matrix,然後使用更復雜的矩陣運算(left div,inv ...)?
編輯
我用這個矩陣求逆得到A \ P(可以計算爲逆(A)* P,因爲我看到的地方)。你知道如何與賈馬得到A \ P嗎?這是我的主要問題,左派。
那麼好。我在這個矩陣上使用逆來得到A \ P(可以像我在某處看到的那樣計算爲逆(A)* P)。 你知道如何與賈馬得到A \ P嗎? – Aleksandar
通常情況下,你沒有。你所做的是解決一個線性系統。即,二次矩陣A被分解爲PLU或QR,並且該分解用於求解AX = P。如果計算A = QR,那麼這些步驟將乘以Q^T * P,然後對三角形因子應用回代。 - 這一切都假定A是二次的,規則的和有條件的。違反任何這些條件將阻止或中止計算。 – LutzL
好的,明白了。我會嘗試另一種方式來解決問題,而不使用這個公式...謝謝。 – Aleksandar