#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
Matrix4d A; // 4x4矩阵A
Matrix4d B; // 4x4矩阵B
Matrix4d X; // 4x4矩阵X,存储方程组的解
// 初始化矩阵A和矩阵B
A << 1, 2, 3, 4,
2, 5, 7, 8,
3, 7, 9, 1,
2, 3, 1, 4;
B << 3, 4, 5, 6,
1, 2, 3, 4,
5, 6, 7, 8,
9, 0, 1, 2;
// 求解方程组Ax=B
X = A.colPivHouseholderQr().solve(B);
// 输出解矩阵X
std::cout << "The solution is:\n" << X << std::endl;
return 0;
}
在上述代码中,我们使用了与上一个问题中类似的方式来定义矩阵A、矩阵B和矩阵X,并初始化了它们的值。接着,我们使用A.colPivHouseholderQr().solve(B)
语句求解方程组Ax=B,该语句返回的是解矩阵X,我们将其输出即可。
需要注意的是,在使用Eigen库求解矩阵的线性方程组时,我们仍然可以使用colPivHouseholderQr()
方法进行求解。此时,返回的解矩阵X的类型仍然是Eigen库中的Matrix
类型,它可以进行各种矩阵运算和数值计算。