sleipnirgroup-jormungandr 0.6.7.dev35__tar.gz → 0.6.7.dev37__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 (123) hide show
  1. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/ipm.hpp +3 -3
  3. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/src/sleipnir/__init__.py +1 -1
  4. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/cart_pole_problem_test.py +4 -2
  5. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/flywheel_ocp_test.py +1 -1
  6. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/flywheel_problem_test.py +1 -1
  7. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/nonlinear_problem_test.py +32 -0
  8. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/CMakeLists.txt +0 -0
  9. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/LICENSE.txt +0 -0
  10. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/README.md +0 -0
  11. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/SleipnirConfig.cmake.in +0 -0
  12. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/cmake/BuildTypes.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/cmake/CompilerFlags.cmake +0 -0
  14. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/cmake/Pybind11Mkdoc.cmake +0 -0
  15. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/cmake/SubdirList.cmake +0 -0
  16. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/cmake/arm-none-eabi.cmake +0 -0
  17. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/expression.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/gradient.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/hessian.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/slice.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/variable.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/multistart.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/ocp.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/problem.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/options.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/assert.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/concepts.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/empty.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/function_ref.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/pool.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/print.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/profiler.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/scope_exit.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/spy.hpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/include/sleipnir/util/symbol_exports.hpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/pyproject.toml +0 -0
  69. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_variable.cpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  75. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/binders.hpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/docstrings.hpp +0 -0
  78. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/for_each_type.hpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/main.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/bind_ocp.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/bind_problem.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  88. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  89. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/cpp/try_cast.hpp +0 -0
  90. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/src/sleipnir/autodiff/__init__.py +0 -0
  91. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/src/sleipnir/optimization/__init__.py +0 -0
  92. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/autodiff/gradient_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/autodiff/hessian_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/autodiff/jacobian_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/autodiff/variable_matrix_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/autodiff/variable_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/cart_pole_util.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/constraints_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/decision_variable_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/differential_drive_problem_test.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/differential_drive_util.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/double_integrator_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/linear_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/multistart_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/near.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/problem_spy_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/quadratic_problem_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/rk4.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/solver/exit_status_test.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/python/test/optimization/trivial_problem_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/autodiff/gradient.cpp +0 -0
  115. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/autodiff/hessian.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/autodiff/jacobian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/autodiff/variable_matrix.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/optimization/ocp.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/optimization/problem.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/optimization/solver/ipm.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/optimization/solver/newton.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/src/optimization/solver/sqp.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.7.dev35 → sleipnirgroup_jormungandr-0.6.7.dev37}/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.dev35
3
+ Version: 0.6.7.dev37
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -506,7 +506,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
506
506
  } else {
507
507
  trial_s = s + α * step.p_s;
508
508
  }
509
- trial_y = y + α_z * step.p_y;
509
+ trial_y = y + α * step.p_y;
510
510
  trial_z = z + α_z * step.p_z;
511
511
 
512
512
  trial_f = matrices.f(trial_x);
@@ -610,7 +610,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
610
610
 
611
611
  trial_x = x + α_soc * soc_step.p_x;
612
612
  trial_s = s + α_soc * soc_step.p_s;
613
- trial_y = y + α_z_soc * soc_step.p_y;
613
+ trial_y = y + α_soc * soc_step.p_y;
614
614
  trial_z = z + α_z_soc * soc_step.p_z;
615
615
 
616
616
  trial_f = matrices.f(trial_x);
@@ -679,7 +679,7 @@ ExitStatus ipm(const IPMMatrixCallbacks<Scalar>& matrix_callbacks,
679
679
 
680
680
  trial_x = x + α_max * step.p_x;
681
681
  trial_s = s + α_max * step.p_s;
682
- trial_y = y + α_z * step.p_y;
682
+ trial_y = y + α_max * step.p_y;
683
683
  trial_z = z + α_z * step.p_z;
684
684
 
685
685
  trial_f = matrices.f(trial_x);
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.6.7.dev35"
5
+ __version__ = "0.6.7.dev37"
@@ -15,9 +15,11 @@ def lerp(a, b, t):
15
15
  return a + t * (b - a)
16
16
 
17
17
 
18
- def test_cart_pole_problem():
18
+ # dt = 0.25 s is sensitive to small solver changes, so a failure here may just
19
+ # mean the iterates found a different basin rather than a regression.
20
+ @pytest.mark.parametrize("dt", [0.05, 0.125, 0.25])
21
+ def test_cart_pole_problem(dt):
19
22
  TOTAL_TIME = 5.0 # s
20
- dt = 0.05 # s
21
23
  N = int(TOTAL_TIME / dt)
22
24
 
23
25
  u_max = 20.0 # N
@@ -96,7 +96,7 @@ def flywheel_test(
96
96
  # steady-states.
97
97
  assert problem.U().value(0, k) == pytest.approx(u, abs=2.0)
98
98
  else:
99
- assert problem.U().value(0, k) == pytest.approx(u, abs=1e-4)
99
+ assert problem.U().value(0, k) == pytest.approx(u, abs=2e-4)
100
100
 
101
101
  # Project state forward
102
102
  x = A_discrete * x + B_discrete * u
@@ -83,7 +83,7 @@ def test_flywheel_problem():
83
83
  assert U.value(0, k) >= u_ss
84
84
  assert U.value(0, k) <= 12.0
85
85
  else:
86
- assert U.value(0, k) == pytest.approx(u, abs=1e-4)
86
+ assert U.value(0, k) == pytest.approx(u, abs=2e-4)
87
87
 
88
88
  # Project state forward
89
89
  x = A * x + B * u
@@ -160,3 +160,35 @@ def test_wachter_and_biegler_line_search_failure():
160
160
  assert x.value() == pytest.approx(-1.0, abs=1e-6)
161
161
  assert s1.value() == pytest.approx(0.0, abs=1e-6)
162
162
  assert s2.value() == pytest.approx(0.0, abs=3e-5)
163
+
164
+
165
+ def test_hock_schittkowski_13():
166
+ # Problem 13 of [1] (see
167
+ # https://vanderbei.princeton.edu/ampl/nlmodels/cute/hs013.mod) has
168
+ # constraint gradients that are linearly dependent at the solution.
169
+ #
170
+ # [1] Hock, W. and Schittkowski, K. "Test Examples for Nonlinear Programming
171
+ # Codes", Springer, 1981.
172
+
173
+ problem = Problem()
174
+
175
+ x, y = problem.decision_variable(2)
176
+ x.set_value(-2)
177
+ y.set_value(-2)
178
+
179
+ problem.minimize((x - 2) ** 2 + y**2)
180
+
181
+ problem.subject_to((1 - x) ** 3 >= y)
182
+ problem.subject_to(x >= 0)
183
+ problem.subject_to(y >= 0)
184
+
185
+ assert problem.cost_function_type() == ExpressionType.QUADRATIC
186
+ assert problem.equality_constraint_type() == ExpressionType.NONE
187
+ assert problem.inequality_constraint_type() == ExpressionType.NONLINEAR
188
+
189
+ assert problem.solve(diagnostics=True) == ExitStatus.SUCCESS
190
+
191
+ # The solution has no finite Lagrange multipliers, so the iterates only
192
+ # approach it to within the square root of the tolerance
193
+ assert x.value() == pytest.approx(1.0, abs=1e-4)
194
+ assert y.value() == pytest.approx(0.0, abs=1e-4)