繁体   English   中英

C++ Boost:复矩阵的行列式和求逆

[英]C++ Boost: determinant and inversion of complex matrix

你知道boost有没有计算复数矩阵的行列式和求逆的函数? 矩阵维数不大(小于 50)。

反演:输入:矩阵 M = A +i*B,其中 A、B 是两个维度为 (nxn) 且 n <50 的实数矩阵。

Output:

  • 反演:矩阵 N = C + i D 和 C,D 两个维度为 (nxn) 的实数矩阵使得:(A +i B)^T (C+ i*D) = I(I:单位矩阵)
  • 行列式: det(A+iB)

我用谷歌搜索但没有成功。

先感谢您。

最后我知道为什么这些关于矩阵的求逆和行列式的运算符没有实现。 这是因为我们从实矩阵上的经典算子中得到了这 2 个算子的封闭形式解。

对于矩阵求逆:我们有这个封闭形式的解决方案https://fr.mathworks.com/matlabcentral/fileexchange/49373-complex-matrix-inversion-by-real-matrix-inversion

对于矩阵行列式,我们有:

det((A+iB))= det (A * (I + i A1.B)) (A1是A的逆矩阵)
= det(A) * det (I + i A1.B))

= det(A) * det (U1 (I + iD) U2) (其中U1 = A1.B,U2是U1的逆矩阵,D是U1的对角矩阵)= det(A) *det(I + ID)。 I +iD 的行列式很容易计算出来,它是一个对角矩阵。

所以,det(A+iB) = det(A) * det(I +iD) 其中 D:(A^(-1) * B) 的特征值矩阵

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM