sleipnirgroup-jormungandr 0.6.7.dev43__tar.gz → 0.6.7.dev45__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.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/expression.hpp +1 -2
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +5 -4
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/intrusive_shared_ptr.hpp +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/pool.hpp +5 -4
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/src/sleipnir/__init__.py +1 -1
- sleipnirgroup_jormungandr-0.6.7.dev43/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -30
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/ipm.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/near.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/optimization/solver/ipm.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/util/pool.cpp +0 -0
|
@@ -772,8 +772,7 @@ constexpr void dec_ref_count(Expression<Scalar>* expr) {
|
|
|
772
772
|
// refcounts, which was already done above.
|
|
773
773
|
if constexpr (USE_POOL_ALLOCATOR) {
|
|
774
774
|
auto alloc = global_pool_allocator<Expression<Scalar>>();
|
|
775
|
-
std::allocator_traits<decltype(alloc)>::deallocate(
|
|
776
|
-
alloc, elem, sizeof(Expression<Scalar>));
|
|
775
|
+
std::allocator_traits<decltype(alloc)>::deallocate(alloc, elem, 1);
|
|
777
776
|
} else {
|
|
778
777
|
operator delete(elem);
|
|
779
778
|
}
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
#include "sleipnir/optimization/solver/options.hpp"
|
|
20
20
|
#include "sleipnir/optimization/solver/sqp_matrix_callbacks.hpp"
|
|
21
21
|
#include "sleipnir/optimization/solver/util/append_as_triplets.hpp"
|
|
22
|
-
#include "sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp"
|
|
23
22
|
#include "sleipnir/optimization/solver/util/problem_scaling.hpp"
|
|
24
23
|
#include "sleipnir/util/print_diagnostics.hpp"
|
|
25
24
|
|
|
@@ -317,7 +316,9 @@ ExitStatus feasibility_restoration(
|
|
|
317
316
|
auto g = matrices.g(x);
|
|
318
317
|
auto A_e = matrices.A_e(x);
|
|
319
318
|
|
|
320
|
-
|
|
319
|
+
// Reset the equality constraint duals since feasibility restoration didn't
|
|
320
|
+
// account for the cost function
|
|
321
|
+
y.setZero();
|
|
321
322
|
|
|
322
323
|
return ExitStatus::SUCCESS;
|
|
323
324
|
} else if (status == ExitStatus::SUCCESS) {
|
|
@@ -649,8 +650,8 @@ ExitStatus feasibility_restoration(
|
|
|
649
650
|
const DenseVector c_i = matrices.c_i(x);
|
|
650
651
|
s = (c_i.array() >= Scalar(1e-2)).select(c_i, Scalar(1));
|
|
651
652
|
|
|
652
|
-
// Reset the equality constraint duals since
|
|
653
|
-
//
|
|
653
|
+
// Reset the equality constraint duals since feasibility restoration didn't
|
|
654
|
+
// account for the cost function
|
|
654
655
|
y.setZero();
|
|
655
656
|
|
|
656
657
|
// Update the inequality constraint duals with a Newton step for
|
|
@@ -272,7 +272,7 @@ IntrusiveSharedPtr<T> make_intrusive_shared(Args&&... args) {
|
|
|
272
272
|
/// @param args Constructor arguments for T.
|
|
273
273
|
template <typename T, typename Alloc, typename... Args>
|
|
274
274
|
IntrusiveSharedPtr<T> allocate_intrusive_shared(Alloc alloc, Args&&... args) {
|
|
275
|
-
auto ptr = std::allocator_traits<Alloc>::allocate(alloc,
|
|
275
|
+
auto ptr = std::allocator_traits<Alloc>::allocate(alloc, 1);
|
|
276
276
|
std::allocator_traits<Alloc>::construct(alloc, ptr,
|
|
277
277
|
std::forward<Args>(args)...);
|
|
278
278
|
return IntrusiveSharedPtr<T>{ptr};
|
|
@@ -199,19 +199,20 @@ class PoolAllocator {
|
|
|
199
199
|
|
|
200
200
|
/// Returns a block of memory from the pool.
|
|
201
201
|
///
|
|
202
|
-
/// @param n Number of
|
|
202
|
+
/// @param n Number of objects in the block.
|
|
203
203
|
/// @return A block of memory from the pool.
|
|
204
204
|
[[nodiscard]]
|
|
205
205
|
constexpr T* allocate(size_t n) {
|
|
206
|
-
return static_cast<T*>(
|
|
206
|
+
return static_cast<T*>(
|
|
207
|
+
m_memory_resource->allocate(n * sizeof(T), alignof(T)));
|
|
207
208
|
}
|
|
208
209
|
|
|
209
210
|
/// Gives a block of memory back to the pool.
|
|
210
211
|
///
|
|
211
212
|
/// @param p A pointer to the block of memory.
|
|
212
|
-
/// @param n Number of
|
|
213
|
+
/// @param n Number of objects in the block.
|
|
213
214
|
constexpr void deallocate(T* p, size_t n) {
|
|
214
|
-
m_memory_resource->deallocate(p, n, alignof(T));
|
|
215
|
+
m_memory_resource->deallocate(p, n * sizeof(T), alignof(T));
|
|
215
216
|
}
|
|
216
217
|
|
|
217
218
|
private:
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Sleipnir contributors
|
|
2
|
-
|
|
3
|
-
#pragma once
|
|
4
|
-
|
|
5
|
-
#include <Eigen/Core>
|
|
6
|
-
#include <Eigen/SparseCholesky>
|
|
7
|
-
#include <Eigen/SparseCore>
|
|
8
|
-
|
|
9
|
-
namespace slp {
|
|
10
|
-
|
|
11
|
-
/// Estimates Lagrange multipliers for SQP.
|
|
12
|
-
///
|
|
13
|
-
/// @tparam Scalar Scalar type.
|
|
14
|
-
/// @param g Cost function gradient ∇f.
|
|
15
|
-
/// @param A_e Equality constraint Jacobian Aₑ(x).
|
|
16
|
-
template <typename Scalar>
|
|
17
|
-
Eigen::Vector<Scalar, Eigen::Dynamic> lagrange_multiplier_estimate(
|
|
18
|
-
const Eigen::SparseVector<Scalar>& g,
|
|
19
|
-
const Eigen::SparseMatrix<Scalar>& A_e) {
|
|
20
|
-
// Lagrange multiplier estimates
|
|
21
|
-
//
|
|
22
|
-
// ∇f − Aₑᵀy = 0
|
|
23
|
-
// Aₑᵀy = ∇f
|
|
24
|
-
// y = (AₑAₑᵀ)⁻¹Aₑ∇f
|
|
25
|
-
return Eigen::SimplicialLDLT<Eigen::SparseMatrix<Scalar>>{A_e *
|
|
26
|
-
A_e.transpose()}
|
|
27
|
-
.solve(A_e * g);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
} // namespace slp
|
{sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/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.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/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.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/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
|
{sleipnirgroup_jormungandr-0.6.7.dev43 → sleipnirgroup_jormungandr-0.6.7.dev45}/src/util/pool.cpp
RENAMED
|
File without changes
|