diff --git a/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h b/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h index 6022ce363..bdca46cd4 100644 --- a/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h +++ b/unsupported/Eigen/src/NonLinear/HybridNonLinearSolver.h @@ -113,6 +113,7 @@ HybridNonLinearSolver::solve( fvec.resize(n); if (mode != 2) diag.resize(n); + assert( (mode!=2 || diag.size()==n) || "When using mode==2, the caller must provide a valid 'diag'"); /* Local variables */ int i, j, l, iwa[1]; @@ -433,6 +434,7 @@ HybridNonLinearSolver::solveNumericalDiff( fvec.resize(n); if (mode != 2) diag.resize(n); + assert( (mode!=2 || diag.size()==n) || "When using mode==2, the caller must provide a valid 'diag'"); /* Local variables */ int i, j, l, iwa[1]; diff --git a/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h b/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h index 35b6e3ee2..96a90810e 100644 --- a/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h +++ b/unsupported/Eigen/src/NonLinear/LevenbergMarquardt.h @@ -132,6 +132,7 @@ LevenbergMarquardt::minimize( fjac.resize(m, n); if (mode != 2) diag.resize(n); + assert( (mode!=2 || diag.size()==n) || "When using mode==2, the caller must provide a valid 'diag'"); qtf.resize(n); /* Local variables */ @@ -410,6 +411,7 @@ LevenbergMarquardt::minimizeNumericalDiff( fjac.resize(m, n); if (mode != 2 ) diag.resize(n); + assert( (mode!=2 || diag.size()==n) || "When using mode==2, the caller must provide a valid 'diag'"); qtf.resize(n); /* Local variables */ @@ -688,6 +690,7 @@ LevenbergMarquardt::minimizeOptimumStorage( fjac.resize(m, n); if (mode != 2) diag.resize(n); + assert( (mode!=2 || diag.size()==n) || "When using mode==2, the caller must provide a valid 'diag'"); qtf.resize(n); /* Local variables */