sleipnirgroup-jormungandr 0.5.6.dev13__tar.gz → 0.5.6.dev14__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.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/interior_point.hpp +2 -0
  3. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/newton.hpp +1 -0
  4. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/sqp.hpp +2 -0
  5. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +12 -0
  6. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +11 -0
  7. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +12 -0
  8. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/print_diagnostics.hpp +12 -11
  9. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/__init__.py +1 -1
  10. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/CMakeLists.txt +0 -0
  11. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/LICENSE.txt +0 -0
  12. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/README.md +0 -0
  13. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/SleipnirConfig.cmake.in +0 -0
  14. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/BuildTypes.cmake +0 -0
  15. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/CompilerFlags.cmake +0 -0
  16. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/Pybind11Mkdoc.cmake +0 -0
  17. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/SubdirList.cmake +0 -0
  18. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/cmake/arm-none-eabi.cmake +0 -0
  19. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/gradient.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/hessian.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/slice.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/multistart.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/ocp.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/problem.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/options.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/assert.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/concepts.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/empty.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/function_ref.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/pool.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/print.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/profiler.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/scope_exit.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/spy.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/include/sleipnir/util/symbol_exports.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/pyproject.toml +0 -0
  67. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  68. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  74. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/binders.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/docstrings.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/for_each_type.hpp +0 -0
  77. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/main.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_ocp.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/bind_problem.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/cpp/try_cast.hpp +0 -0
  88. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/autodiff/__init__.py +0 -0
  89. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/src/sleipnir/optimization/__init__.py +0 -0
  90. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/gradient_test.py +0 -0
  91. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/hessian_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/jacobian_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/variable_matrix_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/autodiff/variable_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_problem_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/cart_pole_util.py +0 -0
  99. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/constraints_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/decision_variable_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/differential_drive_util.py +0 -0
  104. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/double_integrator_problem_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/flywheel_ocp_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/flywheel_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/linear_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/multistart_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/nonlinear_problem_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/interior_point.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.5.6.dev13 → sleipnirgroup_jormungandr-0.5.6.dev14}/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.dev13
