sleipnirgroup-jormungandr 0.5.1.dev6__tar.gz → 0.5.1.dev7__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.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/problem.hpp +73 -36
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/optimization/solver/interior_point.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/util/pool.cpp +0 -0
|
@@ -311,19 +311,11 @@ class Problem {
|
|
|
311
311
|
return ExitStatus::SUCCESS;
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
-
gch::small_vector<SetupProfiler> ad_setup_profilers;
|
|
315
|
-
ad_setup_profilers.emplace_back("setup").start();
|
|
316
|
-
|
|
317
314
|
VariableMatrix<Scalar> x_ad{m_decision_variables};
|
|
318
315
|
|
|
319
316
|
// Set up cost function
|
|
320
317
|
Variable f = m_f.value_or(Scalar(0));
|
|
321
318
|
|
|
322
|
-
// Set up gradient autodiff
|
|
323
|
-
ad_setup_profilers.emplace_back("↳ ∇f(x)").start();
|
|
324
|
-
Gradient g{f, x_ad};
|
|
325
|
-
ad_setup_profilers.back().stop();
|
|
326
|
-
|
|
327
319
|
int num_decision_variables = m_decision_variables.size();
|
|
328
320
|
int num_equality_constraints = m_equality_constraints.size();
|
|
329
321
|
int num_inequality_constraints = m_inequality_constraints.size();
|
|
@@ -344,10 +336,22 @@ class Problem {
|
|
|
344
336
|
slp::println("\nInvoking Newton solver\n");
|
|
345
337
|
}
|
|
346
338
|
|
|
339
|
+
gch::small_vector<SetupProfiler> ad_setup_profilers;
|
|
340
|
+
ad_setup_profilers.emplace_back("setup");
|
|
341
|
+
ad_setup_profilers.emplace_back("↳ ∇f(x)");
|
|
342
|
+
ad_setup_profilers.emplace_back("↳ ∇²ₓₓL");
|
|
343
|
+
|
|
344
|
+
ad_setup_profilers[0].start();
|
|
345
|
+
|
|
346
|
+
// Set up gradient autodiff
|
|
347
|
+
ad_setup_profilers[1].start();
|
|
348
|
+
Gradient g{f, x_ad};
|
|
349
|
+
ad_setup_profilers[1].stop();
|
|
350
|
+
|
|
347
351
|
// Set up Lagrangian Hessian autodiff
|
|
348
|
-
ad_setup_profilers.
|
|
352
|
+
ad_setup_profilers[2].start();
|
|
349
353
|
Hessian<Scalar, Eigen::Lower> H{f, x_ad};
|
|
350
|
-
ad_setup_profilers.
|
|
354
|
+
ad_setup_profilers[2].stop();
|
|
351
355
|
|
|
352
356
|
ad_setup_profilers[0].stop();
|
|
353
357
|
|
|
@@ -395,25 +399,41 @@ class Problem {
|
|
|
395
399
|
}
|
|
396
400
|
|
|
397
401
|
VariableMatrix<Scalar> c_e_ad{m_equality_constraints};
|
|
398
|
-
|
|
399
|
-
// Set up Lagrangian
|
|
400
402
|
VariableMatrix<Scalar> y_ad(num_equality_constraints);
|
|
401
|
-
Variable L = f - y_ad.T() * c_e_ad;
|
|
402
403
|
|
|
403
|
-
|
|
404
|
-
ad_setup_profilers.emplace_back("
|
|
405
|
-
|
|
406
|
-
ad_setup_profilers.
|
|
404
|
+
gch::small_vector<SetupProfiler> ad_setup_profilers;
|
|
405
|
+
ad_setup_profilers.emplace_back("setup");
|
|
406
|
+
ad_setup_profilers.emplace_back("↳ ∇f(x)");
|
|
407
|
+
ad_setup_profilers.emplace_back("↳ ∇²ₓₓL");
|
|
408
|
+
ad_setup_profilers.emplace_back(" ↳ ∇²ₓₓL_f");
|
|
409
|
+
ad_setup_profilers.emplace_back(" ↳ ∇²ₓₓL_c");
|
|
410
|
+
ad_setup_profilers.emplace_back("↳ ∂cₑ/∂x");
|
|
411
|
+
|
|
412
|
+
ad_setup_profilers[0].start();
|
|
413
|
+
|
|
414
|
+
// Set up gradient autodiff
|
|
415
|
+
ad_setup_profilers[1].start();
|
|
416
|
+
Gradient g{f, x_ad};
|
|
417
|
+
ad_setup_profilers[1].stop();
|
|
418
|
+
|
|
419
|
+
ad_setup_profilers[2].start();
|
|
420
|
+
|
|
421
|
+
// Set up cost part of Lagrangian Hessian autodiff
|
|
422
|
+
ad_setup_profilers[3].start();
|
|
423
|
+
Hessian<Scalar, Eigen::Lower> H_f{f, x_ad};
|
|
424
|
+
ad_setup_profilers[3].stop();
|
|
407
425
|
|
|
408
426
|
// Set up constraint part of Lagrangian Hessian autodiff
|
|
409
|
-
ad_setup_profilers.
|
|
427
|
+
ad_setup_profilers[4].start();
|
|
410
428
|
Hessian<Scalar, Eigen::Lower> H_c{-y_ad.T() * c_e_ad, x_ad};
|
|
411
|
-
ad_setup_profilers.
|
|
429
|
+
ad_setup_profilers[4].stop();
|
|
430
|
+
|
|
431
|
+
ad_setup_profilers[2].stop();
|
|
412
432
|
|
|
413
433
|
// Set up equality constraint Jacobian autodiff
|
|
414
|
-
ad_setup_profilers.
|
|
434
|
+
ad_setup_profilers[5].start();
|
|
415
435
|
Jacobian A_e{c_e_ad, x_ad};
|
|
416
|
-
ad_setup_profilers.
|
|
436
|
+
ad_setup_profilers[5].stop();
|
|
417
437
|
|
|
418
438
|
ad_setup_profilers[0].stop();
|
|
419
439
|
|
|
@@ -457,7 +477,7 @@ class Problem {
|
|
|
457
477
|
[&](const DenseVector& x, const DenseVector& y) -> SparseMatrix {
|
|
458
478
|
x_ad.set_value(x);
|
|
459
479
|
y_ad.set_value(y);
|
|
460
|
-
return
|
|
480
|
+
return H_f.value() + H_c.value();
|
|
461
481
|
},
|
|
462
482
|
[&](const DenseVector& x, const DenseVector& y) -> SparseMatrix {
|
|
463
483
|
x_ad.set_value(x);
|
|
@@ -482,32 +502,49 @@ class Problem {
|
|
|
482
502
|
|
|
483
503
|
VariableMatrix<Scalar> c_e_ad{m_equality_constraints};
|
|
484
504
|
VariableMatrix<Scalar> c_i_ad{m_inequality_constraints};
|
|
485
|
-
|
|
486
|
-
// Set up Lagrangian
|
|
487
505
|
VariableMatrix<Scalar> y_ad(num_equality_constraints);
|
|
488
506
|
VariableMatrix<Scalar> z_ad(num_inequality_constraints);
|
|
489
|
-
Variable L = f - y_ad.T() * c_e_ad - z_ad.T() * c_i_ad;
|
|
490
507
|
|
|
491
|
-
|
|
492
|
-
ad_setup_profilers.emplace_back("
|
|
493
|
-
|
|
494
|
-
ad_setup_profilers.
|
|
508
|
+
gch::small_vector<SetupProfiler> ad_setup_profilers;
|
|
509
|
+
ad_setup_profilers.emplace_back("setup");
|
|
510
|
+
ad_setup_profilers.emplace_back("↳ ∇f(x)");
|
|
511
|
+
ad_setup_profilers.emplace_back("↳ ∇²ₓₓL");
|
|
512
|
+
ad_setup_profilers.emplace_back(" ↳ ∇²ₓₓL_f");
|
|
513
|
+
ad_setup_profilers.emplace_back(" ↳ ∇²ₓₓL_c");
|
|
514
|
+
ad_setup_profilers.emplace_back("↳ ∂cₑ/∂x");
|
|
515
|
+
ad_setup_profilers.emplace_back("↳ ∂cᵢ/∂x");
|
|
516
|
+
|
|
517
|
+
ad_setup_profilers[0].start();
|
|
518
|
+
|
|
519
|
+
// Set up gradient autodiff
|
|
520
|
+
ad_setup_profilers[1].start();
|
|
521
|
+
Gradient g{f, x_ad};
|
|
522
|
+
ad_setup_profilers[1].stop();
|
|
523
|
+
|
|
524
|
+
ad_setup_profilers[2].start();
|
|
525
|
+
|
|
526
|
+
// Set up cost part of Lagrangian Hessian autodiff
|
|
527
|
+
ad_setup_profilers[3].start();
|
|
528
|
+
Hessian<Scalar, Eigen::Lower> H_f{f, x_ad};
|
|
529
|
+
ad_setup_profilers[3].stop();
|
|
495
530
|
|
|
496
531
|
// Set up constraint part of Lagrangian Hessian autodiff
|
|
497
|
-
ad_setup_profilers.
|
|
532
|
+
ad_setup_profilers[4].start();
|
|
498
533
|
Hessian<Scalar, Eigen::Lower> H_c{-y_ad.T() * c_e_ad - z_ad.T() * c_i_ad,
|
|
499
534
|
x_ad};
|
|
500
|
-
ad_setup_profilers.
|
|
535
|
+
ad_setup_profilers[4].stop();
|
|
536
|
+
|
|
537
|
+
ad_setup_profilers[2].stop();
|
|
501
538
|
|
|
502
539
|
// Set up equality constraint Jacobian autodiff
|
|
503
|
-
ad_setup_profilers.
|
|
540
|
+
ad_setup_profilers[5].start();
|
|
504
541
|
Jacobian A_e{c_e_ad, x_ad};
|
|
505
|
-
ad_setup_profilers.
|
|
542
|
+
ad_setup_profilers[5].stop();
|
|
506
543
|
|
|
507
544
|
// Set up inequality constraint Jacobian autodiff
|
|
508
|
-
ad_setup_profilers.
|
|
545
|
+
ad_setup_profilers[6].start();
|
|
509
546
|
Jacobian A_i{c_i_ad, x_ad};
|
|
510
|
-
ad_setup_profilers.
|
|
547
|
+
ad_setup_profilers[6].stop();
|
|
511
548
|
|
|
512
549
|
ad_setup_profilers[0].stop();
|
|
513
550
|
|
|
@@ -575,7 +612,7 @@ class Problem {
|
|
|
575
612
|
x_ad.set_value(x);
|
|
576
613
|
y_ad.set_value(y);
|
|
577
614
|
z_ad.set_value(z);
|
|
578
|
-
return
|
|
615
|
+
return H_f.value() + H_c.value();
|
|
579
616
|
},
|
|
580
617
|
[&](const DenseVector& x, const DenseVector& y,
|
|
581
618
|
const DenseVector& z) -> SparseMatrix {
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/CMakeLists.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/cmake/BuildTypes.cmake
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/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
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/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
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/python/cpp/binders.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.5.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/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.1.dev6 → sleipnirgroup_jormungandr-0.5.1.dev7}/src/util/pool.cpp
RENAMED
|
File without changes
|