sleipnirgroup-jormungandr 0.6.5.dev1__tar.gz → 0.6.5.dev3__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 (124) hide show
  1. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/interior_point.hpp +19 -10
  3. sleipnirgroup_jormungandr-0.6.5.dev3/python/src/sleipnir/__init__.py +5 -0
  4. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/src/sleipnir/autodiff/__init__.py +1 -1
  5. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/src/sleipnir/optimization/__init__.py +2 -8
  6. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/autodiff/gradient_test.py +1 -1
  7. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/autodiff/hessian_test.py +1 -1
  8. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/autodiff/variable_matrix_test.py +1 -1
  9. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/arm_on_elevator_problem_test.py +1 -1
  10. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/cart_pole_util.py +2 -2
  11. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/differential_drive_util.py +1 -1
  12. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/flywheel_ocp_test.py +7 -7
  13. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/multistart_test.py +2 -2
  14. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/nonlinear_problem_test.py +1 -1
  15. sleipnirgroup_jormungandr-0.6.5.dev1/python/src/sleipnir/__init__.py +0 -5
  16. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/CMakeLists.txt +0 -0
  17. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/LICENSE.txt +0 -0
  18. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/README.md +0 -0
  19. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/SleipnirConfig.cmake.in +0 -0
  20. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/cmake/BuildTypes.cmake +0 -0
  21. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/cmake/CompilerFlags.cmake +0 -0
  22. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/cmake/Pybind11Mkdoc.cmake +0 -0
  23. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/cmake/SubdirList.cmake +0 -0
  24. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/cmake/arm-none-eabi.cmake +0 -0
  25. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/expression.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/gradient.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/hessian.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/slice.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/variable.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/multistart.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/ocp.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/problem.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/options.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/assert.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/concepts.hpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/empty.hpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/function_ref.hpp +0 -0
  69. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/pool.hpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/print.hpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/profiler.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/scope_exit.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/spy.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/include/sleipnir/util/symbol_exports.hpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/pyproject.toml +0 -0
  78. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_variable.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/binders.hpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/docstrings.hpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/for_each_type.hpp +0 -0
  88. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/main.cpp +0 -0
  89. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  90. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  91. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/bind_ocp.cpp +0 -0
  92. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/bind_problem.cpp +0 -0
  93. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  94. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  95. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  96. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  97. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  98. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/cpp/try_cast.hpp +0 -0
  99. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/autodiff/jacobian_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/autodiff/variable_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/cart_pole_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/constraints_test.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/decision_variable_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/differential_drive_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/double_integrator_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/flywheel_problem_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/linear_problem_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/optimization/solver/interior_point.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.6.5.dev1 → sleipnirgroup_jormungandr-0.6.5.dev3}/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.5.dev1