3
+ Version: 0.5.6.dev14
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -580,6 +580,7 @@ ExitStatus interior_point(
580
580
  trial_c_e.template lpNorm<1>() +
581
581
  (trial_c_i - trial_s).template lpNorm<1>(),
582
582
  trial_s.dot(trial_z), μ, solver.hessian_regularization(),
583
+ solver.constraint_jacobian_regularization(),
583
584
  std::max(soc_step.p_x.template lpNorm<Eigen::Infinity>(),
584
585
  soc_step.p_s.template lpNorm<Eigen::Infinity>()),
585
586
  std::max(soc_step.p_y.template lpNorm<Eigen::Infinity>(),
@@ -817,6 +818,7 @@ ExitStatus interior_point(
817
818
  inner_iter_profiler.current_duration(), E_0, f,
818
819
  c_e.template lpNorm<1>() + (c_i - s).template lpNorm<1>(), s.dot(z),
819
820
  μ, solver.hessian_regularization(),
821
+ solver.constraint_jacobian_regularization(),
820
822
  std::max(step.p_x.template lpNorm<Eigen::Infinity>(),
821
823
  step.p_s.template lpNorm<Eigen::Infinity>()),
822
824
  std::max(step.p_y.template lpNorm<Eigen::Infinity>(),
@@ -267,6 +267,7 @@ ExitStatus newton(
267
267
  iterations, IterationType::NORMAL,
268
268
  inner_iter_profiler.current_duration(), E_0, f, Scalar(0), Scalar(0),
269
269
  Scalar(0), solver.hessian_regularization(),
270
+ solver.constraint_jacobian_regularization(),
270
271
  p_x.template lpNorm<Eigen::Infinity>(), Scalar(1), α, α_max,
271
272
  α_reduction_factor, Scalar(1));
272
273
  }
@@ -403,6 +403,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
403
403
  g, A_e, trial_c_e, trial_y),
404
404
  trial_f, trial_c_e.template lpNorm<1>(), Scalar(0), Scalar(0),
405
405
  solver.hessian_regularization(),
406
+ solver.constraint_jacobian_regularization(),
406
407
  soc_step.p_x.template lpNorm<Eigen::Infinity>(),
407
408
  soc_step.p_y.template lpNorm<Eigen::Infinity>(), α_soc,
408
409
  Scalar(1), α_reduction_factor, Scalar(1));
@@ -572,6 +573,7 @@ ExitStatus sqp(const SQPMatrixCallbacks<Scalar>& matrix_callbacks,
572
573
  inner_iter_profiler.current_duration(), E_0,
573
574
  f, c_e.template lpNorm<1>(), Scalar(0),
574
575
  Scalar(0), solver.hessian_regularization(),
576
+ solver.constraint_jacobian_regularization(),
575
577
  step.p_x.template lpNorm<Eigen::Infinity>(),
576
578
  step.p_y.template lpNorm<Eigen::Infinity>(),
577
579
  α, α_max, α_reduction_factor, α);
@@ -68,6 +68,7 @@ class DenseRegularizedLDLT {
68
68
  if (Inertia{D} == ideal_inertia &&
69
69
  (D.cwiseAbs().array() >= Scalar(1e-4)).all()) {
70
70
  m_prev_δ = Scalar(0);
71
+ m_prev_γ = Scalar(0);
71
72
  return *this;
72
73
  }
73
74
  }
@@ -88,6 +89,7 @@ class DenseRegularizedLDLT {
88
89
  if (inertia == ideal_inertia) {
89
90
  // If the inertia is ideal, report success
90
91
  m_prev_δ = δ;
92
+ m_prev_γ = γ;
91
93
  return *this;
92
94
  } else if (inertia.zero > 0) {
93
95
  if (γ == Scalar(0)) {
@@ -115,6 +117,8 @@ class DenseRegularizedLDLT {
115
117
  // caused by ill-conditioning.
116
118
  if (δ > Scalar(1e20) || γ > Scalar(1e20)) {
117
119
  m_info = Eigen::NumericalIssue;
120
+ m_prev_δ = δ;
121
+ m_prev_γ = γ;
118
122
  return *this;
119
123
  }
120
124
  }
@@ -143,6 +147,11 @@ class DenseRegularizedLDLT {
143
147
  /// @return Hessian regularization factor.
144
148
  Scalar hessian_regularization() const { return m_prev_δ; }
145
149
 
150
+ /// Returns the constraint Jacobian regularization factor.
151
+ ///
152
+ /// @return Constraint Jacobian regularization factor.
153
+ Scalar constraint_jacobian_regularization() const { return m_prev_γ; }
154
+
146
155
  private:
147
156
  using Solver = Eigen::LDLT<DenseMatrix>;
148
157
 
@@ -166,6 +175,9 @@ class DenseRegularizedLDLT {
166
175
  /// The value of δ from the previous run of compute().
167
176
  Scalar m_prev_δ{0};
168
177
 
178
+ /// The value of γ from the previous run of compute().
179
+ Scalar m_prev_γ{0};
180
+
169
181
  /// Returns regularization matrix.
170
182
  ///
171
183
  /// [δI 0]
@@ -116,6 +116,17 @@ class RegularizedLDLT {
116
116
  }
117
117
  }
118
118
 
119
+ /// Returns the constraint Jacobian regularization factor.
120
+ ///
121
+ /// @return Constraint Jacobian regularization factor.
122
+ Scalar constraint_jacobian_regularization() const {
123
+ if (m_use_sparse_solver) {
124
+ return m_sparse_solver.constraint_jacobian_regularization();
125
+ } else {
126
+ return m_dense_solver.constraint_jacobian_regularization();
127
+ }
128
+ }
129
+
119
130
  private:
120
131
  bool m_use_sparse_solver;
121
132
  SparseRegularizedLDLT<Scalar> m_sparse_solver;
@@ -83,6 +83,7 @@ class SparseRegularizedLDLT {
83
83
  if (Inertia{D} == ideal_inertia &&
84
84
  (D.cwiseAbs().array() >= Scalar(1e-4)).all()) {
85
85
  m_prev_δ = Scalar(0);
86
+ m_prev_γ = Scalar(0);
86
87
  return *this;
87
88
  }
88
89
  }
@@ -104,6 +105,7 @@ class SparseRegularizedLDLT {
104
105
  if (inertia == ideal_inertia) {
105
106
  // If the inertia is ideal, report success
106
107
  m_prev_δ = δ;
108
+ m_prev_γ = γ;
107
109
  return *this;
108
110
  } else if (inertia.zero > 0) {
109
111
  if (γ == Scalar(0)) {
@@ -131,6 +133,8 @@ class SparseRegularizedLDLT {
131
133
  // caused by ill-conditioning.
132
134
  if (δ > Scalar(1e20) || γ > Scalar(1e20)) {
133
135
  m_info = Eigen::NumericalIssue;
136
+ m_prev_δ = δ;
137
+ m_prev_γ = γ;
134
138
  return *this;
135
139
  }
136
140
  }
@@ -159,6 +163,11 @@ class SparseRegularizedLDLT {
159
163
  /// @return Hessian regularization factor.
160
164
  Scalar hessian_regularization() const { return m_prev_δ; }
161
165
 
166
+ /// Returns the constraint Jacobian regularization factor.
167
+ ///
168
+ /// @return Constraint Jacobian regularization factor.
169
+ Scalar constraint_jacobian_regularization() const { return m_prev_γ; }
170
+
162
171
  private:
163
172
  using Solver = Eigen::SimplicialLDLT<SparseMatrix>;
164
173
 
@@ -183,6 +192,9 @@ class SparseRegularizedLDLT {
183
192
  /// The value of δ from the previous run of compute().
184
193
  Scalar m_prev_δ{0};
185
194
 
195
+ /// The value of γ from the previous run of compute().
196
+ Scalar m_prev_γ{0};
197
+
186
198
  /// Returns regularization matrix.
187
199
  ///
188
200
  /// [δI 0]
@@ -182,6 +182,7 @@ inline void print_bound_constraint_global_infeasibility_error(
182
182
  /// @param complementarity The complementarity.
183
183
  /// @param μ The barrier parameter.
184
184
  /// @param δ The Hessian regularization factor.
185
+ /// @param γ The constraint Jacobian regularization factor.
185
186
  /// @param full_primal_step_inf_norm The infinity norm of the full primal step.
186
187
  /// @param full_dual_step_inf_norm The infinity norm of the full dual step.
187
188
  /// @param primal_α The primal step size.
@@ -194,23 +195,23 @@ void print_iteration_diagnostics(int iterations, IterationType type,
194
195
  const std::chrono::duration<Rep, Period>& time,
195
196
  Scalar error, Scalar cost,
196
197
  Scalar infeasibility, Scalar complementarity,
197
- Scalar μ, Scalar δ,
198
+ Scalar μ, Scalar δ, Scalar γ,
198
199
  Scalar full_primal_step_inf_norm,
199
200
  Scalar full_dual_step_inf_norm,
200
201
  Scalar primal_α, Scalar primal_α_max,
201
202
  Scalar α_reduction_factor, Scalar dual_α) {
202
203
  if (iterations % 20 == 0) {
203
204
  if (iterations == 0) {
204
- slp::println("┏{:━^116}┓", "");
205
+ slp::println("┏{:━^122}┓", "");
205
206
  } else {
206
- slp::println("┢{:━^116}┪", "");
207
+ slp::println("┢{:━^122}┪", "");
207
208
  }
208
209
  slp::println(
209
- "┃{:^4} {:^4} {:^9} {:^10} {:^11} {:^10} {:^8} {:^8} {:^5} {:^8} {:^8} "
210
- "{:^8} {:^8} {:^2}┃",
210
+ "┃{:^4} {:^4} {:^9} {:^10} {:^11} {:^10} {:^8} {:^8} {:^5} {:^5} {:^8} "
211
+ "{:^8} {:^8} {:^8} {:^2}┃",
211
212
  "iter", "type", "duration", "error", "cost", "infeas.", "complem.", "μ",
212
- "δ", "|p_pr|", "|p_du|", "α_pr", "α_du", "↩");
213
- slp::println("┡{:━^116}┩", "");
213
+ "δ", "γ", "|p_pr|", "|p_du|", "α_pr", "α_du", "↩");
214
+ slp::println("┡{:━^122}┩", "");
214
215
  }
215
216
 
216
217
  // For the number of backtracks, we want x such that:
@@ -229,10 +230,10 @@ void print_iteration_diagnostics(int iterations, IterationType type,
229
230
 
230
231
  constexpr std::array ITERATION_TYPES{"norm", "✓SOC", "XSOC", "rest"};
231
232
  slp::println(
232
- "│{:4} {:4} {:9.3f} {:.4e} {:11.4e} {:.4e} {:.2e} {:.2e} {:<5} {:.2e} "
233
- "{:.2e} {:.2e} {:.2e} {:2d}│",
233
+ "│{:4} {:4} {:9.3f} {:.4e} {:11.4e} {:.4e} {:.2e} {:.2e} {:<5} {:<5} "
234
+ "{:.2e} {:.2e} {:.2e} {:.2e} {:2d}│",
234
235
  iterations, ITERATION_TYPES[std::to_underlying(type)], to_ms(time), error,
235
- cost, infeasibility, complementarity, μ, power_of_10(δ),
236
+ cost, infeasibility, complementarity, μ, power_of_10(δ), power_of_10(γ),
236
237
  full_primal_step_inf_norm, full_dual_step_inf_norm, primal_α, dual_α,
237
238
  backtracks);
238
239
  }
@@ -243,7 +244,7 @@ void print_iteration_diagnostics(int iterations, IterationType type,
243
244
  #ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
244
245
  /// Prints bottom of iteration diagnostics table.
245
246
  inline void print_bottom_iteration_diagnostics() {
246
- slp::println("└{:─^116}┘", "");
247
+ slp::println("└{:─^122}┘", "");
247
248
  }
248
249
  #else
249
250
  #define print_bottom_iteration_diagnostics(...)
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.5.6.dev13"
5
+ __version__ = "0.5.6.dev14"