コード例 #1
0
    void operator()(
    const Eigen::MatrixXf &A,
    const Eigen::MatrixXf &B,
    Eigen::MatrixXf &Transform){
        assert(A.rows() == B.rows());
        assert(A.cols() == numColumnElements);
        assert(B.cols() == numColumnElements);

        Transform.resize(numColumnElements, numColumnElements);
        /*
        Transform.col(0) = A.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(B.col(0));
        Transform.col(1) = A.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(B.col(1));
        Transform.col(2) = A.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(B.col(2));
        */
        Transform = A.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(B);
    }