sleipnirgroup-jormungandr 0.5.6.dev10__tar.gz → 0.5.6.dev12__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.
Files changed (124) hide show
  1. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +16 -13
  3. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/inertia.hpp +6 -4
  4. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/src/sleipnir/__init__.py +1 -1
  5. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/cart_pole_ocp_test.py +1 -9
  6. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/CMakeLists.txt +0 -0
  7. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/LICENSE.txt +0 -0
  8. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/README.md +0 -0
  9. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/SleipnirConfig.cmake.in +0 -0
  10. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/cmake/BuildTypes.cmake +0 -0
  11. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/cmake/CompilerFlags.cmake +0 -0
  12. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/cmake/Pybind11Mkdoc.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/cmake/SubdirList.cmake +0 -0
  14. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/cmake/arm-none-eabi.cmake +0 -0
  15. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/expression.hpp +0 -0
  16. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  17. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/gradient.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/hessian.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/slice.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/variable.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/multistart.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/ocp.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/problem.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/options.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/assert.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/concepts.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/empty.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/function_ref.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/pool.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/print.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/profiler.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/scope_exit.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/spy.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/include/sleipnir/util/symbol_exports.hpp +0 -0
  67. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/pyproject.toml +0 -0
  68. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_variable.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  74. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  75. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/binders.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/docstrings.hpp +0 -0
  77. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/for_each_type.hpp +0 -0
  78. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/main.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/bind_ocp.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/bind_problem.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  88. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/cpp/try_cast.hpp +0 -0
  89. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/src/sleipnir/autodiff/__init__.py +0 -0
  90. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/src/sleipnir/optimization/__init__.py +0 -0
  91. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/autodiff/gradient_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/autodiff/hessian_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/autodiff/jacobian_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/autodiff/variable_matrix_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/autodiff/variable_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/cart_pole_problem_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/cart_pole_util.py +0 -0
  99. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/constraints_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/decision_variable_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/differential_drive_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/differential_drive_util.py +0 -0
  104. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/double_integrator_problem_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/flywheel_ocp_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/flywheel_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/linear_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/multistart_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/nonlinear_problem_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/optimization/solver/interior_point.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.5.6.dev10 → sleipnirgroup_jormungandr-0.5.6.dev12}/src/util/pool.cpp +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.5.6.dev10
