我正在使用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並行實現的,這爲您提供了額外的速度。 –