Add end-to-end BA tests for SCHUR_POWER_SERIES_EXPANSION Also tighten the value of eta to make the iterative schur solvers work better. This is the default value used in bundle_adjuster.cc Fixes https://github.com/ceres-solver/ceres-solver/issues/864 Change-Id: I48258fbbe256d6e932aaea0078b566fcd63de2fb Change-Id: Ia5ad252cae31f415a47495fb8769421ade355bc9
diff --git a/internal/ceres/generate_bundle_adjustment_tests.py b/internal/ceres/generate_bundle_adjustment_tests.py index bed96d1..0da8853 100644 --- a/internal/ceres/generate_bundle_adjustment_tests.py +++ b/internal/ceres/generate_bundle_adjustment_tests.py
@@ -62,6 +62,7 @@ # Linear solver Sparse backend Preconditioner ('ITERATIVE_SCHUR', 'NO_SPARSE', 'JACOBI'), ('ITERATIVE_SCHUR', 'NO_SPARSE', 'SCHUR_JACOBI'), + ('ITERATIVE_SCHUR', 'NO_SPARSE', 'SCHUR_POWER_SERIES_EXPANSION'), ('ITERATIVE_SCHUR', 'SUITE_SPARSE', 'CLUSTER_JACOBI'), ('ITERATIVE_SCHUR', 'EIGEN_SPARSE', 'CLUSTER_JACOBI'), ('ITERATIVE_SCHUR', 'ACCELERATE_SPARSE','CLUSTER_JACOBI'), @@ -87,6 +88,7 @@ SCHUR_JACOBI='schurjacobi', CLUSTER_JACOBI='clustjacobi', CLUSTER_TRIDIAGONAL='clusttri', + SCHUR_POWER_SERIES_EXPANSION='spse', kAutomaticOrdering='auto', kUserOrdering='user', ) @@ -140,6 +142,7 @@ %(test_class_name)s) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = %(num_threads)s; options->linear_solver_type = %(linear_solver)s; options->dense_linear_algebra_library_type = %(dense_backend)s;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/CMakeLists.txt b/internal/ceres/generated_bundle_adjustment_tests/CMakeLists.txt index 73fe3f5..5f4f65e 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/CMakeLists.txt +++ b/internal/ceres/generated_bundle_adjustment_tests/CMakeLists.txt
@@ -1,5 +1,5 @@ # Ceres Solver - A fast non-linear least squares minimizer -# Copyright 2022 Google Inc. All rights reserved. +# Copyright 2023 Google Inc. All rights reserved. # http://ceres-solver.org/ # # Redistribution and use in source and binary forms, with or without @@ -46,6 +46,7 @@ ceres_test(ba_sparseschur_acceleratesparse_auto) ceres_test(ba_iterschur_jacobi_auto) ceres_test(ba_iterschur_schurjacobi_auto) +ceres_test(ba_iterschur_spse_auto) ceres_test(ba_iterschur_suitesparse_clustjacobi_auto) ceres_test(ba_iterschur_eigensparse_clustjacobi_auto) ceres_test(ba_iterschur_acceleratesparse_clustjacobi_auto) @@ -63,6 +64,7 @@ ceres_test(ba_sparseschur_acceleratesparse_auto_threads) ceres_test(ba_iterschur_jacobi_auto_threads) ceres_test(ba_iterschur_schurjacobi_auto_threads) +ceres_test(ba_iterschur_spse_auto_threads) ceres_test(ba_iterschur_suitesparse_clustjacobi_auto_threads) ceres_test(ba_iterschur_eigensparse_clustjacobi_auto_threads) ceres_test(ba_iterschur_acceleratesparse_clustjacobi_auto_threads) @@ -80,6 +82,7 @@ ceres_test(ba_sparseschur_acceleratesparse_user) ceres_test(ba_iterschur_jacobi_user) ceres_test(ba_iterschur_schurjacobi_user) +ceres_test(ba_iterschur_spse_user) ceres_test(ba_iterschur_suitesparse_clustjacobi_user) ceres_test(ba_iterschur_eigensparse_clustjacobi_user) ceres_test(ba_iterschur_acceleratesparse_clustjacobi_user) @@ -97,6 +100,7 @@ ceres_test(ba_sparseschur_acceleratesparse_user_threads) ceres_test(ba_iterschur_jacobi_user_threads) ceres_test(ba_iterschur_schurjacobi_user_threads) +ceres_test(ba_iterschur_spse_user_threads) ceres_test(ba_iterschur_suitesparse_clustjacobi_user_threads) ceres_test(ba_iterschur_eigensparse_clustjacobi_user_threads) ceres_test(ba_iterschur_acceleratesparse_clustjacobi_user_threads)
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_test.cc index beaa350..1c9124d 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Cuda_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = CUDA;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_threads_test.cc index 091a37a..3a53394 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_auto_threads_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Cuda_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = CUDA;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_test.cc index 67d0725..5887fe7 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Cuda_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = CUDA;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_threads_test.cc index e0975db..d264f7f 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_cuda_user_threads_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Cuda_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = CUDA;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_test.cc index dd7d96c..18d08ec 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_test.cc
@@ -44,6 +44,7 @@ DenseSchur_Eigen_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_threads_test.cc index 3fd89ef..7fcd8c4 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_auto_threads_test.cc
@@ -44,6 +44,7 @@ DenseSchur_Eigen_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_test.cc index bd7122f..55626a3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_test.cc
@@ -44,6 +44,7 @@ DenseSchur_Eigen_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_threads_test.cc index aa43e30..7028f1c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_eigen_user_threads_test.cc
@@ -44,6 +44,7 @@ DenseSchur_Eigen_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_test.cc index 444d15a..e8d6d20 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Lapack_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = LAPACK;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_threads_test.cc index c095d0d..e5eecfd 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_auto_threads_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Lapack_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = LAPACK;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_test.cc index f9e4fae..9b7d190 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Lapack_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = LAPACK;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_threads_test.cc index 3448ec7..ce95521 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_denseschur_lapack_user_threads_test.cc
@@ -46,6 +46,7 @@ DenseSchur_Lapack_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = DENSE_SCHUR; options->dense_linear_algebra_library_type = LAPACK;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_test.cc index 3346841..bfb8e62 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterJacobi_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test.cc index e132e0a..0faafab 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterJacobi_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_test.cc index 60d6e4b..1280be8 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterJacobi_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_threads_test.cc index 3897463..da574cc 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clustjacobi_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterJacobi_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_test.cc index e852024..22518c8 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterTridiagonal_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_threads_test.cc index 02fc693..28d656a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterTridiagonal_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_test.cc index e47fa10..29bfab1 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterTridiagonal_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_threads_test.cc index 433339d..dd90748 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_acceleratesparse_clusttri_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_AccelerateSparse_ClusterTridiagonal_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_test.cc index dc700b3..e1e36e7 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterJacobi_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_threads_test.cc index 496cabe..418ff67 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterJacobi_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_test.cc index 11a8fbb..d98eaff 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterJacobi_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_threads_test.cc index 5646f4b..27b2860 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clustjacobi_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterJacobi_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_test.cc index 3fd7230..cbed4d8 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterTridiagonal_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_threads_test.cc index e86d109..25ec9c0 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterTridiagonal_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_test.cc index b378ec4..d0eb07b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterTridiagonal_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_threads_test.cc index 9d5933e..eac83d8 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_eigensparse_clusttri_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_EigenSparse_ClusterTridiagonal_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc index 34b8fb1..c160240 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_Jacobi_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc index 37c252f..59f0552 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_auto_threads_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_Jacobi_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc index de185a4..b3c278c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_Jacobi_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc index df38fa6..5b70d79 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_jacobi_user_threads_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_Jacobi_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc index ddaf1e8..df4e4d3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_SchurJacobi_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc index 6484626..6bd503e 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_auto_threads_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_SchurJacobi_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc index e196b5e..9a8d60e 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_SchurJacobi_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc index 5a078c1..0766815 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_schurjacobi_user_threads_test.cc
@@ -44,6 +44,7 @@ IterativeSchur_SchurJacobi_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_test.cc new file mode 100644 index 0000000..90975fd --- /dev/null +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_test.cc
@@ -0,0 +1,60 @@ +// Ceres Solver - A fast non-linear least squares minimizer +// Copyright 2023 Google Inc. All rights reserved. +// http://ceres-solver.org/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ======================================== +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// ======================================== +// +// This file is generated using generate_bundle_adjustment_tests.py. + +#include "ceres/internal/config.h" +#include "bundle_adjustment_test_util.h" + +namespace ceres::internal { + +TEST_F(BundleAdjustmentTest, + IterativeSchur_SchurPowerSeriesExpansion_AutomaticOrdering) { // NOLINT + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->dense_linear_algebra_library_type = EIGEN; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_POWER_SERIES_EXPANSION; + if (kAutomaticOrdering) { + options->linear_solver_ordering = nullptr; + } + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); +} + +} // namespace ceres::internal
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_threads_test.cc new file mode 100644 index 0000000..bfa3419 --- /dev/null +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_auto_threads_test.cc
@@ -0,0 +1,60 @@ +// Ceres Solver - A fast non-linear least squares minimizer +// Copyright 2023 Google Inc. All rights reserved. +// http://ceres-solver.org/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ======================================== +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// ======================================== +// +// This file is generated using generate_bundle_adjustment_tests.py. + +#include "ceres/internal/config.h" +#include "bundle_adjustment_test_util.h" + +namespace ceres::internal { + +TEST_F(BundleAdjustmentTest, + IterativeSchur_SchurPowerSeriesExpansion_AutomaticOrdering_Threads) { // NOLINT + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->dense_linear_algebra_library_type = EIGEN; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_POWER_SERIES_EXPANSION; + if (kAutomaticOrdering) { + options->linear_solver_ordering = nullptr; + } + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); +} + +} // namespace ceres::internal
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_test.cc new file mode 100644 index 0000000..d39890e --- /dev/null +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_test.cc
@@ -0,0 +1,60 @@ +// Ceres Solver - A fast non-linear least squares minimizer +// Copyright 2023 Google Inc. All rights reserved. +// http://ceres-solver.org/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ======================================== +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// ======================================== +// +// This file is generated using generate_bundle_adjustment_tests.py. + +#include "ceres/internal/config.h" +#include "bundle_adjustment_test_util.h" + +namespace ceres::internal { + +TEST_F(BundleAdjustmentTest, + IterativeSchur_SchurPowerSeriesExpansion_UserOrdering) { // NOLINT + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; + options->num_threads = 1; + options->linear_solver_type = ITERATIVE_SCHUR; + options->dense_linear_algebra_library_type = EIGEN; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_POWER_SERIES_EXPANSION; + if (kUserOrdering) { + options->linear_solver_ordering = nullptr; + } + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); +} + +} // namespace ceres::internal
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_threads_test.cc new file mode 100644 index 0000000..ab24bbc --- /dev/null +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_spse_user_threads_test.cc
@@ -0,0 +1,60 @@ +// Ceres Solver - A fast non-linear least squares minimizer +// Copyright 2023 Google Inc. All rights reserved. +// http://ceres-solver.org/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of Google Inc. nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// ======================================== +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// THIS FILE IS AUTOGENERATED. DO NOT EDIT. +// ======================================== +// +// This file is generated using generate_bundle_adjustment_tests.py. + +#include "ceres/internal/config.h" +#include "bundle_adjustment_test_util.h" + +namespace ceres::internal { + +TEST_F(BundleAdjustmentTest, + IterativeSchur_SchurPowerSeriesExpansion_UserOrdering_Threads) { // NOLINT + BundleAdjustmentProblem bundle_adjustment_problem; + Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; + options->num_threads = 4; + options->linear_solver_type = ITERATIVE_SCHUR; + options->dense_linear_algebra_library_type = EIGEN; + options->sparse_linear_algebra_library_type = NO_SPARSE; + options->preconditioner_type = SCHUR_POWER_SERIES_EXPANSION; + if (kUserOrdering) { + options->linear_solver_ordering = nullptr; + } + Problem* problem = bundle_adjustment_problem.mutable_problem(); + RunSolverForConfigAndExpectResidualsMatch(*options, problem); +} + +} // namespace ceres::internal
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc index 3b39c1e..7f31d7a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterJacobi_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc index 6bb9fe5..1041c65 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterJacobi_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc index 9590671..0b2ad8b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterJacobi_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc index 4b23d54..aa0a5cc 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clustjacobi_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterJacobi_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc index 78faa74..e66d3c0 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterTridiagonal_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc index e9b1035..a5a96ae 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_auto_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterTridiagonal_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc index ee65f55..a0ff62b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterTridiagonal_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc index 3c19079..d4bbb98 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_iterschur_suitesparse_clusttri_user_threads_test.cc
@@ -46,6 +46,7 @@ IterativeSchur_SuiteSparse_ClusterTridiagonal_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = ITERATIVE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_test.cc index 793c971..aedd971 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_AccelerateSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_threads_test.cc index 37318b7..7acfb10 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_AccelerateSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_test.cc index b7710de..ef85783 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_AccelerateSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_threads_test.cc index db62ddd..ed3a9a1 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_acceleratesparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_AccelerateSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc index 05d2777..7177c51 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_EigenSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc index 9a0b32f..575ebef 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_EigenSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc index 9d59ee3..f53a72b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_EigenSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc index 143d6f4..59f033c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_eigensparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_EigenSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc index 1a139b9..aa4f28c 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_SuiteSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc index 6ea258d..3f0c2a9 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_SuiteSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc index 105d7ca..f30254a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_SuiteSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc index 505ab32..f29add5 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparsecholesky_suitesparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseNormalCholesky_SuiteSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_NORMAL_CHOLESKY; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_test.cc index 29b0c72..ba139e1 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseSchur_AccelerateSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_threads_test.cc index fc0c80c..1161cb3 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_AccelerateSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_test.cc index af56d20..934bad2 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_test.cc
@@ -46,6 +46,7 @@ SparseSchur_AccelerateSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_threads_test.cc index 67c56da..4606e75 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_acceleratesparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_AccelerateSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc index 36ea666..758dddb 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseSchur_EigenSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc index 9a64d4d..28dcc88 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_EigenSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc index 6add938..3c66c03 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_test.cc
@@ -46,6 +46,7 @@ SparseSchur_EigenSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc index 04cc627..f7d8081 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_eigensparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_EigenSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc index 3857d2d..22b588a 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_test.cc
@@ -46,6 +46,7 @@ SparseSchur_SuiteSparse_AutomaticOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc index f58dbd7..5a6995b 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_auto_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_SuiteSparse_AutomaticOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc index 00ce8fb..18c6310 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_test.cc
@@ -46,6 +46,7 @@ SparseSchur_SuiteSparse_UserOrdering) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 1; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;
diff --git a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc index 532d0a4..5cff07d 100644 --- a/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc +++ b/internal/ceres/generated_bundle_adjustment_tests/ba_sparseschur_suitesparse_user_threads_test.cc
@@ -46,6 +46,7 @@ SparseSchur_SuiteSparse_UserOrdering_Threads) { // NOLINT BundleAdjustmentProblem bundle_adjustment_problem; Solver::Options* options = bundle_adjustment_problem.mutable_solver_options(); + options->eta = 0.01; options->num_threads = 4; options->linear_solver_type = SPARSE_SCHUR; options->dense_linear_algebra_library_type = EIGEN;