3
+ Version: 0.5.6.dev12
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -146,12 +146,14 @@ ExitStatus feasibility_restoration(
146
146
 
147
147
  constexpr Scalar ρ(1e3);
148
148
  const Scalar μ(options.tolerance / 10.0);
149
- const Scalar ζ = sqrt(μ);
150
149
 
151
150
  const DenseVector c_e = matrices.c_e(x);
152
151
 
152
+ Scalar fr_μ = std::max(μ, c_e.template lpNorm<Eigen::Infinity>());
153
+ const Scalar ζ = sqrt(fr_μ);
154
+
153
155
  const auto& x_r = x;
154
- const auto [p_e_0, n_e_0] = compute_p_n(c_e, ρ, μ);
156
+ const auto [p_e_0, n_e_0] = compute_p_n(c_e, ρ, fr_μ);
155
157
 
156
158
  // Dᵣ = diag(min(1, 1/xᵣ[i]²) for i in x.rows())
157
159
  const DiagonalMatrix D_r =
@@ -164,10 +166,9 @@ ExitStatus feasibility_restoration(
164
166
 
165
167
  DenseVector fr_y = DenseVector::Zero(num_eq);
166
168
 
169
+ // Force the duals to start with perfect complementarity with the slacks
167
170
  DenseVector fr_z{2 * num_eq};
168
- fr_z << μ * p_e_0.cwiseInverse(), μ * n_e_0.cwiseInverse();
169
-
170
- Scalar fr_μ = std::max(μ, c_e.template lpNorm<Eigen::Infinity>());
171
+ fr_z << fr_μ * p_e_0.cwiseInverse(), fr_μ * n_e_0.cwiseInverse();
171
172
 
172
173
  // Inherit the parent problem's scaling for the constraints, and use no
173
174
  // scaling for the cost function since it has changed. The new rows introduced
@@ -379,14 +380,17 @@ ExitStatus feasibility_restoration(
379
380
  const auto& num_ineq = matrices.num_inequality_constraints;
380
381
 
381
382
  constexpr Scalar ρ(1e3);
382
- const Scalar ζ = sqrt(μ);
383
383
 
384
384
  const DenseVector c_e = matrices.c_e(x);
385
385
  const DenseVector c_i = matrices.c_i(x);
386
386
 
387
+ Scalar fr_μ = std::max({μ, c_e.template lpNorm<Eigen::Infinity>(),
388
+ (c_i - s).template lpNorm<Eigen::Infinity>()});
389
+ const Scalar ζ = sqrt(fr_μ);
390
+
387
391
  const auto& x_r = x;
388
- const auto [p_e_0, n_e_0] = compute_p_n(c_e, ρ, μ);
389
- const auto [p_i_0, n_i_0] = compute_p_n((c_i - s).eval(), ρ, μ);
392
+ const auto [p_e_0, n_e_0] = compute_p_n(c_e, ρ, fr_μ);
393
+ const auto [p_i_0, n_i_0] = compute_p_n((c_i - s).eval(), ρ, fr_μ);
390
394
 
391
395
  // Dᵣ = diag(min(1, 1/xᵣ[i]²) for i in x.rows())
392
396
  const DiagonalMatrix D_r =
@@ -401,12 +405,11 @@ ExitStatus feasibility_restoration(
401
405
 
402
406
  DenseVector fr_y = DenseVector::Zero(c_e.rows());
403
407
 
408
+ // Force the duals to start with perfect complementarity with the slacks
404
409
  DenseVector fr_z{c_i.rows() + 2 * num_eq + 2 * num_ineq};
405
- fr_z << z.cwiseMin(ρ), μ * p_e_0.cwiseInverse(), μ * n_e_0.cwiseInverse(),
406
- μ * p_i_0.cwiseInverse(), μ * n_i_0.cwiseInverse();
407
-
408
- Scalar fr_μ = std::max({μ, c_e.template lpNorm<Eigen::Infinity>(),
409
- (c_i - s).template lpNorm<Eigen::Infinity>()});
410
+ fr_z << fr_μ * s.cwiseInverse(), fr_μ * p_e_0.cwiseInverse(),
411
+ fr_μ * n_e_0.cwiseInverse(), fr_μ * p_i_0.cwiseInverse(),
412
+ fr_μ * n_i_0.cwiseInverse();
410
413
 
411
414
  // Inherit the parent problem's scaling for the constraints, and use no
412
415
  // scaling for the cost function since it has changed. The new rows introduced
@@ -2,6 +2,8 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include <limits>
6
+
5
7
  #include <Eigen/Core>
6
8
 
7
9
  namespace slp {
@@ -36,9 +38,9 @@ class Inertia {
36
38
  template <typename Scalar>
37
39
  explicit Inertia(const Eigen::Vector<Scalar, Eigen::Dynamic>& D) {
38
40
  for (const auto& elem : D) {
39
- if (elem > Scalar(0)) {
41
+ if (elem > std::numeric_limits<Scalar>::epsilon()) {
40
42
  ++positive;
41
- } else if (elem < Scalar(0)) {
43
+ } else if (elem < -std::numeric_limits<Scalar>::epsilon()) {
42
44
  ++negative;
43
45
  } else {
44
46
  ++zero;
@@ -56,9 +58,9 @@ class Inertia {
56
58
  const Eigen::Diagonal<
57
59
  const Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>>& D) {
58
60
  for (const auto& elem : D) {
59
- if (elem > Scalar(0)) {
61
+ if (elem > std::numeric_limits<Scalar>::epsilon()) {
60
62
  ++positive;
61
- } else if (elem < Scalar(0)) {
63
+ } else if (elem < -std::numeric_limits<Scalar>::epsilon()) {
62
64
  ++negative;
63
65
  } else {
64
66
  ++zero;
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.5.6.dev10"
5
+ __version__ = "0.5.6.dev12"
@@ -1,5 +1,4 @@
1
1
  import math
2
- import platform
3
2
 
4
3
  import numpy as np
5
4
  import pytest
@@ -79,14 +78,7 @@ def test_cart_pole_ocp():
79
78
  assert problem.equality_constraint_type() == ExpressionType.NONLINEAR
80
79
  assert problem.inequality_constraint_type() == ExpressionType.LINEAR
81
80
 
82
- if platform.system() == "Windows" and platform.machine() == "ARM64":
83
- # FIXME: Fails on Windows aarch64 with "feasibility restoration failed"
84
- assert (
85
- problem.solve(diagnostics=True) == ExitStatus.FEASIBILITY_RESTORATION_FAILED
86
- )
87
- return
88
- else:
89
- assert problem.solve(diagnostics=True) == ExitStatus.SUCCESS
81
+ assert problem.solve(diagnostics=True) == ExitStatus.SUCCESS
90
82
 
91
83
  # Verify initial state
92
84
  assert X.value(0, 0) == pytest.approx(x_initial[0, 0], abs=1e-8)