我正在使用armadillo库进行一些非常基本的矩阵运算。所以我有一个3x5的矩阵,我想进行LU分解。
#include "myIncludes.hpp"
#include <armadillo>
using namespace std;
using namespace arma;
int main()
{
mat L, U;
mat A(3, 5); A = "1 1 1 0 0; 1 1 1 0 0; 2 1 2 0 1";
arma::lu(L,U,A);
return 0;
}
当我运行这段代码时,它返回:警告: lu():分解失败。然而,matlab确实可以分解这个矩阵。
armadillo被广泛使用和测试了吗,或者我应该小心使用它?
发布于 2016-07-15 07:21:08
我检查了源代码,它似乎依赖于部分旋转,这是已知的稳定,只有正方形可逆矩阵。
我的矩阵不是正方形的,所以我退出了。
来源:Eigen library documentation
https://stackoverflow.com/questions/38384386
复制相似问题