sleipnirgroup-jormungandr 0.5.6.dev13__tar.gz → 0.5.6.dev14__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.
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/interior_point.hpp +2 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/newton.hpp +1 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/sqp.hpp +2 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +12 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +11 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +12 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/print_diagnostics.hpp +12 -11
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/interior_point.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/util/pool.cpp +0 -0
|
@@ -580,6 +580,7 @@ ExitStatus interior_point(
|
|
|
580
580
|
trial_c_e.template lpNorm<1>() +
|
|
581
581
|
(trial_c_i - trial_s).template lpNorm<1>(),
|
|
582
582
|
trial_s.dot(trial_z), μ, solver.hessian_regularization(),
|
|
583
|
+
solver.constraint_jacobian_regularization(),
|
|
583
584
|
std::max(soc_step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
584
585
|
soc_step.p_s.template lpNorm<Eigen::Infinity>()),
|
|
585
586
|
std::max(soc_step.p_y.template lpNorm<Eigen::Infinity>(),
|
|
@@ -817,6 +818,7 @@ ExitStatus interior_point(
|
|
|
817
818
|
inner_iter_profiler.current_duration(), E_0, f,
|
|
818
819
|
c_e.template lpNorm<1>() + (c_i - s).template lpNorm<1>(), s.dot(z),
|
|
819
820
|
μ, solver.hessian_regularization(),
|
|
821
|
+
solver.constraint_jacobian_regularization(),
|
|
820
822
|
std::max(step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
821
823
|
step.p_s.template lpNorm<Eigen::Infinity>()),
|
|
822
824
|
std::max(step.p_y.template lpNorm<Eigen::Infinity>(),
|
|
@@ -267,6 +267,7 @@ ExitStatus newton(
|
|
|
267
267
|
iterations, IterationType::NORMAL,
|
|
268
268
|
inner_iter_profiler.current_duration(), E_0, f, Scalar(0), Scalar(0),
|
|
269
269
|
Scalar(0), solver.hessian_regularization(),
|
|
270
|
+
solver.constraint_jacobian_regularization(),
|
|
270
271
|
p_x.template lpNorm<Eigen::Infinity>(), Scalar(1), α, α_max,
|
|
271
272
|
α_reduction_factor, Scalar(1));
|
|
272
273
|
}
|
|
@@ -403,6 +403,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
403
403
|
g, A_e, trial_c_e, trial_y),
|
|
404
404
|
trial_f, trial_c_e.template lpNorm<1>(), Scalar(0), Scalar(0),
|
|
405
405
|
solver.hessian_regularization(),
|
|
406
|
+
solver.constraint_jacobian_regularization(),
|
|
406
407
|
soc_step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
407
408
|
soc_step.p_y.template lpNorm<Eigen::Infinity>(), α_soc,
|
|
408
409
|
Scalar(1), α_reduction_factor, Scalar(1));
|
|
@@ -572,6 +573,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
|
|
|
572
573
|
inner_iter_profiler.current_duration(), E_0,
|
|
573
574
|
f, c_e.template lpNorm<1>(), Scalar(0),
|
|
574
575
|
Scalar(0), solver.hessian_regularization(),
|
|
576
|
+
solver.constraint_jacobian_regularization(),
|
|
575
577
|
step.p_x.template lpNorm<Eigen::Infinity>(),
|
|
576
578
|
step.p_y.template lpNorm<Eigen::Infinity>(),
|
|
577
579
|
α, α_max, α_reduction_factor, α);
|
|
@@ -68,6 +68,7 @@ class DenseRegularizedLDLT {
|
|
|
68
68
|
if (Inertia{D} == ideal_inertia &&
|
|
69
69
|
(D.cwiseAbs().array() >= Scalar(1e-4)).all()) {
|
|
70
70
|
m_prev_δ = Scalar(0);
|
|
71
|
+
m_prev_γ = Scalar(0);
|
|
71
72
|
return *this;
|
|
72
73
|
}
|
|
73
74
|
}
|
|
@@ -88,6 +89,7 @@ class DenseRegularizedLDLT {
|
|
|
88
89
|
if (inertia == ideal_inertia) {
|
|
89
90
|
// If the inertia is ideal, report success
|
|
90
91
|
m_prev_δ = δ;
|
|
92
|
+
m_prev_γ = γ;
|
|
91
93
|
return *this;
|
|
92
94
|
} else if (inertia.zero > 0) {
|
|
93
95
|
if (γ == Scalar(0)) {
|
|
@@ -115,6 +117,8 @@ class DenseRegularizedLDLT {
|
|
|
115
117
|
// caused by ill-conditioning.
|
|
116
118
|
if (δ > Scalar(1e20) || γ > Scalar(1e20)) {
|
|
117
119
|
m_info = Eigen::NumericalIssue;
|
|
120
|
+
m_prev_δ = δ;
|
|
121
|
+
m_prev_γ = γ;
|
|
118
122
|
return *this;
|
|
119
123
|
}
|
|
120
124
|
}
|
|
@@ -143,6 +147,11 @@ class DenseRegularizedLDLT {
|
|
|
143
147
|
/// @return Hessian regularization factor.
|
|
144
148
|
Scalar hessian_regularization() const { return m_prev_δ; }
|
|
145
149
|
|
|
150
|
+
/// Returns the constraint Jacobian regularization factor.
|
|
151
|
+
///
|
|
152
|
+
/// @return Constraint Jacobian regularization factor.
|
|
153
|
+
Scalar constraint_jacobian_regularization() const { return m_prev_γ; }
|
|
154
|
+
|
|
146
155
|
private:
|
|
147
156
|
using Solver = Eigen::LDLT<DenseMatrix>;
|
|
148
157
|
|
|
@@ -166,6 +175,9 @@ class DenseRegularizedLDLT {
|
|
|
166
175
|
/// The value of δ from the previous run of compute().
|
|
167
176
|
Scalar m_prev_δ{0};
|
|
168
177
|
|
|
178
|
+
/// The value of γ from the previous run of compute().
|
|
179
|
+
Scalar m_prev_γ{0};
|
|
180
|
+
|
|
169
181
|
/// Returns regularization matrix.
|
|
170
182
|
///
|
|
171
183
|
/// [δI 0]
|
|
@@ -116,6 +116,17 @@ class RegularizedLDLT {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
/// Returns the constraint Jacobian regularization factor.
|
|
120
|
+
///
|
|
121
|
+
/// @return Constraint Jacobian regularization factor.
|
|
122
|
+
Scalar constraint_jacobian_regularization() const {
|
|
123
|
+
if (m_use_sparse_solver) {
|
|
124
|
+
return m_sparse_solver.constraint_jacobian_regularization();
|
|
125
|
+
} else {
|
|
126
|
+
return m_dense_solver.constraint_jacobian_regularization();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
119
130
|
private:
|
|
120
131
|
bool m_use_sparse_solver;
|
|
121
132
|
SparseRegularizedLDLT<Scalar> m_sparse_solver;
|
|
@@ -83,6 +83,7 @@ class SparseRegularizedLDLT {
|
|
|
83
83
|
if (Inertia{D} == ideal_inertia &&
|
|
84
84
|
(D.cwiseAbs().array() >= Scalar(1e-4)).all()) {
|
|
85
85
|
m_prev_δ = Scalar(0);
|
|
86
|
+
m_prev_γ = Scalar(0);
|
|
86
87
|
return *this;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
@@ -104,6 +105,7 @@ class SparseRegularizedLDLT {
|
|
|
104
105
|
if (inertia == ideal_inertia) {
|
|
105
106
|
// If the inertia is ideal, report success
|
|
106
107
|
m_prev_δ = δ;
|
|
108
|
+
m_prev_γ = γ;
|
|
107
109
|
return *this;
|
|
108
110
|
} else if (inertia.zero > 0) {
|
|
109
111
|
if (γ == Scalar(0)) {
|
|
@@ -131,6 +133,8 @@ class SparseRegularizedLDLT {
|
|
|
131
133
|
// caused by ill-conditioning.
|
|
132
134
|
if (δ > Scalar(1e20) || γ > Scalar(1e20)) {
|
|
133
135
|
m_info = Eigen::NumericalIssue;
|
|
136
|
+
m_prev_δ = δ;
|
|
137
|
+
m_prev_γ = γ;
|
|
134
138
|
return *this;
|
|
135
139
|
}
|
|
136
140
|
}
|
|
@@ -159,6 +163,11 @@ class SparseRegularizedLDLT {
|
|
|
159
163
|
/// @return Hessian regularization factor.
|
|
160
164
|
Scalar hessian_regularization() const { return m_prev_δ; }
|
|
161
165
|
|
|
166
|
+
/// Returns the constraint Jacobian regularization factor.
|
|
167
|
+
///
|
|
168
|
+
/// @return Constraint Jacobian regularization factor.
|
|
169
|
+
Scalar constraint_jacobian_regularization() const { return m_prev_γ; }
|
|
170
|
+
|
|
162
171
|
private:
|
|
163
172
|
using Solver = Eigen::SimplicialLDLT<SparseMatrix>;
|
|
164
173
|
|
|
@@ -183,6 +192,9 @@ class SparseRegularizedLDLT {
|
|
|
183
192
|
/// The value of δ from the previous run of compute().
|
|
184
193
|
Scalar m_prev_δ{0};
|
|
185
194
|
|
|
195
|
+
/// The value of γ from the previous run of compute().
|
|
196
|
+
Scalar m_prev_γ{0};
|
|
197
|
+
|
|
186
198
|
/// Returns regularization matrix.
|
|
187
199
|
///
|
|
188
200
|
/// [δI 0]
|
|
@@ -182,6 +182,7 @@ inline void print_bound_constraint_global_infeasibility_error(
|
|
|
182
182
|
/// @param complementarity The complementarity.
|
|
183
183
|
/// @param μ The barrier parameter.
|
|
184
184
|
/// @param δ The Hessian regularization factor.
|
|
185
|
+
/// @param γ The constraint Jacobian regularization factor.
|
|
185
186
|
/// @param full_primal_step_inf_norm The infinity norm of the full primal step.
|
|
186
187
|
/// @param full_dual_step_inf_norm The infinity norm of the full dual step.
|
|
187
188
|
/// @param primal_α The primal step size.
|
|
@@ -194,23 +195,23 @@ void print_iteration_diagnostics(int iterations, IterationType type,
|
|
|
194
195
|
const std::chrono::duration<Rep, Period>& time,
|
|
195
196
|
Scalar error, Scalar cost,
|
|
196
197
|
Scalar infeasibility, Scalar complementarity,
|
|
197
|
-
Scalar μ, Scalar δ,
|
|
198
|
+
Scalar μ, Scalar δ, Scalar γ,
|
|
198
199
|
Scalar full_primal_step_inf_norm,
|
|
199
200
|
Scalar full_dual_step_inf_norm,
|
|
200
201
|
Scalar primal_α, Scalar primal_α_max,
|
|
201
202
|
Scalar α_reduction_factor, Scalar dual_α) {
|
|
202
203
|
if (iterations % 20 == 0) {
|
|
203
204
|
if (iterations == 0) {
|
|
204
|
-
slp::println("┏{:━^
|
|
205
|
+
slp::println("┏{:━^122}┓", "");
|
|
205
206
|
} else {
|
|
206
|
-
slp::println("┢{:━^
|
|
207
|
+
slp::println("┢{:━^122}┪", "");
|
|
207
208
|
}
|
|
208
209
|
slp::println(
|
|
209
|
-
"┃{:^4} {:^4} {:^9} {:^10} {:^11} {:^10} {:^8} {:^8} {:^5} {:^
|
|
210
|
-
"{:^8} {:^8} {:^2}┃",
|
|
210
|
+
"┃{:^4} {:^4} {:^9} {:^10} {:^11} {:^10} {:^8} {:^8} {:^5} {:^5} {:^8} "
|
|
211
|
+
"{:^8} {:^8} {:^8} {:^2}┃",
|
|
211
212
|
"iter", "type", "duration", "error", "cost", "infeas.", "complem.", "μ",
|
|
212
|
-
"δ", "|p_pr|", "|p_du|", "α_pr", "α_du", "↩");
|
|
213
|
-
slp::println("┡{:━^
|
|
213
|
+
"δ", "γ", "|p_pr|", "|p_du|", "α_pr", "α_du", "↩");
|
|
214
|
+
slp::println("┡{:━^122}┩", "");
|
|
214
215
|
}
|
|
215
216
|
|
|
216
217
|
// For the number of backtracks, we want x such that:
|
|
@@ -229,10 +230,10 @@ void print_iteration_diagnostics(int iterations, IterationType type,
|
|
|
229
230
|
|
|
230
231
|
constexpr std::array ITERATION_TYPES{"norm", "✓SOC", "XSOC", "rest"};
|
|
231
232
|
slp::println(
|
|
232
|
-
"│{:4} {:4} {:9.3f} {:.4e} {:11.4e} {:.4e} {:.2e} {:.2e} {:<5} {
|
|
233
|
-
"{:.2e} {:.2e} {:.2e} {:2d}│",
|
|
233
|
+
"│{:4} {:4} {:9.3f} {:.4e} {:11.4e} {:.4e} {:.2e} {:.2e} {:<5} {:<5} "
|
|
234
|
+
"{:.2e} {:.2e} {:.2e} {:.2e} {:2d}│",
|
|
234
235
|
iterations, ITERATION_TYPES[std::to_underlying(type)], to_ms(time), error,
|
|
235
|
-
cost, infeasibility, complementarity, μ, power_of_10(δ),
|
|
236
|
+
cost, infeasibility, complementarity, μ, power_of_10(δ), power_of_10(γ),
|
|
236
237
|
full_primal_step_inf_norm, full_dual_step_inf_norm, primal_α, dual_α,
|
|
237
238
|
backtracks);
|
|
238
239
|
}
|
|
@@ -243,7 +244,7 @@ void print_iteration_diagnostics(int iterations, IterationType type,
|
|
|
243
244
|
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
|
244
245
|
/// Prints bottom of iteration diagnostics table.
|
|
245
246
|
inline void print_bottom_iteration_diagnostics() {
|
|
246
|
-
slp::println("└{:─^
|
|
247
|
+
slp::println("└{:─^122}┘", "");
|
|
247
248
|
}
|
|
248
249
|
#else
|
|
249
250
|
#define print_bottom_iteration_diagnostics(...)
|
{sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/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
|
{sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/pyproject.toml
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.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/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.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/util/pool.cpp
RENAMED
|
File without changes
|