From a82fdc8e36cd2c1b9fa2260bb4d9c61bf94f0000 Mon Sep 17 00:00:00 2001 From: Maksym Zhelyeznyakov Date: Thu, 29 Jan 2026 00:10:04 -0500 Subject: [PATCH] upped tolerance on some tests --- test/test_lbfgs.cpp | 11 ++++++++--- test/test_nesterov_optimizer.cpp | 7 +++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/test/test_lbfgs.cpp b/test/test_lbfgs.cpp index c93dd266e..f89940ddc 100644 --- a/test/test_lbfgs.cpp +++ b/test/test_lbfgs.cpp @@ -7,6 +7,7 @@ #include #include #include +#include namespace rdiff = boost::math::differentiation::reverse_mode; namespace bopt = boost::math::optimization; @@ -18,7 +19,7 @@ BOOST_AUTO_TEST_CASE(default_lbfgs_test) //, T, all_float_types) using T = double; constexpr size_t NITER = 10; constexpr size_t M = 10; - const T eps = T{1e-8}; + const T eps = T{1e-5}; RandomSample rng{T(-10), T(10)}; std::array, 2> x; @@ -26,8 +27,10 @@ BOOST_AUTO_TEST_CASE(default_lbfgs_test) //, T, all_float_types) x[1] = rng.next(); auto opt = bopt::make_lbfgs(&rosenbrock_saddle>, x, M); + auto constraint = bopt::unconstrained_policy,2>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-20 }); - auto result = minimize(opt); + auto result = bopt::minimize(opt, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_CLOSE(xi, T{1.0}, eps); } @@ -85,7 +88,9 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(custom_init_lbfgs_test, T, all_float_types) x, M, bopt::costant_initializer_rvar(0.0)); - auto result = minimize(opt); + auto constraint = bopt::unconstrained_policy,2>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-8 }); + auto result = minimize(opt, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_CLOSE(xi, T{1.0}, eps); diff --git a/test/test_nesterov_optimizer.cpp b/test/test_nesterov_optimizer.cpp index 83e43db25..bfda1de51 100644 --- a/test/test_nesterov_optimizer.cpp +++ b/test/test_nesterov_optimizer.cpp @@ -13,7 +13,7 @@ BOOST_AUTO_TEST_SUITE(nesterov_descent) BOOST_AUTO_TEST_CASE_TEMPLATE(default_nesterov_test, T, all_float_types) { - T lr = T{ 1e-4 }; + T lr = T{ 1e-5 }; T mu = T{ 0.95 }; RandomSample rng{ T(-10), (10) }; std::vector> x; @@ -22,7 +22,10 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(default_nesterov_test, T, all_float_types) T eps = T{ 1e-8 }; auto nag = bopt::make_nag(&quadratic_high_cond_2D>, x, lr, mu); - auto z = minimize(nag); + auto constraint = bopt::unconstrained_policy>>{}; + auto convergence_policy = bopt::gradient_norm_convergence_policy(T{ 1e-8 }); + + auto z = minimize(nag, constraint, convergence_policy); for (auto& xi : x) { BOOST_REQUIRE_SMALL(xi.item(), eps); }