Lines Matching refs:lm

178   LevenbergMarquardt<lmder_functor> lm(functor);
179 info = lm.lmder1(x);
183 VERIFY_IS_EQUAL(lm.nfev, 6);
184 VERIFY_IS_EQUAL(lm.njev, 5);
187 VERIFY_IS_APPROX(lm.fvec.blueNorm(), 0.09063596);
207 LevenbergMarquardt<lmder_functor> lm(functor);
208 info = lm.minimize(x);
212 VERIFY_IS_EQUAL(lm.nfev, 6);
213 VERIFY_IS_EQUAL(lm.njev, 5);
216 fnorm = lm.fvec.blueNorm();
226 internal::covar(lm.fjac, lm.permutation.indices()); // TODO : move this as a function of lm
237 cov = covfac*lm.fjac.topLeftCorner<n,n>();
483 LevenbergMarquardt<lmstr_functor> lm(functor);
484 info = lm.lmstr1(x);
488 VERIFY_IS_EQUAL(lm.nfev, 6);
489 VERIFY_IS_EQUAL(lm.njev, 5);
492 VERIFY_IS_APPROX(lm.fvec.blueNorm(), 0.09063596);
512 LevenbergMarquardt<lmstr_functor> lm(functor);
513 info = lm.minimizeOptimumStorage(x);
517 VERIFY_IS_EQUAL(lm.nfev, 6);
518 VERIFY_IS_EQUAL(lm.njev, 5);
521 fnorm = lm.fvec.blueNorm();
599 LevenbergMarquardt<NumericalDiff<lmdif_functor> > lm(numDiff);
600 info = lm.minimize(x);
604 VERIFY_IS_EQUAL(lm.nfev, 26);
607 fnorm = lm.fvec.blueNorm();
617 internal::covar(lm.fjac, lm.permutation.indices()); // TODO : move this as a function of lm
628 cov = covfac*lm.fjac.topLeftCorner<n,n>();
684 LevenbergMarquardt<chwirut2_functor> lm(functor);
685 info = lm.minimize(x);
689 VERIFY_IS_EQUAL(lm.nfev, 10);
690 VERIFY_IS_EQUAL(lm.njev, 8);
692 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.1304802941E+02);
703 lm.resetParameters();
704 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
705 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
706 info = lm.minimize(x);
710 VERIFY_IS_EQUAL(lm.nfev, 7);
711 VERIFY_IS_EQUAL(lm.njev, 6);
713 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.1304802941E+02);
764 LevenbergMarquardt<misra1a_functor> lm(functor);
765 info = lm.minimize(x);
769 VERIFY_IS_EQUAL(lm.nfev, 19);
770 VERIFY_IS_EQUAL(lm.njev, 15);
772 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.2455138894E-01);
782 info = lm.minimize(x);
786 VERIFY_IS_EQUAL(lm.nfev, 5);
787 VERIFY_IS_EQUAL(lm.njev, 4);
789 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.2455138894E-01);
854 LevenbergMarquardt<hahn1_functor> lm(functor);
855 info = lm.minimize(x);
859 VERIFY_IS_EQUAL(lm.nfev, 11);
860 VERIFY_IS_EQUAL(lm.njev, 10);
862 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.5324382854E+00);
877 info = lm.minimize(x);
881 VERIFY_IS_EQUAL(lm.nfev, 11);
882 VERIFY_IS_EQUAL(lm.njev, 10);
884 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.5324382854E+00);
940 LevenbergMarquardt<misra1d_functor> lm(functor);
941 info = lm.minimize(x);
945 VERIFY_IS_EQUAL(lm.nfev, 9);
946 VERIFY_IS_EQUAL(lm.njev, 7);
948 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6419295283E-02);
958 info = lm.minimize(x);
962 VERIFY_IS_EQUAL(lm.nfev, 4);
963 VERIFY_IS_EQUAL(lm.njev, 3);
965 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6419295283E-02);
1018 LevenbergMarquardt<lanczos1_functor> lm(functor);
1019 info = lm.minimize(x);
1023 VERIFY_IS_EQUAL(lm.nfev, 79);
1024 VERIFY_IS_EQUAL(lm.njev, 72);
1027 std::cout << lm.fvec.squaredNorm() << "\n";
1028 VERIFY(lm.fvec.squaredNorm() <= 1.4307867721E-25);
1042 info = lm.minimize(x);
1046 VERIFY_IS_EQUAL(lm.nfev, 9);
1047 VERIFY_IS_EQUAL(lm.njev, 8);
1049 VERIFY(lm.fvec.squaredNorm() <= 1.4307867721E-25);
1106 LevenbergMarquardt<rat42_functor> lm(functor);
1107 info = lm.minimize(x);
1111 VERIFY_IS_EQUAL(lm.nfev, 10);
1112 VERIFY_IS_EQUAL(lm.njev, 8);
1114 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.0565229338E+00);
1125 info = lm.minimize(x);
1129 VERIFY_IS_EQUAL(lm.nfev, 6);
1130 VERIFY_IS_EQUAL(lm.njev, 5);
1132 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.0565229338E+00);
1184 LevenbergMarquardt<MGH10_functor> lm(functor);
1185 info = lm.minimize(x);
1189 VERIFY_IS_EQUAL(lm.nfev, 284 );
1190 VERIFY_IS_EQUAL(lm.njev, 249 );
1192 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7945855171E+01);
1203 info = lm.minimize(x);
1207 VERIFY_IS_EQUAL(lm.nfev, 126);
1208 VERIFY_IS_EQUAL(lm.njev, 116);
1210 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7945855171E+01);
1260 LevenbergMarquardt<BoxBOD_functor> lm(functor);
1261 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
1262 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
1263 lm.parameters.factor = 10.;
1264 info = lm.minimize(x);
1268 VERIFY(lm.nfev < 31); // 31
1269 VERIFY(lm.njev < 25); // 25
1271 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.1680088766E+03);
1281 lm.resetParameters();
1282 lm.parameters.ftol = NumTraits<double>::epsilon();
1283 lm.parameters.xtol = NumTraits<double>::epsilon();
1284 info = lm.minimize(x);
1288 VERIFY_IS_EQUAL(lm.nfev, 15 );
1289 VERIFY_IS_EQUAL(lm.njev, 14 );
1291 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.1680088766E+03);
1342 LevenbergMarquardt<MGH17_functor> lm(functor);
1343 lm.parameters.ftol = NumTraits<double>::epsilon();
1344 lm.parameters.xtol = NumTraits<double>::epsilon();
1345 lm.parameters.maxfev = 1000;
1346 info = lm.minimize(x);
1349 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.4648946975E-05);
1360 VERIFY_IS_EQUAL(lm.nfev, 602); // 602
1361 VERIFY_IS_EQUAL(lm.njev, 545); // 545
1363 VERIFY(lm.nfev < 602 * LM_EVAL_COUNT_TOL);
1364 VERIFY(lm.njev < 545 * LM_EVAL_COUNT_TOL);
1371 lm.resetParameters();
1372 info = lm.minimize(x);
1376 VERIFY_IS_EQUAL(lm.nfev, 18);
1377 VERIFY_IS_EQUAL(lm.njev, 15);
1379 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.4648946975E-05);
1436 LevenbergMarquardt<MGH09_functor> lm(functor);
1437 lm.parameters.maxfev = 1000;
1438 info = lm.minimize(x);
1442 VERIFY_IS_EQUAL(lm.nfev, 490 );
1443 VERIFY_IS_EQUAL(lm.njev, 376 );
1445 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 3.0750560385E-04);
1457 lm.resetParameters();
1458 info = lm.minimize(x);
1462 VERIFY_IS_EQUAL(lm.nfev, 18);
1463 VERIFY_IS_EQUAL(lm.njev, 16);
1465 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 3.0750560385E-04);
1522 LevenbergMarquardt<Bennett5_functor> lm(functor);
1523 lm.parameters.maxfev = 1000;
1524 info = lm.minimize(x);
1528 VERIFY_IS_EQUAL(lm.nfev, 758);
1529 VERIFY_IS_EQUAL(lm.njev, 744);
1531 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.2404744073E-04);
1541 lm.resetParameters();
1542 info = lm.minimize(x);
1546 VERIFY_IS_EQUAL(lm.nfev, 203);
1547 VERIFY_IS_EQUAL(lm.njev, 192);
1549 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.2404744073E-04);
1609 LevenbergMarquardt<thurber_functor> lm(functor);
1610 lm.parameters.ftol = 1.E4*NumTraits<double>::epsilon();
1611 lm.parameters.xtol = 1.E4*NumTraits<double>::epsilon();
1612 info = lm.minimize(x);
1616 VERIFY_IS_EQUAL(lm.nfev, 39);
1617 VERIFY_IS_EQUAL(lm.njev, 36);
1619 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6427082397E+03);
1634 lm.resetParameters();
1635 lm.parameters.ftol = 1.E4*NumTraits<double>::epsilon();
1636 lm.parameters.xtol = 1.E4*NumTraits<double>::epsilon();
1637 info = lm.minimize(x);
1641 VERIFY_IS_EQUAL(lm.nfev, 29);
1642 VERIFY_IS_EQUAL(lm.njev, 28);
1644 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6427082397E+03);
1701 LevenbergMarquardt<rat43_functor> lm(functor);
1702 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
1703 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
1704 info = lm.minimize(x);
1708 VERIFY_IS_EQUAL(lm.nfev, 27);
1709 VERIFY_IS_EQUAL(lm.njev, 20);
1711 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7864049080E+03);
1723 lm.resetParameters();
1724 lm.parameters.ftol = 1.E5*NumTraits<double>::epsilon();
1725 lm.parameters.xtol = 1.E5*NumTraits<double>::epsilon();
1726 info = lm.minimize(x);
1730 VERIFY_IS_EQUAL(lm.nfev, 9);
1731 VERIFY_IS_EQUAL(lm.njev, 8);
1733 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7864049080E+03);
1788 LevenbergMarquardt<eckerle4_functor> lm(functor);
1789 info = lm.minimize(x);
1793 VERIFY_IS_EQUAL(lm.nfev, 18);
1794 VERIFY_IS_EQUAL(lm.njev, 15);
1796 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.4635887487E-03);
1807 info = lm.minimize(x);
1811 VERIFY_IS_EQUAL(lm.nfev, 7);
1812 VERIFY_IS_EQUAL(lm.njev, 6);
1814 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.4635887487E-03);
1859 printf("info, nfev : %d, %d\n", info, lm.nfev);
1867 printf("fvec.blueNorm() : %.32g\n", lm.fvec.blueNorm());
1869 printf("info, nfev, njev : %d, %d, %d\n", info, lm.nfev, lm.njev);
1870 printf("fvec.squaredNorm() : %.13g\n", lm.fvec.squaredNorm());