sleipnirgroup-jormungandr 0.6.7.dev66__tar.gz → 0.6.7.dev67__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.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/ipm.hpp +10 -16
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/sqp.hpp +9 -8
- sleipnirgroup_jormungandr-0.6.7.dev67/include/sleipnir/optimization/solver/util/constraint_violation.hpp +34 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/filter.hpp +4 -3
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/Pybind11MkdocPostprocess.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/arity.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/slice_tuple.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/text_wrap.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/postprocess_stubs.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/near.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/optimization/solver/ipm.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/util/pool.cpp +0 -0
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
#include "sleipnir/optimization/solver/options.hpp"
|
|
19
19
|
#include "sleipnir/optimization/solver/util/all_finite.hpp"
|
|
20
20
|
#include "sleipnir/optimization/solver/util/append_as_triplets.hpp"
|
|
21
|
+
#include "sleipnir/optimization/solver/util/constraint_violation.hpp"
|
|
21
22
|
#include "sleipnir/optimization/solver/util/feasibility_restoration.hpp"
|
|
22
23
|
#include "sleipnir/optimization/solver/util/filter.hpp"
|
|
23
24
|
#include "sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp"
|
|
@@ -296,8 +297,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
296
297
|
// Fraction-to-the-boundary rule scale factor τ
|
|
297
298
|
Scalar τ = τ_min;
|
|
298
299
|
|
|
299
|
-
Filter<Scalar> filter{c_e
|
|
300
|
-
(c_i - s).template lpNorm<1>()};
|
|
300
|
+
Filter<Scalar> filter{constraint_violation(c_e, c_i, s)};
|
|
301
301
|
|
|
302
302
|
// This should be run when the error is below a desired threshold for the
|
|
303
303
|
// current barrier parameter
|
|
@@ -379,9 +379,8 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
379
379
|
|
|
380
380
|
// Print initial iterate diagnostics
|
|
381
381
|
if (options.diagnostics) {
|
|
382
|
-
print_initial_iterate_diagnostics(
|
|
383
|
-
|
|
384
|
-
s.dot(z), μ);
|
|
382
|
+
print_initial_iterate_diagnostics(E_0, f, constraint_violation(c_e, c_i, s),
|
|
383
|
+
s.dot(z), μ);
|
|
385
384
|
}
|
|
386
385
|
|
|
387
386
|
while (E_0 > Scalar(options.tolerance)) {
|
|
@@ -533,11 +532,9 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
533
532
|
break;
|
|
534
533
|
}
|
|
535
534
|
|
|
536
|
-
Scalar prev_constraint_violation =
|
|
537
|
-
c_e.template lpNorm<1>() + (c_i - s).template lpNorm<1>();
|
|
535
|
+
Scalar prev_constraint_violation = constraint_violation(c_e, c_i, s);
|
|
538
536
|
Scalar next_constraint_violation =
|
|
539
|
-
trial_c_e
|
|
540
|
-
(trial_c_i - trial_s).template lpNorm<1>();
|
|
537
|
+
constraint_violation(trial_c_e, trial_c_i, trial_s);
|
|
541
538
|
|
|
542
539
|
// Second-order corrections
|
|
543
540
|
//
|
|
@@ -570,9 +567,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
570
567
|
unscaled_kkt_error<Scalar, KKTErrorType::INF_NORM_SCALED>(
|
|
571
568
|
matrices.scaling, g, A_e, trial_c_e, A_i, trial_c_i,
|
|
572
569
|
trial_s, trial_y, trial_z, Scalar(0)),
|
|
573
|
-
trial_f,
|
|
574
|
-
trial_c_e.template lpNorm<1>() +
|
|
575
|
-
(trial_c_i - trial_s).template lpNorm<1>(),
|
|
570
|
+
trial_f, constraint_violation(trial_c_e, trial_c_i, trial_s),
|
|
576
571
|
trial_s.dot(trial_z), μ, solver.hessian_regularization(),
|
|
577
572
|
solver.constraint_jacobian_regularization(),
|
|
578
573
|
std::max(soc_step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
@@ -633,8 +628,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
633
628
|
// If constraint violation hasn't been sufficiently reduced, stop
|
|
634
629
|
// making second-order corrections
|
|
635
630
|
next_constraint_violation =
|
|
636
|
-
trial_c_e
|
|
637
|
-
(trial_c_i - trial_s).template lpNorm<1>();
|
|
631
|
+
constraint_violation(trial_c_e, trial_c_i, trial_s);
|
|
638
632
|
if (next_constraint_violation > κ_soc * soc_constraint_violation) {
|
|
639
633
|
break;
|
|
640
634
|
}
|
|
@@ -835,8 +829,8 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
835
829
|
in_feasibility_restoration ? IterationType::FEASIBILITY_RESTORATION
|
|
836
830
|
: IterationType::NORMAL,
|
|
837
831
|
inner_iter_profiler.current_duration(), E_0, f,
|
|
838
|
-
c_e
|
|
839
|
-
|
|
832
|
+
constraint_violation(c_e, c_i, s), s.dot(z), μ,
|
|
833
|
+
solver.hessian_regularization(),
|
|
840
834
|
solver.constraint_jacobian_regularization(),
|
|
841
835
|
std::max(step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
842
836
|
step.p_s.template lpNorm<Eigen::Infinity>()),
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
#include "sleipnir/optimization/solver/sqp_matrix_callbacks.hpp"
|
|
18
18
|
#include "sleipnir/optimization/solver/util/all_finite.hpp"
|
|
19
19
|
#include "sleipnir/optimization/solver/util/append_as_triplets.hpp"
|
|
20
|
+
#include "sleipnir/optimization/solver/util/constraint_violation.hpp"
|
|
20
21
|
#include "sleipnir/optimization/solver/util/feasibility_restoration.hpp"
|
|
21
22
|
#include "sleipnir/optimization/solver/util/filter.hpp"
|
|
22
23
|
#include "sleipnir/optimization/solver/util/kkt_error.hpp"
|
|
@@ -218,7 +219,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
218
219
|
|
|
219
220
|
int iterations = 0;
|
|
220
221
|
|
|
221
|
-
Filter<Scalar> filter{c_e
|
|
222
|
+
Filter<Scalar> filter{constraint_violation(c_e)};
|
|
222
223
|
|
|
223
224
|
// Kept outside the loop so its storage can be reused
|
|
224
225
|
gch::small_vector<Eigen::Triplet<Scalar>> triplets;
|
|
@@ -257,7 +258,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
257
258
|
|
|
258
259
|
// Print initial iterate diagnostics
|
|
259
260
|
if (options.diagnostics) {
|
|
260
|
-
print_initial_iterate_diagnostics(E_0, f, c_e
|
|
261
|
+
print_initial_iterate_diagnostics(E_0, f, constraint_violation(c_e),
|
|
261
262
|
Scalar(0), Scalar(0));
|
|
262
263
|
}
|
|
263
264
|
|
|
@@ -363,8 +364,8 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
363
364
|
break;
|
|
364
365
|
}
|
|
365
366
|
|
|
366
|
-
Scalar prev_constraint_violation = c_e
|
|
367
|
-
Scalar next_constraint_violation = trial_c_e
|
|
367
|
+
Scalar prev_constraint_violation = constraint_violation(c_e);
|
|
368
|
+
Scalar next_constraint_violation = constraint_violation(trial_c_e);
|
|
368
369
|
|
|
369
370
|
// Second-order corrections
|
|
370
371
|
//
|
|
@@ -394,8 +395,8 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
394
395
|
soc_profiler.current_duration(),
|
|
395
396
|
kkt_error<Scalar, KKTErrorType::INF_NORM_SCALED>(
|
|
396
397
|
g, A_e, trial_c_e, trial_y),
|
|
397
|
-
trial_f, trial_c_e
|
|
398
|
-
solver.hessian_regularization(),
|
|
398
|
+
trial_f, constraint_violation(trial_c_e), Scalar(0),
|
|
399
|
+
Scalar(0), solver.hessian_regularization(),
|
|
399
400
|
solver.constraint_jacobian_regularization(),
|
|
400
401
|
soc_step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
401
402
|
soc_step.p_y.template lpNorm<Eigen::Infinity>(), α_soc,
|
|
@@ -435,7 +436,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
435
436
|
|
|
436
437
|
// If constraint violation hasn't been sufficiently reduced, stop
|
|
437
438
|
// making second-order corrections
|
|
438
|
-
next_constraint_violation = trial_c_e
|
|
439
|
+
next_constraint_violation = constraint_violation(trial_c_e);
|
|
439
440
|
if (next_constraint_violation > κ_soc * soc_constraint_violation) {
|
|
440
441
|
break;
|
|
441
442
|
}
|
|
@@ -576,7 +577,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
576
577
|
if (options.diagnostics) {
|
|
577
578
|
print_iteration_diagnostics(iterations, IterationType::NORMAL,
|
|
578
579
|
inner_iter_profiler.current_duration(), E_0,
|
|
579
|
-
f, c_e
|
|
580
|
+
f, constraint_violation(c_e), Scalar(0),
|
|
580
581
|
Scalar(0), solver.hessian_regularization(),
|
|
581
582
|
solver.constraint_jacobian_regularization(),
|
|
582
583
|
step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright (c) Sleipnir contributors
|
|
2
|
+
|
|
3
|
+
#pragma once
|
|
4
|
+
|
|
5
|
+
#include <Eigen/Core>
|
|
6
|
+
|
|
7
|
+
namespace slp {
|
|
8
|
+
|
|
9
|
+
/// Returns the constraint violation for a Sequential Quadratic Programming
|
|
10
|
+
/// iterate.
|
|
11
|
+
///
|
|
12
|
+
/// @tparam Scalar Scalar type.
|
|
13
|
+
/// @param c_e The equality constraint values (nonzero means violation).
|
|
14
|
+
/// @return The constraint violation.
|
|
15
|
+
template <typename Scalar>
|
|
16
|
+
Scalar constraint_violation(const Eigen::Vector<Scalar, Eigen::Dynamic>& c_e) {
|
|
17
|
+
return c_e.template lpNorm<1>();
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/// Returns the constraint violation for an interior-point method iterate.
|
|
21
|
+
///
|
|
22
|
+
/// @tparam Scalar Scalar type.
|
|
23
|
+
/// @param c_e The equality constraint values (nonzero means violation).
|
|
24
|
+
/// @param c_i The inequality constraint values (negative means violation).
|
|
25
|
+
/// @param s The inequality constraint slack variables.
|
|
26
|
+
/// @return The constraint violation.
|
|
27
|
+
template <typename Scalar>
|
|
28
|
+
Scalar constraint_violation(const Eigen::Vector<Scalar, Eigen::Dynamic>& c_e,
|
|
29
|
+
const Eigen::Vector<Scalar, Eigen::Dynamic>& c_i,
|
|
30
|
+
const Eigen::Vector<Scalar, Eigen::Dynamic>& s) {
|
|
31
|
+
return c_e.template lpNorm<1>() + (c_i - s).template lpNorm<1>();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
} // namespace slp
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
#include <Eigen/Core>
|
|
9
9
|
#include <gch/small_vector.hpp>
|
|
10
10
|
|
|
11
|
+
#include "sleipnir/optimization/solver/util/constraint_violation.hpp"
|
|
12
|
+
|
|
11
13
|
// See docs/algorithms.md#Works_cited for citation definitions.
|
|
12
14
|
|
|
13
15
|
namespace slp {
|
|
@@ -41,7 +43,7 @@ struct FilterEntry {
|
|
|
41
43
|
/// @param f The cost function value.
|
|
42
44
|
/// @param c_e The equality constraint values (nonzero means violation).
|
|
43
45
|
FilterEntry(Scalar f, const DenseVector& c_e)
|
|
44
|
-
: FilterEntry{f, c_e
|
|
46
|
+
: FilterEntry{f, slp::constraint_violation(c_e)} {}
|
|
45
47
|
|
|
46
48
|
/// Constructs an interior-point method filter entry.
|
|
47
49
|
///
|
|
@@ -53,8 +55,7 @@ struct FilterEntry {
|
|
|
53
55
|
FilterEntry(Scalar f, DenseVector& s, const DenseVector& c_e,
|
|
54
56
|
const DenseVector& c_i, Scalar μ)
|
|
55
57
|
: FilterEntry{f - μ * s.array().log().sum(),
|
|
56
|
-
c_e
|
|
57
|
-
}
|
|
58
|
+
slp::constraint_violation(c_e, c_i, s)} {}
|
|
58
59
|
|
|
59
60
|
/// Returns true if this filter entry is dominated by another.
|
|
60
61
|
///
|
{sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/CMakeLists.txt
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/pyproject.toml
RENAMED
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/python/cpp/arity.hpp
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
|
{sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev66 → sleipnirgroup_jormungandr-0.6.7.dev67}/src/util/pool.cpp
RENAMED
|
File without changes
|