#include <iostream>
#include <Eigen/Dense>
int main() {
// 定义矩阵A
Eigen::MatrixXd A(3, 3);
A << 1, 2, 3,
4, 5, 6,
7, 8, 9;
// 使用SVD分解求解AX=0
Eigen::JacobiSVD<Eigen::MatrixXd> svd(A, Eigen::ComputeFullU | Eigen::ComputeFullV);
// 得到矩阵A的零空间
Eigen::MatrixXd nullspace = svd.matrixV().rightCols(A.cols() - svd.rank());
std::cout << "Nullspace of A:\n" << nullspace << std::endl;
return 0;
}