Eigen PartialPivLu 解线性方程组 LU分解复用

    技术2023-10-09  98

    #include <Eigen/Dense>

    // A X1 = B, A X2 = C

    Eigen::Matrix4cd A = Eigen::Random(4,4);

    Eigen::Matrix4cd B = Eigen::Random(4,4);

    Eigen::Matrix4cd C = Eigen::Random(4,4);

    Eigen::PartialPivLu<Eigen::Matrix4cd> ALU(A); // A的LU分解

     

    Eigen::MatrixXcd X1 = ALU.solve(B);

    Eigen::MatrixXcd X2 = ALU.solve(C);

    而不用Eigen::MatrixXcd X1 = A.partialPivLu().solve(B); Eigen::MatrixXcd X2 = A.partialPivLu().solve(C);

    感谢道哥提醒

     

    Processed: 0.008, SQL: 9