sleipnirgroup-jormungandr 0.5.2.dev2__tar.gz → 0.5.2.dev4__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 (120) hide show
  1. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/exit_status.hpp +11 -7
  3. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/newton.hpp +2 -2
  4. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/docstrings.hpp +4 -0
  5. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/bind_problem.cpp +1 -1
  6. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/solver/bind_exit_status.cpp +2 -0
  7. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/src/sleipnir/__init__.py +1 -1
  8. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/CMakeLists.txt +0 -0
  9. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/LICENSE.txt +0 -0
  10. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/README.md +0 -0
  11. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/SleipnirConfig.cmake.in +0 -0
  12. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/cmake/BuildTypes.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/cmake/CompilerFlags.cmake +0 -0
  14. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/cmake/Pybind11Mkdoc.cmake +0 -0
  15. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/cmake/SubdirList.cmake +0 -0
  16. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/cmake/arm-none-eabi.cmake +0 -0
  17. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/expression.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/gradient.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/hessian.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/slice.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/variable.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/multistart.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/ocp.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/problem.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/options.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/assert.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/concepts.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/empty.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/function_ref.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/pool.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/print.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/profiler.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/scope_exit.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/spy.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/include/sleipnir/util/symbol_exports.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/pyproject.toml +0 -0
  66. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  67. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  68. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_variable.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/binders.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/for_each_type.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/main.cpp +0 -0
  76. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  77. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/bind_ocp.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/cpp/try_cast.hpp +0 -0
  84. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/src/sleipnir/autodiff/__init__.py +0 -0
  85. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/src/sleipnir/optimization/__init__.py +0 -0
  86. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/autodiff/gradient_test.py +0 -0
  87. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/autodiff/hessian_test.py +0 -0
  88. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/autodiff/jacobian_test.py +0 -0
  89. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/autodiff/variable_matrix_test.py +0 -0
  90. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/autodiff/variable_test.py +0 -0
  91. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/cart_pole_problem_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/cart_pole_util.py +0 -0
  95. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/constraints_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/decision_variable_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/differential_drive_problem_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/differential_drive_util.py +0 -0
  100. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/double_integrator_problem_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/flywheel_ocp_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/flywheel_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/linear_problem_test.py +0 -0
  104. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/multistart_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/nonlinear_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/problem_spy_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/quadratic_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/rk4.py +0 -0
  109. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/solver/exit_status_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/python/test/optimization/trivial_problem_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/autodiff/gradient.cpp +0 -0
  112. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/autodiff/hessian.cpp +0 -0
  113. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/autodiff/jacobian.cpp +0 -0
  114. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/autodiff/variable_matrix.cpp +0 -0
  115. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/optimization/ocp.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/optimization/problem.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/optimization/solver/interior_point.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/optimization/solver/newton.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/src/optimization/solver/sqp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.5.2.dev2 → sleipnirgroup_jormungandr-0.5.2.dev4}/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.2.dev2
3
+ Version: 0.5.2.dev4
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -24,20 +24,23 @@ enum class ExitStatus : int8_t {
24
24
  GLOBALLY_INFEASIBLE = -3,
25
25
  /// The linear system factorization failed.
26
26
  FACTORIZATION_FAILED = -4,
27
+ /// The backtracking line search failed, and the problem isn't locally
28
+ /// infeasible.
29
+ LINE_SEARCH_FAILED = -5,
27
30
  /// The solver failed to reach the desired tolerance, and feasibility
28
31
  /// restoration failed to converge.
29
- FEASIBILITY_RESTORATION_FAILED = -5,
32
+ FEASIBILITY_RESTORATION_FAILED = -6,
30
33
  /// The solver encountered nonfinite initial cost, constraints, or derivatives
31
34
  /// and gave up.
32
- NONFINITE_INITIAL_GUESS = -6,
35
+ NONFINITE_INITIAL_GUESS = -7,
33
36
  /// The solver encountered diverging primal iterates xₖ and/or sₖ and gave up.
34
- DIVERGING_ITERATES = -7,
37
+ DIVERGING_ITERATES = -8,
35
38
  /// The solver returned its solution so far after exceeding the maximum number
36
39
  /// of iterations.
37
- MAX_ITERATIONS_EXCEEDED = -8,
40
+ MAX_ITERATIONS_EXCEEDED = -9,
38
41
  /// The solver returned its solution so far after exceeding the maximum
39
42
  /// elapsed wall clock time.
40
- TIMEOUT = -9,
43
+ TIMEOUT = -10,
41
44
  };
