static bool isNumericallySound(const Matrix3d& E) { double Emax = E.cwiseAbs().sum(); double Esum = E.cwiseAbs().maxCoeff(); if (Esum < 1E-10) return false; Esum = Esum / Emax; // Eigen: Ecand.cwiseAbs().sum() / Ecand.lpNorm<Infinity>() return !std::isnan(Esum) && !std::isinf(Esum); }
int main(int, char**) { cout.precision(3); Matrix3d m = Matrix3d::Random(); cout << "Here is the matrix m:" << endl << m << endl; cout << "Here is the sum of each row:" << endl << m.rowwise().sum() << endl; cout << "Here is the maximum absolute value of each row:" << endl << m.cwiseAbs().rowwise().maxCoeff() << endl; return 0; }