Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kthohr committed Sep 6, 2020
1 parent 1c6f30b commit 0fc0de5
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 32 deletions.
15 changes: 9 additions & 6 deletions tests/misc/error_reporting.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,25 @@

#include "optim.hpp"

double optim_simple_fn_1(const optim::Vec_t& vals_inp, optim::Vec_t* grad_out, void* opt_data)
double
optim_simple_fn_1(const optim::Vec_t& vals_inp, optim::Vec_t* grad_out, void* opt_data)
{
return 1.0;
}

optim::Vec_t optim_simple_fn_2(const optim::Vec_t& vals_inp, void* opt_data)
optim::Vec_t
optim_simple_fn_2(const optim::Vec_t& vals_inp, void* opt_data)
{
int n = vals_inp.n_elem;
return arma::zeros(n,1);
int n = OPTIM_MATOPS_SIZE(vals_inp);
optim::Vec_t ret_vec = OPTIM_MATOPS_ZERO_VEC(n);
return ret_vec;
}

int main()
{

optim::Vec_t out_vals = arma::ones(2,1);
optim::Vec_t x_p = arma::ones(2,1);
optim::Vec_t out_vals = OPTIM_MATOPS_ONE_VEC(2);
optim::Vec_t x_p = OPTIM_MATOPS_ONE_VEC(2);

bool success = false;

Expand Down
10 changes: 5 additions & 5 deletions tests/misc/jacobian_adjust.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ int main()
optim::Vec_t lb(n_vals);
lb(0) = 0;
lb(1) = 0;
lb(2) = -arma::datum::inf;
lb(3) = -arma::datum::inf;
lb(2) = -std::numeric_limits<double>::infinity();
lb(3) = -std::numeric_limits<double>::infinity();

optim::Vec_t ub(n_vals);
ub(0) = 2;
ub(1) = arma::datum::inf;
ub(1) = std::numeric_limits<double>::infinity();
ub(2) = 2;
ub(3) = arma::datum::inf;
ub(3) = std::numeric_limits<double>::infinity();

optim::VecInt_t bounds_type = optim::determine_bounds_type(vals_bound,n_vals,lb,ub);

optim::Vec_t initial_vals = arma::ones(n_vals,1);
optim::Vec_t initial_vals = OPTIM_MATOPS_ONE_VEC(n_vals);

optim::Vec_t vals_trans = optim::transform(initial_vals,bounds_type,lb,ub);

Expand Down
20 changes: 10 additions & 10 deletions tests/misc/numerical_gradient.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,47 +32,47 @@ int main()

//
// test 1
optim::Vec_t x_1 = arma::ones(2,1);
optim::Vec_t x_1 = OPTIM_MATOPS_ONE_VEC(2);

optim::Vec_t grad_vec_1 = optim::numerical_gradient(x_1,nullptr,unconstr_test_fn_1,nullptr);

arma::cout << "gradient 1:\n" << grad_vec_1 << arma::endl;
OPTIM_MATOPS_COUT << "gradient 1:\n" << grad_vec_1 << OPTIM_MATOPS_ENDL;

//
// test 2

optim::Vec_t x_2 = arma::ones(2,1);
optim::Vec_t x_2 = OPTIM_MATOPS_ONE_VEC(2);

optim::Vec_t grad_vec_2 = optim::numerical_gradient(x_2,nullptr,unconstr_test_fn_2,nullptr);

arma::cout << "gradient 2:\n" << grad_vec_2 << arma::endl;
OPTIM_MATOPS_COUT << "gradient 2:\n" << grad_vec_2 << OPTIM_MATOPS_ENDL;

//
// test 3

optim::Vec_t x_3 = arma::ones(2,1);
optim::Vec_t x_3 = OPTIM_MATOPS_ONE_VEC(2);

optim::Vec_t grad_vec_3 = optim::numerical_gradient(x_3,nullptr,unconstr_test_fn_3,nullptr);

arma::cout << "gradient 3:\n" << grad_vec_3 << arma::endl;
OPTIM_MATOPS_COUT << "gradient 3:\n" << grad_vec_3 << OPTIM_MATOPS_ENDL;

//
// test 4

optim::Vec_t x_4 = arma::ones(2,1);
optim::Vec_t x_4 = OPTIM_MATOPS_ONE_VEC(2);

optim::Vec_t grad_vec_4 = optim::numerical_gradient(x_4,nullptr,unconstr_test_fn_4,nullptr);

arma::cout << "gradient 4:\n" << grad_vec_4 << arma::endl;
OPTIM_MATOPS_COUT << "gradient 4:\n" << grad_vec_4 << OPTIM_MATOPS_ENDL;

//
// test 5

optim::Vec_t x_5 = arma::ones(2,1);
optim::Vec_t x_5 = OPTIM_MATOPS_ONE_VEC(2);

optim::Vec_t grad_vec_5 = optim::numerical_gradient(x_5,nullptr,unconstr_test_fn_5,nullptr);

arma::cout << "gradient 5:\n" << grad_vec_5 << arma::endl;
OPTIM_MATOPS_COUT << "gradient 5:\n" << grad_vec_5 << OPTIM_MATOPS_ENDL;

//

Expand Down
20 changes: 10 additions & 10 deletions tests/misc/numerical_hessian.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,47 +32,47 @@ int main()

//
// test 1
optim::Vec_t x_1 = arma::ones(2,1);
optim::Vec_t x_1 = OPTIM_MATOPS_ONE_VEC(2);

optim::Mat_t hess_mat_1 = optim::numerical_hessian(x_1,nullptr,unconstr_test_fn_1,nullptr);

arma::cout << "hessian 1:\n" << hess_mat_1 << arma::endl;
OPTIM_MATOPS_COUT << "hessian 1:\n" << hess_mat_1 << OPTIM_MATOPS_ENDL;

//
// test 2

optim::Vec_t x_2 = arma::ones(2,1);
optim::Vec_t x_2 = OPTIM_MATOPS_ONE_VEC(2);

optim::Mat_t hess_mat_2 = optim::numerical_hessian(x_2,nullptr,unconstr_test_fn_2,nullptr);

arma::cout << "hessian 2:\n" << hess_mat_2 << arma::endl;
OPTIM_MATOPS_COUT << "hessian 2:\n" << hess_mat_2 << OPTIM_MATOPS_ENDL;

//
// test 3

optim::Vec_t x_3 = arma::ones(2,1);
optim::Vec_t x_3 = OPTIM_MATOPS_ONE_VEC(2);

optim::Mat_t hess_mat_3 = optim::numerical_hessian(x_3,nullptr,unconstr_test_fn_3,nullptr);

arma::cout << "hessian 3:\n" << hess_mat_3 << arma::endl;
OPTIM_MATOPS_COUT << "hessian 3:\n" << hess_mat_3 << OPTIM_MATOPS_ENDL;

//
// test 4

optim::Vec_t x_4 = arma::ones(2,1);
optim::Vec_t x_4 = OPTIM_MATOPS_ONE_VEC(2);

optim::Mat_t hess_mat_4 = optim::numerical_hessian(x_4,nullptr,unconstr_test_fn_4,nullptr);

arma::cout << "hessian 4:\n" << hess_mat_4 << arma::endl;
OPTIM_MATOPS_COUT << "hessian 4:\n" << hess_mat_4 << OPTIM_MATOPS_ENDL;

//
// test 5

optim::Vec_t x_5 = arma::ones(2,1);
optim::Vec_t x_5 = OPTIM_MATOPS_ONE_VEC(2);

optim::Mat_t hess_mat_5 = optim::numerical_hessian(x_5,nullptr,unconstr_test_fn_5,nullptr);

arma::cout << "hessian 5:\n" << hess_mat_5 << arma::endl;
OPTIM_MATOPS_COUT << "hessian 5:\n" << hess_mat_5 << OPTIM_MATOPS_ENDL;

//

Expand Down
4 changes: 3 additions & 1 deletion tests/unconstrained/newton.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@ int main()
// settings.err_tol = 1.0e-12;
// settings.print_level = 4;

Vec_t x_5 = OPTIM_MATOPS_ZERO_VEC(2) + 2.0;
Vec_t x_5 = OPTIM_MATOPS_ZERO_VEC(2);
x_5(0) = 2.0;
x_5(1) = 2.0;

bool success_5 = optim::newton(x_5, unconstr_test_fn_5_whess, nullptr);

Expand Down

0 comments on commit 0fc0de5

Please sign in to comment.