我正在使用Armadillo & C++和我试图找到一个矩阵的逆,但是,逆刚刚返回矩阵本身。Armadillo C++没有找到矩阵逆
在我看来,没有任何计算。此外,没有错误抛出。
我使用下面的头:
#include <armadillo>
using namespace std;
using namespace arma;
,我一直在使用犰狳几天,并通过正常工作的几个矩阵操作跑去。
输入:
mat A = randu<mat>(5,5);
A.print("A: ");
mat B = inv(A);
B.print("inv(A): ");
输出:
A:
0.0013 0.1741 0.9885 0.1662 0.8760
0.1933 0.7105 0.1191 0.4508 0.9559
0.5850 0.3040 0.0089 0.0571 0.5393
0.3503 0.0914 0.5317 0.7833 0.4621
0.8228 0.1473 0.6018 0.5199 0.8622
inv(A):
0.0013 0.1741 0.9885 0.1662 0.8760
0.1933 0.7105 0.1191 0.4508 0.9559
0.5850 0.3040 0.0089 0.0571 0.5393
0.3503 0.0914 0.5317 0.7833 0.4621
0.8228 0.1473 0.6018 0.5199 0.8622
Process finished with exit code 0
问:
为什么不INV(ofAMatrix)工作,任何提示或想法? 谢谢!
非常感谢您的回复! 1.我不知道MKL是什么。 2.我甚至没有发现错误,这不奇怪吗?它可能是一个链接器/编译器问题?或者我错过了一个图书馆?不幸的是,我确实需要反过来,我知道反向通常是一个瓶颈,谢谢! –
请使用[投票系统](https://stackoverflow.com/help/why-vote),而不是张贴“谢谢”。但无论如何,欢迎您:) –
MKL是英特尔对其处理器进行特殊优化的LAPACK库的实现。这可以给你一些加速。还有许多算法是使用OpenMP并行实现的,这为您提供了额外的速度。 –