mkl中dsytri求解矩陣的逆

2021-05-28 11:38:16 字數 741 閱讀 5200

mkl是intel提供的專門用來處理大型矩陣運算的乙個庫,比我們自己寫的函式基本都要快很多。

dsytri是用來求解對稱實矩陣的逆矩陣的函式。

在求解之前先使用dsytrf對矩陣進行分解,dsytrf通過lu分解將矩陣分解成上三角或下三角矩陣

下面是使用c++語言寫的乙個求解對稱矩陣逆舉證的函式。

matrx是要求解的矩陣。

matrix_rank是對稱矩陣的維數。

info是標誌,當函式求解成功時返回0值,加入返回非0值則求解的逆矩陣不正確。

"u"表示矩陣分解成上三角的形式。如果是"l"表示矩陣分解成下三角的形式。這裡需要注意的是dsytrf和dsytri必須使用統一的形式。

ivpv和work是求解過程中需要的兩個空間矩陣,一般為矩陣維數的大小。

求解之後的解存放在原來的矩陣matrix中,這裡需要注意的是:解的形式為上三角或者下三角的矩陣,所以求解完後還需要將矩陣進行對稱賦值,假如使用的是"u",則需要將上三角的值再賦值給下三角,假如使用的是"l",則需要將下三角的值賦值給上三角。這樣最後的matrix就是最後的解。

view plain

void

fda::inversematrix(

double

*matrix,

intmatrix_rank)  

delete ivpv;  

delete work;  

}  

分享到:

mkl中dsytri求解矩陣的逆

mkl是intel提供的專門用來處理大型矩陣運算的乙個庫,比我們自己寫的函式基本都要快很多。dsytri是用來求解對稱實矩陣的逆矩陣的函式。在求解之前先使用dsytrf對矩陣進行分解,dsytrf通過lu分解將矩陣分解成上三角或下三角矩陣 下面是使用c 語言寫的乙個求解對稱矩陣逆舉證的函式。matr...

opencv 求解Mat矩陣的逆矩陣

opencv中cv invert 可直接用來求解矩陣的逆矩陣 函式原型如下 double cv invert inputarray src,outputarray dst,int flags decomp lu parameters src 待求解的矩陣 dst 輸出的逆矩陣 flags 求解方法 ...

python sympy求解矩陣方程的方法

sympy版本 1.2 假設求解矩陣方程 ax a 2x 其中求解之前對矩陣方程化簡為 a 2e x a 令b a 2e 使用qtconsole輸入下面程式進行求解 in 26 from sympy import in 27 from sympy.abc import in 28 a matrix ...