1
我使用Armadillo C++庫來求解中/大尺寸線性系統(1000-5000方程)。Armadillo C++ LU分解
由於我必須解決不同的線性系統
AX = B
其中A始終是相同的和B的變化,我想LU因式分解甲只有一次,重複使用與不同的LU分解灣不幸的是,我不知道如何在犰狳中執行這種操作。
我所做的只是A矩陣的LU分解:
但現在我想用矩陣P,L和U來解決不同硼載體幾個線性系統。
請問您能幫我嗎?
我使用Armadillo C++庫來求解中/大尺寸線性系統(1000-5000方程)。Armadillo C++ LU分解
由於我必須解決不同的線性系統
AX = B
其中A始終是相同的和B的變化,我想LU因式分解甲只有一次,重複使用與不同的LU分解灣不幸的是,我不知道如何在犰狳中執行這種操作。
我所做的只是A矩陣的LU分解:
但現在我想用矩陣P,L和U來解決不同硼載體幾個線性系統。
請問您能幫我嗎?
由於A = P.t()*L*U
(其中平等只是近似的,由於舍入誤差),在P.t()*L*U*x = b
求解x
要求置換的B
行和執行前進和後退替代:
x = solve(trimatu(U), solve(trimatl(L), P*b));
由於缺乏一個真正的犰狳中的三角解算器以及執行行置換的快速方法,就直接調用相關的計算LAPACK子例程而言,此過程效率不高。
一般建議是避免在更高級別的庫中顯式LU分解,如犰狳。
也許你可以告訴我們你已經試過了嗎?也許你可以編輯你的問題來包含你的嘗試的[SSCCE](http://sscce.org/)? –
感謝Joachim,我加了我試過的... –