sleipnirgroup-jormungandr 0.6.7.dev66__tar.gz → 0.6.7.dev67__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sleipnirgroup-jormungandr might be problematic. Click here for more details.

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