第一题:熟悉Eigen矩阵运算

- r(A)=n:矩阵A的秩等于未知数的个数。
- ⾼斯消元法:通过用初等行变换将增广矩阵化为行阶梯阵,然后通过回代求解线性方程组的解。原理是将方程组中每个方程含有的未知数的个数降到最低,并且最下面的方程含有的未知数的个数最少。
- QR分解:把矩阵分解成一个列向量正交矩阵与一个上三角矩阵的积。原理是将矩阵每个列作为一个基本单元,将其化为正交的基向量与在这个基向量上的投影长度的积。参考了这个博主(传送门)
- Cholesky 分解:将一个对称正定矩阵分解成一个下三角矩阵与其共轭转置之乘积。
- 代码如下:
#include <iostream>
#include <ctime>
#include <Eigen/Core>
#include <Eigen/Dense>
#define MATRIX_SIZE 10
using namespace std;
int main() {
std::cout << "Hello, World!" << std::endl;
Eigen::MatrixXd matrix_A = Eigen::MatrixXd::Random(MATRIX_SIZE,MATRIX_SIZE);
Eigen::MatrixXd matrix_x = Eigen::MatrixXd::Random(MATRIX_SIZE,1);
Eigen::MatrixXd matrix_b = Eigen::MatrixXd::Random(MATRIX_SIZE,1);