sleipnirgroup-jormungandr 0.6.7.dev2__tar.gz → 0.6.7.dev4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sleipnirgroup-jormungandr might be problematic. Click here for more details.
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/Pybind11Mkdoc.cmake +10 -12
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/ipm.hpp +2 -2
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/newton.hpp +2 -2
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/sqp.hpp +2 -2
- sleipnirgroup_jormungandr-0.6.7.dev2/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp → sleipnirgroup_jormungandr-0.6.7.dev4/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +13 -12
- sleipnirgroup_jormungandr-0.6.7.dev2/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp → sleipnirgroup_jormungandr-0.6.7.dev4/include/sleipnir/optimization/solver/util/kkt_solver.hpp +18 -16
- sleipnirgroup_jormungandr-0.6.7.dev2/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp → sleipnirgroup_jormungandr-0.6.7.dev4/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +13 -13
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/pyproject.toml +2 -2
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/optimization/solver/ipm.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/util/pool.cpp +0 -0
|
@@ -5,16 +5,16 @@ function(pybind11_mkdoc target headers)
|
|
|
5
5
|
get_target_property(target_flags ${target} INCLUDE_DIRECTORIES)
|
|
6
6
|
list(TRANSFORM target_flags PREPEND "-I")
|
|
7
7
|
|
|
8
|
-
# Get default clang version
|
|
9
|
-
execute_process(
|
|
10
|
-
COMMAND clang++ --version
|
|
11
|
-
OUTPUT_VARIABLE clang_version
|
|
12
|
-
COMMAND_ERROR_IS_FATAL ANY
|
|
13
|
-
)
|
|
14
|
-
string(REGEX MATCH "[0-9]+" clang_version ${clang_version})
|
|
15
|
-
|
|
16
|
-
# LLVM environment variables
|
|
17
8
|
if(UNIX AND NOT APPLE)
|
|
9
|
+
# Get default clang version
|
|
10
|
+
execute_process(
|
|
11
|
+
COMMAND clang++ --version
|
|
12
|
+
OUTPUT_VARIABLE clang_version
|
|
13
|
+
COMMAND_ERROR_IS_FATAL ANY
|
|
14
|
+
)
|
|
15
|
+
string(REGEX MATCH "[0-9]+" clang_version ${clang_version})
|
|
16
|
+
|
|
17
|
+
# LLVM environment variables
|
|
18
18
|
if(EXISTS /usr/lib/libclang.so)
|
|
19
19
|
set(env_vars
|
|
20
20
|
LLVM_DIR_PATH=/usr/lib
|
|
@@ -26,10 +26,8 @@ function(pybind11_mkdoc target headers)
|
|
|
26
26
|
LIBCLANG_PATH=/usr/lib/llvm-${clang_version}/lib/libclang.so
|
|
27
27
|
)
|
|
28
28
|
endif()
|
|
29
|
-
endif()
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
if(UNIX AND NOT APPLE)
|
|
30
|
+
# Clang compiler flags
|
|
33
31
|
set(clang_flags -I/usr/lib/clang/${clang_version}/include)
|
|
34
32
|
endif()
|
|
35
33
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
#include "sleipnir/optimization/solver/util/filter.hpp"
|
|
23
23
|
#include "sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp"
|
|
24
24
|
#include "sleipnir/optimization/solver/util/kkt_error.hpp"
|
|
25
|
-
#include "sleipnir/optimization/solver/util/
|
|
25
|
+
#include "sleipnir/optimization/solver/util/kkt_solver.hpp"
|
|
26
26
|
#include "sleipnir/util/assert.hpp"
|
|
27
27
|
#include "sleipnir/util/print_diagnostics.hpp"
|
|
28
28
|
#include "sleipnir/util/profiler.hpp"
|
|
@@ -333,7 +333,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
333
333
|
|
|
334
334
|
const int lhs_rows =
|
|
335
335
|
matrices.num_decision_variables + matrices.num_equality_constraints;
|
|
336
|
-
|
|
336
|
+
KKTSolver<Scalar> solver{
|
|
337
337
|
// Use sparse solver if lower triangle fills < 25% of system
|
|
338
338
|
H.nonZeros() +
|
|
339
339
|
(A_i.transpose() * A_i)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#include "sleipnir/optimization/solver/util/all_finite.hpp"
|
|
19
19
|
#include "sleipnir/optimization/solver/util/filter.hpp"
|
|
20
20
|
#include "sleipnir/optimization/solver/util/kkt_error.hpp"
|
|
21
|
-
#include "sleipnir/optimization/solver/util/
|
|
21
|
+
#include "sleipnir/optimization/solver/util/kkt_solver.hpp"
|
|
22
22
|
#include "sleipnir/util/assert.hpp"
|
|
23
23
|
#include "sleipnir/util/print_diagnostics.hpp"
|
|
24
24
|
#include "sleipnir/util/profiler.hpp"
|
|
@@ -131,7 +131,7 @@ ExitStatus newton(
|
|
|
131
131
|
|
|
132
132
|
Filter<Scalar> filter;
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
KKTSolver<Scalar> solver{
|
|
135
135
|
// Use sparse solver if lower triangle fills < 25% of system
|
|
136
136
|
H.nonZeros() < 0.25 * H.size(), matrices.num_decision_variables, 0};
|
|
137
137
|
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
#include "sleipnir/optimization/solver/util/feasibility_restoration.hpp"
|
|
21
21
|
#include "sleipnir/optimization/solver/util/filter.hpp"
|
|
22
22
|
#include "sleipnir/optimization/solver/util/kkt_error.hpp"
|
|
23
|
-
#include "sleipnir/optimization/solver/util/
|
|
23
|
+
#include "sleipnir/optimization/solver/util/kkt_solver.hpp"
|
|
24
24
|
#include "sleipnir/util/assert.hpp"
|
|
25
25
|
#include "sleipnir/util/print_diagnostics.hpp"
|
|
26
26
|
#include "sleipnir/util/profiler.hpp"
|
|
@@ -225,7 +225,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
225
225
|
|
|
226
226
|
const int lhs_rows =
|
|
227
227
|
matrices.num_decision_variables + matrices.num_equality_constraints;
|
|
228
|
-
|
|
228
|
+
KKTSolver<Scalar> solver{
|
|
229
229
|
// Use sparse solver if lower triangle fills < 25% of system
|
|
230
230
|
H.nonZeros() + A_e.nonZeros() < 0.25 * lhs_rows * lhs_rows,
|
|
231
231
|
matrices.num_decision_variables, matrices.num_equality_constraints};
|
|
@@ -12,37 +12,38 @@
|
|
|
12
12
|
|
|
13
13
|
namespace slp {
|
|
14
14
|
|
|
15
|
-
/// Solves dense
|
|
16
|
-
///
|
|
15
|
+
/// Solves a dense KKT system.
|
|
16
|
+
///
|
|
17
|
+
/// Applies regularization so the solution is a descent direction.
|
|
17
18
|
///
|
|
18
19
|
/// @tparam Scalar Scalar type.
|
|
19
20
|
template <typename Scalar>
|
|
20
|
-
class
|
|
21
|
+
class DenseKKTSolver {
|
|
21
22
|
public:
|
|
22
23
|
/// Type alias for dense matrix.
|
|
23
24
|
using DenseMatrix = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>;
|
|
24
25
|
/// Type alias for dense vector.
|
|
25
26
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
26
27
|
|
|
27
|
-
/// Constructs a
|
|
28
|
+
/// Constructs a DenseKKTSolver instance.
|
|
28
29
|
///
|
|
29
30
|
/// @param num_decision_variables The number of decision variables in the
|
|
30
31
|
/// system.
|
|
31
32
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
32
33
|
/// system.
|
|
33
|
-
|
|
34
|
+
DenseKKTSolver(int num_decision_variables, int num_equality_constraints)
|
|
34
35
|
: m_num_decision_variables{num_decision_variables},
|
|
35
36
|
m_num_equality_constraints{num_equality_constraints} {}
|
|
36
37
|
|
|
37
|
-
/// Constructs a
|
|
38
|
+
/// Constructs a DenseKKTSolver instance.
|
|
38
39
|
///
|
|
39
40
|
/// @param num_decision_variables The number of decision variables in the
|
|
40
41
|
/// system.
|
|
41
42
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
42
43
|
/// system.
|
|
43
44
|
/// @param γ_min The minimum constraint regularization.
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
DenseKKTSolver(int num_decision_variables, int num_equality_constraints,
|
|
46
|
+
Scalar γ_min)
|
|
46
47
|
: m_num_decision_variables{num_decision_variables},
|
|
47
48
|
m_num_equality_constraints{num_equality_constraints},
|
|
48
49
|
m_γ_min{γ_min} {}
|
|
@@ -52,11 +53,11 @@ class DenseRegularizedLDLT {
|
|
|
52
53
|
/// @return Whether previous computation was successful.
|
|
53
54
|
Eigen::ComputationInfo info() const { return m_info; }
|
|
54
55
|
|
|
55
|
-
/// Computes the
|
|
56
|
+
/// Computes the factorization of the KKT matrix.
|
|
56
57
|
///
|
|
57
58
|
/// @param lhs Left-hand side of the system.
|
|
58
59
|
/// @return The factorization.
|
|
59
|
-
|
|
60
|
+
DenseKKTSolver& compute(const DenseMatrix& lhs) {
|
|
60
61
|
m_info = m_solver.compute(lhs).info();
|
|
61
62
|
|
|
62
63
|
if (m_info == Eigen::Success) {
|
|
@@ -135,7 +136,7 @@ class DenseRegularizedLDLT {
|
|
|
135
136
|
}
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
/// Solves the system of equations
|
|
139
|
+
/// Solves the system of equations.
|
|
139
140
|
///
|
|
140
141
|
/// @param rhs Right-hand side of the system.
|
|
141
142
|
/// @return The solution.
|
|
@@ -144,7 +145,7 @@ class DenseRegularizedLDLT {
|
|
|
144
145
|
return m_solver.solve(rhs);
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
/// Solves the system of equations
|
|
148
|
+
/// Solves the system of equations.
|
|
148
149
|
///
|
|
149
150
|
/// @param rhs Right-hand side of the system.
|
|
150
151
|
/// @return The solution.
|
|
@@ -5,36 +5,38 @@
|
|
|
5
5
|
#include <Eigen/Core>
|
|
6
6
|
#include <Eigen/SparseCore>
|
|
7
7
|
|
|
8
|
-
#include "sleipnir/optimization/solver/util/
|
|
9
|
-
#include "sleipnir/optimization/solver/util/
|
|
8
|
+
#include "sleipnir/optimization/solver/util/dense_kkt_solver.hpp"
|
|
9
|
+
#include "sleipnir/optimization/solver/util/sparse_kkt_solver.hpp"
|
|
10
10
|
|
|
11
11
|
namespace slp {
|
|
12
12
|
|
|
13
|
-
/// Solves
|
|
13
|
+
/// Solves a KKT system.
|
|
14
|
+
///
|
|
15
|
+
/// Applies regularization so the solution is a descent direction.
|
|
14
16
|
///
|
|
15
17
|
/// @tparam Scalar Scalar type.
|
|
16
18
|
template <typename Scalar>
|
|
17
|
-
class
|
|
19
|
+
class KKTSolver {
|
|
18
20
|
public:
|
|
19
21
|
/// Type alias for dense vector.
|
|
20
22
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
21
23
|
/// Type alias for sparse matrix.
|
|
22
24
|
using SparseMatrix = Eigen::SparseMatrix<Scalar>;
|
|
23
25
|
|
|
24
|
-
/// Constructs a
|
|
26
|
+
/// Constructs a KKTSolver instance.
|
|
25
27
|
///
|
|
26
28
|
/// @param use_sparse_solver Whether to use sparse or dense solver.
|
|
27
29
|
/// @param num_decision_variables The number of decision variables in the
|
|
28
30
|
/// system.
|
|
29
31
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
30
32
|
/// system.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
KKTSolver(bool use_sparse_solver, int num_decision_variables,
|
|
34
|
+
int num_equality_constraints)
|
|
33
35
|
: m_use_sparse_solver{use_sparse_solver},
|
|
34
36
|
m_sparse_solver{num_decision_variables, num_equality_constraints},
|
|
35
37
|
m_dense_solver{num_decision_variables, num_equality_constraints} {}
|
|
36
38
|
|
|
37
|
-
/// Constructs a
|
|
39
|
+
/// Constructs a KKTSolver instance.
|
|
38
40
|
///
|
|
39
41
|
/// @param use_sparse_solver Whether to use sparse or dense solver.
|
|
40
42
|
/// @param num_decision_variables The number of decision variables in the
|
|
@@ -42,8 +44,8 @@ class RegularizedLDLT {
|
|
|
42
44
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
43
45
|
/// system.
|
|
44
46
|
/// @param γ_min The minimum constraint regularization.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
KKTSolver(bool use_sparse_solver, int num_decision_variables,
|
|
48
|
+
int num_equality_constraints, Scalar γ_min)
|
|
47
49
|
: m_use_sparse_solver{use_sparse_solver},
|
|
48
50
|
m_sparse_solver{num_decision_variables, num_equality_constraints,
|
|
49
51
|
γ_min},
|
|
@@ -61,7 +63,7 @@ class RegularizedLDLT {
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
/// Computes the
|
|
66
|
+
/// Computes the factorization of the KKT matrix.
|
|
65
67
|
///
|
|
66
68
|
/// In sparse mode, the matrix's symbolic decomposition is reused in
|
|
67
69
|
/// subsequent calls, so subsequent calls must be given a matrix with the same
|
|
@@ -69,7 +71,7 @@ class RegularizedLDLT {
|
|
|
69
71
|
///
|
|
70
72
|
/// @param lhs Left-hand side of the system.
|
|
71
73
|
/// @return The factorization.
|
|
72
|
-
|
|
74
|
+
KKTSolver& compute(const SparseMatrix& lhs) {
|
|
73
75
|
if (m_use_sparse_solver) {
|
|
74
76
|
m_sparse_solver.compute(lhs);
|
|
75
77
|
} else {
|
|
@@ -79,7 +81,7 @@ class RegularizedLDLT {
|
|
|
79
81
|
return *this;
|
|
80
82
|
}
|
|
81
83
|
|
|
82
|
-
/// Solves the system of equations
|
|
84
|
+
/// Solves the system of equations.
|
|
83
85
|
///
|
|
84
86
|
/// @param rhs Right-hand side of the system.
|
|
85
87
|
/// @return The solution.
|
|
@@ -92,7 +94,7 @@ class RegularizedLDLT {
|
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
96
|
|
|
95
|
-
/// Solves the system of equations
|
|
97
|
+
/// Solves the system of equations.
|
|
96
98
|
///
|
|
97
99
|
/// @param rhs Right-hand side of the system.
|
|
98
100
|
/// @return The solution.
|
|
@@ -129,8 +131,8 @@ class RegularizedLDLT {
|
|
|
129
131
|
|
|
130
132
|
private:
|
|
131
133
|
bool m_use_sparse_solver;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
+
SparseKKTSolver<Scalar> m_sparse_solver;
|
|
135
|
+
DenseKKTSolver<Scalar> m_dense_solver;
|
|
134
136
|
};
|
|
135
137
|
|
|
136
138
|
} // namespace slp
|
|
@@ -13,38 +13,38 @@
|
|
|
13
13
|
|
|
14
14
|
namespace slp {
|
|
15
15
|
|
|
16
|
-
/// Solves sparse
|
|
17
|
-
///
|
|
16
|
+
/// Solves a sparse KKT system.
|
|
17
|
+
///
|
|
18
|
+
/// Applies regularization so the solution is a descent direction.
|
|
18
19
|
///
|
|
19
20
|
/// @tparam Scalar Scalar type.
|
|
20
21
|
template <typename Scalar>
|
|
21
|
-
class
|
|
22
|
+
class SparseKKTSolver {
|
|
22
23
|
public:
|
|
23
24
|
/// Type alias for dense vector.
|
|
24
25
|
using DenseVector = Eigen::Vector<Scalar, Eigen::Dynamic>;
|
|
25
26
|
/// Type alias for sparse matrix.
|
|
26
27
|
using SparseMatrix = Eigen::SparseMatrix<Scalar>;
|
|
27
28
|
|
|
28
|
-
/// Constructs a
|
|
29
|
+
/// Constructs a SparseKKTSolver instance.
|
|
29
30
|
///
|
|
30
31
|
/// @param num_decision_variables The number of decision variables in the
|
|
31
32
|
/// system.
|
|
32
33
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
33
34
|
/// system.
|
|
34
|
-
|
|
35
|
-
int num_equality_constraints)
|
|
35
|
+
SparseKKTSolver(int num_decision_variables, int num_equality_constraints)
|
|
36
36
|
: m_num_decision_variables{num_decision_variables},
|
|
37
37
|
m_num_equality_constraints{num_equality_constraints} {}
|
|
38
38
|
|
|
39
|
-
/// Constructs a
|
|
39
|
+
/// Constructs a SparseKKTSolver instance.
|
|
40
40
|
///
|
|
41
41
|
/// @param num_decision_variables The number of decision variables in the
|
|
42
42
|
/// system.
|
|
43
43
|
/// @param num_equality_constraints The number of equality constraints in the
|
|
44
44
|
/// system.
|
|
45
45
|
/// @param γ_min The minimum constraint regularization.
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
SparseKKTSolver(int num_decision_variables, int num_equality_constraints,
|
|
47
|
+
Scalar γ_min)
|
|
48
48
|
: m_num_decision_variables{num_decision_variables},
|
|
49
49
|
m_num_equality_constraints{num_equality_constraints},
|
|
50
50
|
m_γ_min{γ_min} {}
|
|
@@ -54,14 +54,14 @@ class SparseRegularizedLDLT {
|
|
|
54
54
|
/// @return Whether previous computation was successful.
|
|
55
55
|
Eigen::ComputationInfo info() const { return m_info; }
|
|
56
56
|
|
|
57
|
-
/// Computes the
|
|
57
|
+
/// Computes the factorization of the KKT matrix.
|
|
58
58
|
///
|
|
59
59
|
/// The matrix's symbolic decomposition is reused in subsequent calls, so
|
|
60
60
|
/// subsequent calls must be given a matrix with the same sparsity pattern.
|
|
61
61
|
///
|
|
62
62
|
/// @param lhs Left-hand side of the system.
|
|
63
63
|
/// @return The factorization.
|
|
64
|
-
|
|
64
|
+
SparseKKTSolver& compute(const SparseMatrix& lhs) {
|
|
65
65
|
// Regularization with zeros ensures the pattern analysis in the sparse
|
|
66
66
|
// solver is reused by all factorizations
|
|
67
67
|
SparseMatrix unregularized_lhs = lhs + regularization(Scalar(0), Scalar(0));
|
|
@@ -151,7 +151,7 @@ class SparseRegularizedLDLT {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
/// Solves the system of equations
|
|
154
|
+
/// Solves the system of equations.
|
|
155
155
|
///
|
|
156
156
|
/// @param rhs Right-hand side of the system.
|
|
157
157
|
/// @return The solution.
|
|
@@ -160,7 +160,7 @@ class SparseRegularizedLDLT {
|
|
|
160
160
|
return m_solver.solve(rhs);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
-
/// Solves the system of equations
|
|
163
|
+
/// Solves the system of equations.
|
|
164
164
|
///
|
|
165
165
|
/// @param rhs Right-hand side of the system.
|
|
166
166
|
/// @return The solution.
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/CMakeLists.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/BuildTypes.cmake
RENAMED
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/cmake/SubdirList.cmake
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/binders.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/python/cpp/main.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev2 → sleipnirgroup_jormungandr-0.6.7.dev4}/src/util/pool.cpp
RENAMED
|
File without changes
|