sleipnirgroup-jormungandr 0.6.4.dev9__tar.gz → 0.6.5.dev2__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.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/expression_graph.hpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/hessian.hpp +5 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/jacobian.hpp +4 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/variable.hpp +3 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/variable_block.hpp +3 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/variable_matrix.hpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +3 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +1 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/print.hpp +1 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/print_diagnostics.hpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/spy.hpp +1 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_gradient.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_hessian.cpp +1 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_jacobian.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_variable_block.cpp +9 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_variable_matrix.cpp +9 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/main.cpp +3 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/bind_ocp.cpp +9 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/bind_problem.cpp +5 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/solver/bind_iteration_info.cpp +1 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/try_cast.hpp +1 -0
- sleipnirgroup_jormungandr-0.6.5.dev2/python/src/sleipnir/__init__.py +5 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/src/sleipnir/autodiff/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/src/sleipnir/optimization/__init__.py +2 -8
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/autodiff/gradient_test.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/autodiff/hessian_test.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/autodiff/variable_matrix_test.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/arm_on_elevator_problem_test.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/cart_pole_util.py +2 -2
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/differential_drive_util.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/flywheel_ocp_test.py +7 -7
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/multistart_test.py +2 -2
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/nonlinear_problem_test.py +1 -1
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/autodiff/gradient.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/autodiff/hessian.cpp +4 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/autodiff/jacobian.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/optimization/ocp.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/optimization/problem.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/optimization/solver/interior_point.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/optimization/solver/newton.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/optimization/solver/sqp.cpp +2 -0
- sleipnirgroup_jormungandr-0.6.4.dev9/python/src/sleipnir/__init__.py +0 -5
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/util/pool.cpp +0 -0
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
#pragma once
|
|
4
4
|
|
|
5
5
|
#include <ranges>
|
|
6
|
+
#include <utility>
|
|
6
7
|
|
|
7
8
|
#include <Eigen/SparseCore>
|
|
8
9
|
#include <gch/small_vector.hpp>
|
|
9
10
|
|
|
10
11
|
#include "sleipnir/autodiff/expression.hpp"
|
|
12
|
+
#include "sleipnir/autodiff/expression_type.hpp"
|
|
11
13
|
|
|
12
14
|
namespace slp::detail {
|
|
13
15
|
|
|
@@ -2,16 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
#pragma once
|
|
4
4
|
|
|
5
|
+
#include <cstddef>
|
|
5
6
|
#include <utility>
|
|
6
7
|
|
|
8
|
+
#include <Eigen/Core>
|
|
7
9
|
#include <Eigen/SparseCore>
|
|
8
10
|
#include <gch/small_vector.hpp>
|
|
9
11
|
|
|
12
|
+
#include "sleipnir/autodiff/expression.hpp"
|
|
10
13
|
#include "sleipnir/autodiff/expression_graph.hpp"
|
|
14
|
+
#include "sleipnir/autodiff/expression_type.hpp"
|
|
11
15
|
#include "sleipnir/autodiff/variable.hpp"
|
|
12
16
|
#include "sleipnir/autodiff/variable_matrix.hpp"
|
|
13
17
|
#include "sleipnir/util/assert.hpp"
|
|
14
18
|
#include "sleipnir/util/concepts.hpp"
|
|
19
|
+
#include "sleipnir/util/empty.hpp"
|
|
15
20
|
#include "sleipnir/util/symbol_exports.hpp"
|
|
16
21
|
|
|
17
22
|
namespace slp {
|
|
@@ -2,16 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
#pragma once
|
|
4
4
|
|
|
5
|
+
#include <cstddef>
|
|
5
6
|
#include <utility>
|
|
6
7
|
|
|
7
8
|
#include <Eigen/SparseCore>
|
|
8
9
|
#include <gch/small_vector.hpp>
|
|
9
10
|
|
|
11
|
+
#include "sleipnir/autodiff/expression.hpp"
|
|
10
12
|
#include "sleipnir/autodiff/expression_graph.hpp"
|
|
13
|
+
#include "sleipnir/autodiff/expression_type.hpp"
|
|
11
14
|
#include "sleipnir/autodiff/variable.hpp"
|
|
12
15
|
#include "sleipnir/autodiff/variable_matrix.hpp"
|
|
13
16
|
#include "sleipnir/util/assert.hpp"
|
|
14
17
|
#include "sleipnir/util/concepts.hpp"
|
|
18
|
+
#include "sleipnir/util/empty.hpp"
|
|
15
19
|
#include "sleipnir/util/symbol_exports.hpp"
|
|
16
20
|
|
|
17
21
|
namespace slp {
|
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
#include <algorithm>
|
|
6
6
|
#include <concepts>
|
|
7
|
+
#include <cstddef>
|
|
7
8
|
#include <initializer_list>
|
|
8
9
|
#include <source_location>
|
|
10
|
+
#include <type_traits>
|
|
9
11
|
#include <utility>
|
|
10
12
|
#include <vector>
|
|
11
13
|
|
|
@@ -14,6 +16,7 @@
|
|
|
14
16
|
|
|
15
17
|
#include "sleipnir/autodiff/expression.hpp"
|
|
16
18
|
#include "sleipnir/autodiff/expression_graph.hpp"
|
|
19
|
+
#include "sleipnir/autodiff/expression_type.hpp"
|
|
17
20
|
#include "sleipnir/autodiff/sleipnir_base.hpp"
|
|
18
21
|
#include "sleipnir/util/assert.hpp"
|
|
19
22
|
#include "sleipnir/util/concepts.hpp"
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
#pragma once
|
|
4
4
|
|
|
5
5
|
#include <concepts>
|
|
6
|
+
#include <cstddef>
|
|
7
|
+
#include <iterator>
|
|
6
8
|
#include <type_traits>
|
|
7
9
|
#include <utility>
|
|
8
10
|
|
|
@@ -12,6 +14,7 @@
|
|
|
12
14
|
#include "sleipnir/autodiff/slice.hpp"
|
|
13
15
|
#include "sleipnir/autodiff/variable.hpp"
|
|
14
16
|
#include "sleipnir/util/assert.hpp"
|
|
17
|
+
#include "sleipnir/util/concepts.hpp"
|
|
15
18
|
#include "sleipnir/util/empty.hpp"
|
|
16
19
|
#include "sleipnir/util/function_ref.hpp"
|
|
17
20
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
#include <algorithm>
|
|
6
6
|
#include <concepts>
|
|
7
|
+
#include <cstddef>
|
|
7
8
|
#include <initializer_list>
|
|
8
9
|
#include <iterator>
|
|
9
10
|
#include <span>
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
#include <Eigen/QR>
|
|
15
16
|
#include <gch/small_vector.hpp>
|
|
16
17
|
|
|
18
|
+
#include "sleipnir/autodiff/expression_graph.hpp"
|
|
17
19
|
#include "sleipnir/autodiff/sleipnir_base.hpp"
|
|
18
20
|
#include "sleipnir/autodiff/slice.hpp"
|
|
19
21
|
#include "sleipnir/autodiff/variable.hpp"
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
#include <algorithm>
|
|
6
6
|
#include <cmath>
|
|
7
|
+
#include <functional>
|
|
7
8
|
#include <span>
|
|
8
9
|
#include <tuple>
|
|
9
10
|
#include <utility>
|
|
10
11
|
|
|
11
12
|
#include <Eigen/Core>
|
|
13
|
+
#include <Eigen/SparseCore>
|
|
12
14
|
#include <gch/small_vector.hpp>
|
|
13
15
|
|
|
14
16
|
#include "sleipnir/optimization/solver/exit_status.hpp"
|
|
@@ -18,6 +20,7 @@
|
|
|
18
20
|
#include "sleipnir/optimization/solver/sqp_matrix_callbacks.hpp"
|
|
19
21
|
#include "sleipnir/optimization/solver/util/append_as_triplets.hpp"
|
|
20
22
|
#include "sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp"
|
|
23
|
+
#include "sleipnir/optimization/solver/util/problem_scaling.hpp"
|
|
21
24
|
|
|
22
25
|
namespace slp {
|
|
23
26
|
|
|
@@ -8,11 +8,20 @@
|
|
|
8
8
|
#include <nanobind/stl/string.h>
|
|
9
9
|
#include <nanobind/stl/vector.h>
|
|
10
10
|
|
|
11
|
+
#include <stdint.h>
|
|
12
|
+
|
|
13
|
+
#include <concepts>
|
|
11
14
|
#include <format>
|
|
15
|
+
#include <functional>
|
|
16
|
+
#include <stdexcept>
|
|
12
17
|
#include <string>
|
|
13
18
|
|
|
19
|
+
#include <Eigen/Core>
|
|
20
|
+
#include <sleipnir/autodiff/slice.hpp>
|
|
21
|
+
#include <sleipnir/autodiff/variable.hpp>
|
|
14
22
|
#include <sleipnir/autodiff/variable_block.hpp>
|
|
15
23
|
#include <sleipnir/autodiff/variable_matrix.hpp>
|
|
24
|
+
#include <sleipnir/util/concepts.hpp>
|
|
16
25
|
|
|
17
26
|
#include "docstrings.hpp"
|
|
18
27
|
#include "for_each_type.hpp"
|
|
@@ -8,12 +8,21 @@
|
|
|
8
8
|
#include <nanobind/stl/string.h>
|
|
9
9
|
#include <nanobind/stl/vector.h>
|
|
10
10
|
|
|
11
|
+
#include <stdint.h>
|
|
12
|
+
|
|
11
13
|
#include <concepts>
|
|
12
14
|
#include <format>
|
|
15
|
+
#include <functional>
|
|
16
|
+
#include <stdexcept>
|
|
13
17
|
#include <string>
|
|
14
18
|
#include <vector>
|
|
15
19
|
|
|
20
|
+
#include <Eigen/Core>
|
|
21
|
+
#include <sleipnir/autodiff/slice.hpp>
|
|
22
|
+
#include <sleipnir/autodiff/variable.hpp>
|
|
23
|
+
#include <sleipnir/autodiff/variable_block.hpp>
|
|
16
24
|
#include <sleipnir/autodiff/variable_matrix.hpp>
|
|
25
|
+
#include <sleipnir/util/concepts.hpp>
|
|
17
26
|
|
|
18
27
|
#include "docstrings.hpp"
|
|
19
28
|
#include "for_each_type.hpp"
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/main.cpp
RENAMED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
#include <nanobind/eigen/dense.h>
|
|
4
4
|
#include <nanobind/nanobind.h>
|
|
5
5
|
|
|
6
|
+
#include <Eigen/Core>
|
|
7
|
+
#include <sleipnir/autodiff/expression_type.hpp>
|
|
8
|
+
#include <sleipnir/autodiff/gradient.hpp>
|
|
6
9
|
#include <sleipnir/autodiff/variable.hpp>
|
|
7
10
|
#include <sleipnir/autodiff/variable_block.hpp>
|
|
8
11
|
#include <sleipnir/autodiff/variable_matrix.hpp>
|
|
@@ -5,8 +5,17 @@
|
|
|
5
5
|
#include <nanobind/stl/chrono.h>
|
|
6
6
|
#include <nanobind/stl/function.h>
|
|
7
7
|
|
|
8
|
+
#include <chrono>
|
|
9
|
+
#include <functional>
|
|
10
|
+
|
|
11
|
+
#include <Eigen/Core>
|
|
12
|
+
#include <sleipnir/autodiff/variable.hpp>
|
|
8
13
|
#include <sleipnir/autodiff/variable_matrix.hpp>
|
|
9
14
|
#include <sleipnir/optimization/ocp.hpp>
|
|
15
|
+
#include <sleipnir/optimization/ocp/dynamics_type.hpp>
|
|
16
|
+
#include <sleipnir/optimization/ocp/timestep_method.hpp>
|
|
17
|
+
#include <sleipnir/optimization/ocp/transcription_method.hpp>
|
|
18
|
+
#include <sleipnir/optimization/problem.hpp>
|
|
10
19
|
|
|
11
20
|
#include "docstrings.hpp"
|
|
12
21
|
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
#include <nanobind/nanobind.h>
|
|
4
4
|
#include <nanobind/stl/function.h>
|
|
5
5
|
|
|
6
|
+
#include <chrono>
|
|
6
7
|
#include <format>
|
|
8
|
+
#include <functional>
|
|
7
9
|
#include <string>
|
|
8
10
|
#include <utility>
|
|
9
11
|
|
|
12
|
+
#include <sleipnir/autodiff/variable.hpp>
|
|
13
|
+
#include <sleipnir/autodiff/variable_matrix.hpp>
|
|
10
14
|
#include <sleipnir/optimization/problem.hpp>
|
|
15
|
+
#include <sleipnir/optimization/solver/iteration_info.hpp>
|
|
11
16
|
#include <sleipnir/optimization/solver/options.hpp>
|
|
12
17
|
|
|
13
18
|
#include "docstrings.hpp"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import concurrent.futures
|
|
2
2
|
|
|
3
|
-
from .._sleipnir.optimization import *
|
|
3
|
+
from .._sleipnir.optimization import *
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def multistart(solve, initial_guesses):
|
|
@@ -30,10 +30,4 @@ def multistart(solve, initial_guesses):
|
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
# Prioritize successful solve, otherwise prioritize solution with lower cost
|
|
33
|
-
return min(
|
|
34
|
-
results,
|
|
35
|
-
key=lambda x: (
|
|
36
|
-
int(x[0] != ExitStatus.SUCCESS), # noqa: F405
|
|
37
|
-
x[1],
|
|
38
|
-
),
|
|
39
|
-
)
|
|
33
|
+
return min(results, key=lambda x: (int(x[0] != ExitStatus.SUCCESS), x[1]))
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import math
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
|
-
|
|
4
|
+
from sleipnir import autodiff
|
|
5
5
|
from sleipnir.autodiff import Variable, VariableMatrix
|
|
6
6
|
|
|
7
7
|
# https://underactuated.mit.edu/acrobot.html#cart_pole
|
|
@@ -30,7 +30,7 @@ from sleipnir.autodiff import Variable, VariableMatrix
|
|
|
30
30
|
|
|
31
31
|
m_c = 5.0 # Cart mass (kg)
|
|
32
32
|
m_p = 0.5 # Pole mass (kg)
|
|
33
|
-
l = 0.5 # Pole length (m)
|
|
33
|
+
l = 0.5 # Pole length (m)
|
|
34
34
|
g = 9.806 # Acceleration due to gravity (m/s²)
|
|
35
35
|
|
|
36
36
|
|
|
@@ -108,21 +108,21 @@ def flywheel_test(
|
|
|
108
108
|
assert problem.X().value(0, N) == pytest.approx(r, abs=2e-6)
|
|
109
109
|
|
|
110
110
|
# Log states for offline viewing
|
|
111
|
-
with open(f"{test_name} states.csv", "w") as
|
|
112
|
-
|
|
111
|
+
with open(f"{test_name} states.csv", "w") as file:
|
|
112
|
+
file.write("Time (s),Velocity (rad/s)\n")
|
|
113
113
|
|
|
114
114
|
for k in range(N + 1):
|
|
115
|
-
|
|
115
|
+
file.write(f"{k * dt},{problem.X().value(0, k)}\n")
|
|
116
116
|
|
|
117
117
|
# Log inputs for offline viewing
|
|
118
|
-
with open(f"{test_name} inputs.csv", "w") as
|
|
119
|
-
|
|
118
|
+
with open(f"{test_name} inputs.csv", "w") as file:
|
|
119
|
+
file.write("Time (s),Voltage (V)\n")
|
|
120
120
|
|
|
121
121
|
for k in range(N + 1):
|
|
122
122
|
if k < N:
|
|
123
|
-
|
|
123
|
+
file.write(f"{k * dt},{problem.U().value(0, k)}\n")
|
|
124
124
|
else:
|
|
125
|
-
|
|
125
|
+
file.write(f"{k * dt},0.0\n")
|
|
126
126
|
|
|
127
127
|
|
|
128
128
|
def test_flywheel_explicit_ocp():
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import pytest
|
|
2
|
-
|
|
2
|
+
from sleipnir import autodiff
|
|
3
3
|
from sleipnir.optimization import ExitStatus, Problem, multistart
|
|
4
4
|
|
|
5
5
|
|
|
@@ -30,7 +30,7 @@ def mishras_bird_function_solve(input: DecisionVariables):
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
def test_mishras_bird_function():
|
|
33
|
-
status,
|
|
33
|
+
status, _cost, variables = multistart(
|
|
34
34
|
mishras_bird_function_solve,
|
|
35
35
|
[DecisionVariables(-3, -8), DecisionVariables(-3, -1.5)],
|
|
36
36
|
)
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
#include "sleipnir/optimization/solver/interior_point.hpp"
|
|
4
4
|
|
|
5
|
+
#include "sleipnir/util/symbol_exports.hpp"
|
|
6
|
+
|
|
5
7
|
template SLEIPNIR_DLLEXPORT slp::ExitStatus slp::interior_point(
|
|
6
8
|
const InteriorPointMatrixCallbacks<double>& matrix_callbacks,
|
|
7
9
|
std::span<std::function<bool(const IterationInfo<double>& info)>>
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
#include "sleipnir/optimization/solver/newton.hpp"
|
|
4
4
|
|
|
5
|
+
#include "sleipnir/util/symbol_exports.hpp"
|
|
6
|
+
|
|
5
7
|
template SLEIPNIR_DLLEXPORT slp::ExitStatus slp::newton(
|
|
6
8
|
const NewtonMatrixCallbacks<double>& matrix_callbacks,
|
|
7
9
|
std::span<std::function<bool(const IterationInfo<double>& info)>>
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
#include "sleipnir/optimization/solver/sqp.hpp"
|
|
4
4
|
|
|
5
|
+
#include "sleipnir/util/symbol_exports.hpp"
|
|
6
|
+
|
|
5
7
|
template SLEIPNIR_DLLEXPORT slp::ExitStatus slp::sqp(
|
|
6
8
|
const SQPMatrixCallbacks<double>& matrix_callbacks,
|
|
7
9
|
std::span<std::function<bool(const IterationInfo<double>& info)>>
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/CMakeLists.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/cmake/BuildTypes.cmake
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/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
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/python/cpp/binders.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.4.dev9 → sleipnirgroup_jormungandr-0.6.5.dev2}/src/util/pool.cpp
RENAMED
|
File without changes
|