Lines Matching refs:lm

175   LevenbergMarquardt<lmder_functor> lm(functor);
176 info = lm.lmder1(x);
180 VERIFY_IS_EQUAL(lm.nfev, 6);
181 VERIFY_IS_EQUAL(lm.njev, 5);
184 VERIFY_IS_APPROX(lm.fvec.blueNorm(), 0.09063596);
204 LevenbergMarquardt<lmder_functor> lm(functor);
205 info = lm.minimize(x);
209 VERIFY_IS_EQUAL(lm.nfev, 6);
210 VERIFY_IS_EQUAL(lm.njev, 5);
213 fnorm = lm.fvec.blueNorm();
223 internal::covar(lm.fjac, lm.permutation.indices()); // TODO : move this as a function of lm
234 cov = covfac*lm.fjac.topLeftCorner<n,n>();
480 LevenbergMarquardt<lmstr_functor> lm(functor);
481 info = lm.lmstr1(x);
485 VERIFY_IS_EQUAL(lm.nfev, 6);
486 VERIFY_IS_EQUAL(lm.njev, 5);
489 VERIFY_IS_APPROX(lm.fvec.blueNorm(), 0.09063596);
509 LevenbergMarquardt<lmstr_functor> lm(functor);
510 info = lm.minimizeOptimumStorage(x);
514 VERIFY_IS_EQUAL(lm.nfev, 6);
515 VERIFY_IS_EQUAL(lm.njev, 5);
518 fnorm = lm.fvec.blueNorm();
596 LevenbergMarquardt<NumericalDiff<lmdif_functor> > lm(numDiff);
597 info = lm.minimize(x);
601 VERIFY_IS_EQUAL(lm.nfev, 26);
604 fnorm = lm.fvec.blueNorm();
614 internal::covar(lm.fjac, lm.permutation.indices()); // TODO : move this as a function of lm
625 cov = covfac*lm.fjac.topLeftCorner<n,n>();
681 LevenbergMarquardt<chwirut2_functor> lm(functor);
682 info = lm.minimize(x);
686 VERIFY_IS_EQUAL(lm.nfev, 10);
687 VERIFY_IS_EQUAL(lm.njev, 8);
689 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.1304802941E+02);
700 lm.resetParameters();
701 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
702 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
703 info = lm.minimize(x);
707 VERIFY_IS_EQUAL(lm.nfev, 7);
708 VERIFY_IS_EQUAL(lm.njev, 6);
710 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.1304802941E+02);
761 LevenbergMarquardt<misra1a_functor> lm(functor);
762 info = lm.minimize(x);
766 VERIFY_IS_EQUAL(lm.nfev, 19);
767 VERIFY_IS_EQUAL(lm.njev, 15);
769 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.2455138894E-01);
779 info = lm.minimize(x);
783 VERIFY_IS_EQUAL(lm.nfev, 5);
784 VERIFY_IS_EQUAL(lm.njev, 4);
786 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.2455138894E-01);
847 LevenbergMarquardt<hahn1_functor> lm(functor);
848 info = lm.minimize(x);
852 VERIFY_IS_EQUAL(lm.nfev, 11);
853 VERIFY_IS_EQUAL(lm.njev, 10);
855 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.5324382854E+00);
870 info = lm.minimize(x);
874 VERIFY_IS_EQUAL(lm.nfev, 11);
875 VERIFY_IS_EQUAL(lm.njev, 10);
877 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.5324382854E+00);
933 LevenbergMarquardt<misra1d_functor> lm(functor);
934 info = lm.minimize(x);
938 VERIFY_IS_EQUAL(lm.nfev, 9);
939 VERIFY_IS_EQUAL(lm.njev, 7);
941 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6419295283E-02);
951 info = lm.minimize(x);
955 VERIFY_IS_EQUAL(lm.nfev, 4);
956 VERIFY_IS_EQUAL(lm.njev, 3);
958 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6419295283E-02);
1011 LevenbergMarquardt<lanczos1_functor> lm(functor);
1012 info = lm.minimize(x);
1016 VERIFY_IS_EQUAL(lm.nfev, 79);
1017 VERIFY_IS_EQUAL(lm.njev, 72);
1019 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.430899764097e-25); // should be 1.4307867721E-25, but nist results are on 128-bit floats
1033 info = lm.minimize(x);
1037 VERIFY_IS_EQUAL(lm.nfev, 9);
1038 VERIFY_IS_EQUAL(lm.njev, 8);
1040 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.428595533845e-25); // should be 1.4307867721E-25, but nist results are on 128-bit floats
1097 LevenbergMarquardt<rat42_functor> lm(functor);
1098 info = lm.minimize(x);
1102 VERIFY_IS_EQUAL(lm.nfev, 10);
1103 VERIFY_IS_EQUAL(lm.njev, 8);
1105 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.0565229338E+00);
1116 info = lm.minimize(x);
1120 VERIFY_IS_EQUAL(lm.nfev, 6);
1121 VERIFY_IS_EQUAL(lm.njev, 5);
1123 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.0565229338E+00);
1175 LevenbergMarquardt<MGH10_functor> lm(functor);
1176 info = lm.minimize(x);
1180 VERIFY_IS_EQUAL(lm.nfev, 284 );
1181 VERIFY_IS_EQUAL(lm.njev, 249 );
1183 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7945855171E+01);
1194 info = lm.minimize(x);
1198 VERIFY_IS_EQUAL(lm.nfev, 126);
1199 VERIFY_IS_EQUAL(lm.njev, 116);
1201 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7945855171E+01);
1251 LevenbergMarquardt<BoxBOD_functor> lm(functor);
1252 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
1253 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
1254 lm.parameters.factor = 10.;
1255 info = lm.minimize(x);
1259 VERIFY_IS_EQUAL(lm.nfev, 31);
1260 VERIFY_IS_EQUAL(lm.njev, 25);
1262 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.1680088766E+03);
1272 lm.resetParameters();
1273 lm.parameters.ftol = NumTraits<double>::epsilon();
1274 lm.parameters.xtol = NumTraits<double>::epsilon();
1275 info = lm.minimize(x);
1279 VERIFY_IS_EQUAL(lm.nfev, 15 );
1280 VERIFY_IS_EQUAL(lm.njev, 14 );
1282 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.1680088766E+03);
1333 LevenbergMarquardt<MGH17_functor> lm(functor);
1334 lm.parameters.ftol = NumTraits<double>::epsilon();
1335 lm.parameters.xtol = NumTraits<double>::epsilon();
1336 lm.parameters.maxfev = 1000;
1337 info = lm.minimize(x);
1341 VERIFY_IS_EQUAL(lm.nfev, 602 );
1342 VERIFY_IS_EQUAL(lm.njev, 545 );
1344 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.4648946975E-05);
1357 lm.resetParameters();
1358 info = lm.minimize(x);
1362 VERIFY_IS_EQUAL(lm.nfev, 18);
1363 VERIFY_IS_EQUAL(lm.njev, 15);
1365 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.4648946975E-05);
1422 LevenbergMarquardt<MGH09_functor> lm(functor);
1423 lm.parameters.maxfev = 1000;
1424 info = lm.minimize(x);
1428 VERIFY_IS_EQUAL(lm.nfev, 490 );
1429 VERIFY_IS_EQUAL(lm.njev, 376 );
1431 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 3.0750560385E-04);
1443 lm.resetParameters();
1444 info = lm.minimize(x);
1448 VERIFY_IS_EQUAL(lm.nfev, 18);
1449 VERIFY_IS_EQUAL(lm.njev, 16);
1451 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 3.0750560385E-04);
1505 LevenbergMarquardt<Bennett5_functor> lm(functor);
1506 lm.parameters.maxfev = 1000;
1507 info = lm.minimize(x);
1511 VERIFY_IS_EQUAL(lm.nfev, 758);
1512 VERIFY_IS_EQUAL(lm.njev, 744);
1514 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.2404744073E-04);
1524 lm.resetParameters();
1525 info = lm.minimize(x);
1529 VERIFY_IS_EQUAL(lm.nfev, 203);
1530 VERIFY_IS_EQUAL(lm.njev, 192);
1532 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.2404744073E-04);
1592 LevenbergMarquardt<thurber_functor> lm(functor);
1593 lm.parameters.ftol = 1.E4*NumTraits<double>::epsilon();
1594 lm.parameters.xtol = 1.E4*NumTraits<double>::epsilon();
1595 info = lm.minimize(x);
1599 VERIFY_IS_EQUAL(lm.nfev, 39);
1600 VERIFY_IS_EQUAL(lm.njev, 36);
1602 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6427082397E+03);
1617 lm.resetParameters();
1618 lm.parameters.ftol = 1.E4*NumTraits<double>::epsilon();
1619 lm.parameters.xtol = 1.E4*NumTraits<double>::epsilon();
1620 info = lm.minimize(x);
1624 VERIFY_IS_EQUAL(lm.nfev, 29);
1625 VERIFY_IS_EQUAL(lm.njev, 28);
1627 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 5.6427082397E+03);
1684 LevenbergMarquardt<rat43_functor> lm(functor);
1685 lm.parameters.ftol = 1.E6*NumTraits<double>::epsilon();
1686 lm.parameters.xtol = 1.E6*NumTraits<double>::epsilon();
1687 info = lm.minimize(x);
1691 VERIFY_IS_EQUAL(lm.nfev, 27);
1692 VERIFY_IS_EQUAL(lm.njev, 20);
1694 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7864049080E+03);
1706 lm.resetParameters();
1707 lm.parameters.ftol = 1.E5*NumTraits<double>::epsilon();
1708 lm.parameters.xtol = 1.E5*NumTraits<double>::epsilon();
1709 info = lm.minimize(x);
1713 VERIFY_IS_EQUAL(lm.nfev, 9);
1714 VERIFY_IS_EQUAL(lm.njev, 8);
1716 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 8.7864049080E+03);
1771 LevenbergMarquardt<eckerle4_functor> lm(functor);
1772 info = lm.minimize(x);
1776 VERIFY_IS_EQUAL(lm.nfev, 18);
1777 VERIFY_IS_EQUAL(lm.njev, 15);
1779 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.4635887487E-03);
1790 info = lm.minimize(x);
1794 VERIFY_IS_EQUAL(lm.nfev, 7);
1795 VERIFY_IS_EQUAL(lm.njev, 6);
1797 VERIFY_IS_APPROX(lm.fvec.squaredNorm(), 1.4635887487E-03);
1842 printf("info, nfev : %d, %d\n", info, lm.nfev);
1850 printf("fvec.blueNorm() : %.32g\n", lm.fvec.blueNorm());
1852 printf("info, nfev, njev : %d, %d, %d\n", info, lm.nfev, lm.njev);
1853 printf("fvec.squaredNorm() : %.13g\n", lm.fvec.squaredNorm());