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); }