42
45
 
43
46
  } // namespace slp
@@ -76,11 +79,12 @@ struct std::formatter<slp::ExitStatus> {
76
79
  return m_underlying.format("globally infeasible", ctx);
77
80
  case FACTORIZATION_FAILED:
78
81
  return m_underlying.format("factorization failed", ctx);
82
+ case LINE_SEARCH_FAILED:
83
+ return m_underlying.format("line search failed", ctx);
79
84
  case FEASIBILITY_RESTORATION_FAILED:
80
85
  return m_underlying.format("feasibility restoration failed", ctx);
81
86
  case NONFINITE_INITIAL_GUESS:
82
- return m_underlying.format(
83
- "nonfinite initial cost, constraints, or derivatives", ctx);
87
+ return m_underlying.format("nonfinite initial guess", ctx);
84
88
  case DIVERGING_ITERATES:
85
89
  return m_underlying.format("diverging iterates", ctx);
86
90
  case MAX_ITERATIONS_EXCEEDED:
@@ -204,7 +204,7 @@ ExitStatus newton(
204
204
  α *= α_reduction_factor;
205
205
 
206
206
  if (α < α_min) {
207
- return ExitStatus::LOCALLY_INFEASIBLE;
207
+ return ExitStatus::LINE_SEARCH_FAILED;
208
208
  }
209
209
  continue;
210
210
  }
@@ -236,7 +236,7 @@ ExitStatus newton(
236
236
  break;
237
237
  }
238
238
 
239
- return ExitStatus::LOCALLY_INFEASIBLE;
239
+ return ExitStatus::LINE_SEARCH_FAILED;
240
240
  }
241
241
  }
242
242
 
@@ -152,6 +152,10 @@ static const char *__doc_slp_ExitStatus_GLOBALLY_INFEASIBLE =
152
152
  R"doc(The problem setup frontend determined the problem to have an empty
153
153
  feasible region.)doc";
154
154
 
155
+ static const char *__doc_slp_ExitStatus_LINE_SEARCH_FAILED =
156
+ R"doc(The backtracking line search failed, and the problem isn't locally
157
+ infeasible.)doc";
158
+
155
159
  static const char *__doc_slp_ExitStatus_LOCALLY_INFEASIBLE =
156
160
  R"doc(The solver determined the problem to be locally infeasible and gave
157
161
  up.)doc";
@@ -112,7 +112,7 @@ void bind_problem(nb::class_<Problem<double>>& cls) {
112
112
  //
113
113
  // C++'s Problem<double>::solve() takes an Options object instead of
114
114
  // keyword arguments, so pybind11_mkdoc generates the wrong docs.
115
- R"doc(Solve the optimization problem. The solution will be stored in the
115
+ R"doc(Solves the optimization problem. The solution will be stored in the
116
116
  original variables used to construct the problem.
117
117
 
118
118
  Parameter ``tolerance``:
@@ -22,6 +22,8 @@ void bind_exit_status(nb::enum_<ExitStatus>& e) {
22
22
  DOC(slp, ExitStatus, GLOBALLY_INFEASIBLE));
23
23
  e.value("FACTORIZATION_FAILED", ExitStatus::FACTORIZATION_FAILED,
24
24
  DOC(slp, ExitStatus, FACTORIZATION_FAILED));
25
+ e.value("LINE_SEARCH_FAILED", ExitStatus::LINE_SEARCH_FAILED,
26
+ DOC(slp, ExitStatus, LINE_SEARCH_FAILED));
25
27
  e.value("FEASIBILITY_RESTORATION_FAILED",
26
28
  ExitStatus::FEASIBILITY_RESTORATION_FAILED,
27
29
  DOC(slp, ExitStatus, FEASIBILITY_RESTORATION_FAILED));
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.5.2.dev2"
5
+ __version__ = "0.5.2.dev4"