3
+ Version: 0.6.5.dev3
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -467,7 +467,7 @@ ExitStatus interior_point(
467
467
  kkt_matrix_decomp_profiler.stop();
468
468
  ScopedProfiler kkt_system_solve_profiler{kkt_system_solve_prof};
469
469
 
470
- auto compute_step = [&](Step& step) {
470
+ auto compute_step = [&](Step& step, const DenseVector& c_i_minus_s) {
471
471
  // p = [ pˣ]
472
472
  // [−pʸ]
473
473
  DenseVector p = solver.solve(rhs);
@@ -475,11 +475,11 @@ ExitStatus interior_point(
475
475
  step.p_y = -p.segment(x.rows(), y.rows());
476
476
 
477
477
  // pˢ = cᵢ − s + Aᵢpˣ
478
- // pᶻ = −Σcᵢ + μS⁻¹e − ΣAᵢpˣ
479
- step.p_s = c_i - s + A_i * step.p_x;
480
- step.p_z = -Σ * c_i + μ * s.cwiseInverse() - Σ * A_i * step.p_x;
478
+ // pᶻ = μS⁻¹e − z − Σpˢ
479
+ step.p_s = c_i_minus_s + A_i * step.p_x;
480
+ step.p_z = μ * s.cwiseInverse() - z - Σ * step.p_s;
481
481
  };
482
- compute_step(step);
482
+ compute_step(step, c_i - s);
483
483
 
484
484
  kkt_system_solve_profiler.stop();
485
485
  ScopedProfiler line_search_profiler{line_search_prof};
@@ -556,6 +556,7 @@ ExitStatus interior_point(
556
556
  Scalar α_soc = α;
557
557
  Scalar α_z_soc = α_z;
558
558
  DenseVector c_e_soc = c_e;
559
+ DenseVector c_i_minus_s_soc = c_i - s;
559
560
 
560
561
  Scalar soc_constraint_violation = next_constraint_violation;
561
562
 
@@ -589,15 +590,23 @@ ExitStatus interior_point(
589
590
 
590
591
  // Rebuild Newton-KKT rhs with updated constraint values.
591
592
  //
592
- // rhs = −[∇f − Aₑᵀy − Aᵢᵀ(−Σcᵢ + μS⁻¹e + z)]
593
- // [ cₑˢᵒᶜ ]
593
+ // rhs = −[∇f − Aₑᵀy − Aᵢᵀ(μS⁻¹e − Σ(cᵢ − s)ˢᵒᶜ)]
594
+ // [ cₑˢᵒᶜ ]
594
595
  //
595
- // where cₑˢᵒᶜ = αc(xₖ) + c(xₖ + αpₖˣ)
596
+ // where
597
+ //
598
+ // cₑˢᵒᶜ = αˢᵒᶜcₑ(xₖ) + cₑ(xₖ + αˢᵒᶜpˣˢᵒᶜ)
599
+ // (cᵢ − s)ˢᵒᶜ = αˢᵒᶜ(cᵢ(xₖ) − sₖ) + cᵢ(xₖ + αˢᵒᶜpˣˢᵒᶜ)
600
+ // − (sₖ + αˢᵒᶜpˢˢᵒᶜ).
596
601
  c_e_soc = α_soc * c_e_soc + trial_c_e;
597
- rhs.bottomRows(y.rows()) = -c_e_soc;
602
+ c_i_minus_s_soc = α_soc * c_i_minus_s_soc + trial_c_i - trial_s;
603
+ rhs.segment(0, x.rows()) =
604
+ -g + A_e.transpose() * y +
605
+ A_i.transpose() * (μ * s.cwiseInverse() - Σ * c_i_minus_s_soc);
606
+ rhs.segment(x.rows(), y.rows()) = -c_e_soc;
598
607
 
599
608
  // Solve the Newton-KKT system
600
- compute_step(soc_step);
609
+ compute_step(soc_step, c_i_minus_s_soc);
601
610
 
602
611
  // αˢᵒᶜ = max(α ∈ (0, 1] : sₖ + αpₖˢ ≥ (1−τⱼ)sₖ)
603
612
  // αₖᶻˢᵒᶜ = max(α ∈ (0, 1] : zₖ + αpₖᶻ ≥ (1−τⱼ)zₖ)
@@ -0,0 +1,5 @@
1
+ """Reverse mode autodiff library and NLP solver DSL"""
2
+
3
+ from ._sleipnir import *
4
+
5
+ __version__ = "0.6.5.dev3"
@@ -1,6 +1,6 @@
1
1
  import scipy.sparse
2
2
 
3
- from .._sleipnir.autodiff import * # noqa: F403
3
+ from .._sleipnir.autodiff import *
4
4
 
5
5
 
6
6
  def spy(mat: scipy.sparse.csc_matrix):
@@ -1,6 +1,6 @@
1
1
  import concurrent.futures
2
2
 
3
- from .._sleipnir.optimization import * # noqa: F403
3
+ from .._sleipnir.optimization import *
4
4
 
5
5
 
6
6
  def multistart(solve, initial_guesses):
@@ -30,10 +30,4 @@ def multistart(solve, initial_guesses):
30
30
  ]
31
31
 
32
32
  # Prioritize successful solve, otherwise prioritize solution with lower cost
33
- return min(
34
- results,
35
- key=lambda x: (
36
- int(x[0] != ExitStatus.SUCCESS), # noqa: F405
37
- x[1],
38
- ),
39
- )
33
+ return min(results, key=lambda x: (int(x[0] != ExitStatus.SUCCESS), x[1]))
@@ -2,7 +2,7 @@ import math
2
2
 
3
3
  import numpy as np
4
4
  import pytest
5
- import sleipnir.autodiff as autodiff
5
+ from sleipnir import autodiff
6
6
  from sleipnir.autodiff import Gradient, Variable, VariableMatrix
7
7
 
8
8
 
@@ -4,7 +4,7 @@ from functools import reduce
4
4
 
5
5
  import numpy as np
6
6
  import pytest
7
- import sleipnir.autodiff as autodiff
7
+ from sleipnir import autodiff
8
8
  from sleipnir.autodiff import Gradient, Hessian, Jacobian, Variable, VariableMatrix
9
9
 
10
10
 
@@ -1,5 +1,5 @@
1
1
  import numpy as np
2
- import sleipnir.autodiff as autodiff
2
+ from sleipnir import autodiff
3
3
  from sleipnir.autodiff import VariableMatrix
4
4
 
5
5
 
@@ -1,7 +1,7 @@
1
1
  import math
2
2
 
3
3
  import numpy as np
4
- import sleipnir.autodiff as autodiff
4
+ from sleipnir import autodiff
5
5
  from sleipnir.autodiff import ExpressionType
6
6
  from sleipnir.optimization import ExitStatus, Problem, bounds
7
7
 
@@ -1,7 +1,7 @@
1
1
  import math
2
2
 
3
3
  import numpy as np
4
- import sleipnir.autodiff as autodiff
4
+ from sleipnir import autodiff
5
5
  from sleipnir.autodiff import Variable, VariableMatrix
6
6
 
7
7
  # https://underactuated.mit.edu/acrobot.html#cart_pole
@@ -30,7 +30,7 @@ from sleipnir.autodiff import Variable, VariableMatrix
30
30
 
31
31
  m_c = 5.0 # Cart mass (kg)
32
32
  m_p = 0.5 # Pole mass (kg)
33
- l = 0.5 # Pole length (m) # noqa: E741
33
+ l = 0.5 # Pole length (m)
34
34
  g = 9.806 # Acceleration due to gravity (m/s²)
35
35
 
36
36
 
@@ -1,7 +1,7 @@
1
1
  import math
2
2
 
3
3
  import numpy as np
4
- import sleipnir.autodiff as autodiff
4
+ from sleipnir import autodiff
5
5
  from sleipnir.autodiff import VariableMatrix
6
6
 
7
7
  # x = [x, y, heading, left velocity, right velocity]ᵀ
@@ -108,21 +108,21 @@ def flywheel_test(
108
108
  assert problem.X().value(0, N) == pytest.approx(r, abs=2e-6)
109
109
 
110
110
  # Log states for offline viewing
111
- with open(f"{test_name} states.csv", "w") as f:
112
- f.write("Time (s),Velocity (rad/s)\n")
111
+ with open(f"{test_name} states.csv", "w") as file:
112
+ file.write("Time (s),Velocity (rad/s)\n")
113
113
 
114
114
  for k in range(N + 1):
115
- f.write(f"{k * dt},{problem.X().value(0, k)}\n")
115
+ file.write(f"{k * dt},{problem.X().value(0, k)}\n")
116
116
 
117
117
  # Log inputs for offline viewing
118
- with open(f"{test_name} inputs.csv", "w") as f:
119
- f.write("Time (s),Voltage (V)\n")
118
+ with open(f"{test_name} inputs.csv", "w") as file:
119
+ file.write("Time (s),Voltage (V)\n")
120
120
 
121
121
  for k in range(N + 1):
122
122
  if k < N:
123
- f.write(f"{k * dt},{problem.U().value(0, k)}\n")
123
+ file.write(f"{k * dt},{problem.U().value(0, k)}\n")
124
124
  else:
125
- f.write(f"{k * dt},0.0\n")
125
+ file.write(f"{k * dt},0.0\n")
126
126
 
127
127
 
128
128
  def test_flywheel_explicit_ocp():
@@ -1,5 +1,5 @@
1
1
  import pytest
2
- import sleipnir.autodiff as autodiff
2
+ from sleipnir import autodiff
3
3
  from sleipnir.optimization import ExitStatus, Problem, multistart
4
4
 
5
5
 
@@ -30,7 +30,7 @@ def mishras_bird_function_solve(input: DecisionVariables):
30
30
 
31
31
 
32
32
  def test_mishras_bird_function():
33
- status, cost, variables = multistart(
33
+ status, _cost, variables = multistart(
34
34
  mishras_bird_function_solve,
35
35
  [DecisionVariables(-3, -8), DecisionVariables(-3, -1.5)],
36
36
  )
@@ -1,6 +1,6 @@
1
1
  import numpy as np
2
2
  import pytest
3
- import sleipnir.autodiff as autodiff
3
+ from sleipnir import autodiff
4
4
  from sleipnir.autodiff import ExpressionType
5
5
  from sleipnir.optimization import ExitStatus, Problem, bounds
6
6
 
@@ -1,5 +0,0 @@
1
- """Reverse mode autodiff library and NLP solver DSL"""
2
-
3
- from ._sleipnir import * # noqa: F403
4
-
5
- __version__ = "0.6.5.dev1"