openscvx 0.3.1.dev4__tar.gz → 0.3.1.dev12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. {openscvx-0.3.1.dev4/openscvx.egg-info → openscvx-0.3.1.dev12}/PKG-INFO +1 -1
  2. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/_version.py +3 -3
  3. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/algorithms/optimization_results.py +2 -0
  4. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/algorithms/ptr.py +12 -8
  5. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/algorithms/solver_state.py +4 -0
  6. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/plotting/__init__.py +2 -20
  7. openscvx-0.3.1.dev12/openscvx/plotting/plotting.py +1155 -0
  8. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/problem.py +6 -1
  9. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12/openscvx.egg-info}/PKG-INFO +1 -1
  10. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx.egg-info/SOURCES.txt +1 -0
  11. openscvx-0.3.1.dev12/tests/test_plotting.py +624 -0
  12. openscvx-0.3.1.dev4/openscvx/plotting/plotting.py +0 -851
  13. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/assets/logo.svg +0 -0
  14. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/release-drafter.yml +0 -0
  15. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/_docs.yml +0 -0
  16. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/docs.yml +0 -0
  17. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/lint.yml +0 -0
  18. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/nightly.yml +0 -0
  19. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/release-drafter.yml +0 -0
  20. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/release.yml +0 -0
  21. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/tests-integration.yml +0 -0
  22. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.github/workflows/tests-unit.yml +0 -0
  23. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/.gitignore +0 -0
  24. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/LICENSE +0 -0
  25. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/README.md +0 -0
  26. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/constraint_reformulation.md +0 -0
  27. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/control_parameterization.md +0 -0
  28. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/discretization.md +0 -0
  29. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/ocp.md +0 -0
  30. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/scvx.md +0 -0
  31. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Overview/time_dilation.md +0 -0
  32. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/UnderTheHood/lowering_architecture.md +0 -0
  33. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/UnderTheHood/vectorization_and_vmapping.md +0 -0
  34. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/advanced_problem_setup.md +0 -0
  35. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api.md +0 -0
  36. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_constraints.md +0 -0
  37. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_control.md +0 -0
  38. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_integrators.md +0 -0
  39. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_state.md +0 -0
  40. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_trajoptproblem.md +0 -0
  41. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/api_variable.md +0 -0
  42. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/basic_problem_setup.md +0 -0
  43. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/tutorial_6dof_los_guidance.md +0 -0
  44. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/tutorial_6dof_obstacle_avoidance.md +0 -0
  45. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/Usage/tutorials.md +0 -0
  46. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/favicon.png +0 -0
  47. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/ct-scvx_dark.png +0 -0
  48. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/ct-scvx_light.png +0 -0
  49. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/ctcs_dark.png +0 -0
  50. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/ctcs_light.png +0 -0
  51. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/problem_class_dark.png +0 -0
  52. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/images/problem_class_light.png +0 -0
  53. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/assets/logo.svg +0 -0
  54. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/citation.md +0 -0
  55. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/examples.md +0 -0
  56. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/getting-started.md +0 -0
  57. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/index.md +0 -0
  58. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/docs/javascripts/mathjax.js +0 -0
  59. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/abstract/3DoF_pdg.py +0 -0
  60. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/abstract/brachistochrone.py +0 -0
  61. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/car/dubins_car.py +0 -0
  62. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/car/dubins_car_disjoint.py +0 -0
  63. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/car/dubins_car_stljax.py +0 -0
  64. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/cinema_vp.py +0 -0
  65. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/cinema_vp_realtime_base.py +0 -0
  66. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/dr_double_integrator.py +0 -0
  67. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/dr_vp.py +0 -0
  68. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/dr_vp_nodal.py +0 -0
  69. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/dr_vp_polytope.py +0 -0
  70. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/drone_racing.py +0 -0
  71. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/obstacle_avoidance.py +0 -0
  72. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/obstacle_avoidance_nodal.py +0 -0
  73. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/drone/obstacle_avoidance_realtime_base.py +0 -0
  74. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/plotting.py +0 -0
  75. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/realtime/cinema_vp_realtime.py +0 -0
  76. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/realtime/drone_racing_realtime.py +0 -0
  77. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/realtime/dubins_car_realtime.py +0 -0
  78. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/examples/realtime/obstacle_avoidance_realtime.py +0 -0
  79. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/ctlos_cine.gif +0 -0
  80. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/ctlos_dr.gif +0 -0
  81. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/dtlos_cine.gif +0 -0
  82. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/dtlos_dr.gif +0 -0
  83. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/openscvx_logo.svg +0 -0
  84. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/oscvx_structure_full_dark.svg +0 -0
  85. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/figures/video_preview.png +0 -0
  86. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/__init__.py +0 -0
  87. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/1-background.avif +0 -0
  88. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/1-background@1x.avif +0 -0
  89. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/1-background@2x.avif +0 -0
  90. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/1-background@3x.avif +0 -0
  91. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/1-background@4x.avif +0 -0
  92. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/2-mars.avif +0 -0
  93. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/2-mars@1x.avif +0 -0
  94. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/2-mars@2x.avif +0 -0
  95. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/2-mars@3x.avif +0 -0
  96. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/2-mars@4x.avif +0 -0
  97. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/3-moon.avif +0 -0
  98. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/3-moon@1x.avif +0 -0
  99. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/3-moon@2x.avif +0 -0
  100. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/3-moon@3x.avif +0 -0
  101. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/3-moon@4x.avif +0 -0
  102. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/4-sat1.avif +0 -0
  103. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/4-sat1@1x.avif +0 -0
  104. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/4-sat1@2x.avif +0 -0
  105. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/4-sat1@3x.avif +0 -0
  106. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/4-sat1@4x.avif +0 -0
  107. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/5-space.avif +0 -0
  108. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/5-space@1x.avif +0 -0
  109. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/5-space@2x.avif +0 -0
  110. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/5-space@3x.avif +0 -0
  111. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/5-space@4x.avif +0 -0
  112. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/6-earth.avif +0 -0
  113. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/6-earth@1x.avif +0 -0
  114. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/6-earth@2x.avif +0 -0
  115. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/6-earth@3x.avif +0 -0
  116. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/images/layers/6-earth@4x.avif +0 -0
  117. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/javascripts/parallax.js +0 -0
  118. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/logo.svg +0 -0
  119. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/stylesheets/custom.css +0 -0
  120. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/assets/stylesheets/parallax.css +0 -0
  121. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/home.html +0 -0
  122. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/main.html +0 -0
  123. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/partials/parallax/hero.html +0 -0
  124. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/material/overrides/partials/parallax.html +0 -0
  125. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/mkdocs.yml +0 -0
  126. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/__init__.py +0 -0
  127. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/algorithms/__init__.py +0 -0
  128. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/algorithms/autotuning.py +0 -0
  129. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/config.py +0 -0
  130. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/discretization/__init__.py +0 -0
  131. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/discretization/discretization.py +0 -0
  132. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/integrators/__init__.py +0 -0
  133. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/integrators/runge_kutta.py +0 -0
  134. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/__init__.py +0 -0
  135. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/cvxpy_constraints.py +0 -0
  136. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/cvxpy_variables.py +0 -0
  137. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/dynamics.py +0 -0
  138. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/jax_constraints.py +0 -0
  139. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/parameters.py +0 -0
  140. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/problem.py +0 -0
  141. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/lowered/unified.py +0 -0
  142. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/propagation/__init__.py +0 -0
  143. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/propagation/post_processing.py +0 -0
  144. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/propagation/propagation.py +0 -0
  145. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/solvers/__init__.py +0 -0
  146. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/solvers/cvxpy.py +0 -0
  147. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/__init__.py +0 -0
  148. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/augmentation.py +0 -0
  149. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/builder.py +0 -0
  150. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/constraint_set.py +0 -0
  151. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/__init__.py +0 -0
  152. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/arithmetic.py +0 -0
  153. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/array.py +0 -0
  154. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/constraint.py +0 -0
  155. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/control.py +0 -0
  156. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/expr.py +0 -0
  157. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/linalg.py +0 -0
  158. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/math.py +0 -0
  159. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/spatial.py +0 -0
  160. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/state.py +0 -0
  161. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/stl.py +0 -0
  162. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/expr/variable.py +0 -0
  163. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/hashing.py +0 -0
  164. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/lower.py +0 -0
  165. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/lowerers/__init__.py +0 -0
  166. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/lowerers/cvxpy.py +0 -0
  167. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/lowerers/jax.py +0 -0
  168. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/preprocessing.py +0 -0
  169. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/problem.py +0 -0
  170. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/time.py +0 -0
  171. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/symbolic/unified.py +0 -0
  172. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/__init__.py +0 -0
  173. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/cache.py +0 -0
  174. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/caching.py +0 -0
  175. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/printing.py +0 -0
  176. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/profiling.py +0 -0
  177. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx/utils/utils.py +0 -0
  178. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx.egg-info/dependency_links.txt +0 -0
  179. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx.egg-info/requires.txt +0 -0
  180. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/openscvx.egg-info/top_level.txt +0 -0
  181. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/pyproject.toml +0 -0
  182. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/scripts/gen_example_pages.py +0 -0
  183. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/scripts/gen_ref_pages.py +0 -0
  184. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/setup.cfg +0 -0
  185. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/__init__.py +0 -0
  186. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/brachistochrone_analytical.py +0 -0
  187. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/__init__.py +0 -0
  188. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/__init__.py +0 -0
  189. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_arithmetic.py +0 -0
  190. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_array.py +0 -0
  191. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_constraint.py +0 -0
  192. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_expr.py +0 -0
  193. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_linalg.py +0 -0
  194. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_math.py +0 -0
  195. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_node_reference.py +0 -0
  196. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_parameters.py +0 -0
  197. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_scaling.py +0 -0
  198. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_spatial.py +0 -0
  199. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/expr/test_variable.py +0 -0
  200. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_augmentation.py +0 -0
  201. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_hashing.py +0 -0
  202. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_lower_cvxpy.py +0 -0
  203. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_lower_jax.py +0 -0
  204. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_preprocessing.py +0 -0
  205. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/symbolic/test_unified.py +0 -0
  206. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_brachistochrone.py +0 -0
  207. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_cvxpygen_optional.py +0 -0
  208. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_discretization.py +0 -0
  209. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_examples.py +0 -0
  210. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_integrators.py +0 -0
  211. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_propagation.py +0 -0
  212. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_pyqtgraph_functions.py +0 -0
  213. {openscvx-0.3.1.dev4 → openscvx-0.3.1.dev12}/tests/test_pyqtgraph_helpers.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openscvx
3
- Version: 0.3.1.dev4
3
+ Version: 0.3.1.dev12
4
4
  Summary: A general Python-based successive convexification implementation which uses a JAX backend.
5
5
  Author-email: Chris Hayner and Griffin Norris <haynec@uw.edu>
6
6
  License: Apache Software License
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.3.1.dev4'
32
- __version_tuple__ = version_tuple = (0, 3, 1, 'dev4')
31
+ __version__ = version = '0.3.1.dev12'
32
+ __version_tuple__ = version_tuple = (0, 3, 1, 'dev12')
33
33
 
34
- __commit_id__ = commit_id = 'gfe2df476c'
34
+ __commit_id__ = commit_id = 'g9a182ff5a'
@@ -66,6 +66,8 @@ class OptimizationResults:
66
66
  J_tr_history: list[np.ndarray] = field(default_factory=list)
67
67
  J_vb_history: list[np.ndarray] = field(default_factory=list)
68
68
  J_vc_history: list[np.ndarray] = field(default_factory=list)
69
+ TR_history: list[np.ndarray] = field(default_factory=list)
70
+ VC_history: list[np.ndarray] = field(default_factory=list)
69
71
 
70
72
  @property
71
73
  def x(self) -> np.ndarray:
@@ -101,6 +101,8 @@ def format_result(problem, state: "SolverState", converged: bool) -> Optimizatio
101
101
  J_tr_history=state.J_tr,
102
102
  J_vb_history=state.J_vb,
103
103
  J_vc_history=state.J_vc,
104
+ TR_history=state.TR_history,
105
+ VC_history=state.VC_history,
104
106
  )
105
107
 
106
108
 
@@ -142,6 +144,8 @@ def PTR_step(
142
144
  V_multi_shoot,
143
145
  subprop_time,
144
146
  dis_time,
147
+ vc_mat,
148
+ tr_mat,
145
149
  ) = PTR_subproblem(
146
150
  params.items(),
147
151
  cpg_solve,
@@ -157,6 +161,8 @@ def PTR_step(
157
161
  state.V_history.append(V_multi_shoot)
158
162
  state.X.append(x_sol)
159
163
  state.U.append(u_sol)
164
+ state.VC_history.append(vc_mat)
165
+ state.TR_history.append(tr_mat)
160
166
 
161
167
  state.J_tr = np.sum(np.array(J_tr_vec))
162
168
  state.J_vb = np.sum(np.array(J_vb_vec))
@@ -300,14 +306,10 @@ def PTR_subproblem(
300
306
  )
301
307
 
302
308
  # Calculate J_tr_vec using the JAX-compatible block diagonal matrix
303
- J_tr_vec = (
304
- la.norm(
305
- inv_block_diag @ np.hstack((x_new_guess - state.x, u_new_guess - state.u)).T,
306
- axis=0,
307
- )
308
- ** 2
309
- )
310
- J_vc_vec = np.sum(np.abs(prob.var_dict["nu"].value), axis=1)
309
+ tr_mat = inv_block_diag @ np.hstack((x_new_guess - state.x, u_new_guess - state.u)).T
310
+ J_tr_vec = la.norm(tr_mat, axis=0) ** 2
311
+ vc_mat = np.abs(prob.var_dict["nu"].value)
312
+ J_vc_vec = np.sum(vc_mat, axis=1)
311
313
 
312
314
  id_ncvx = 0
313
315
  J_vb_vec = 0
@@ -336,4 +338,6 @@ def PTR_subproblem(
336
338
  V_multi_shoot,
337
339
  subprop_time,
338
340
  dis_time,
341
+ vc_mat,
342
+ abs(tr_mat),
339
343
  )
@@ -59,6 +59,8 @@ class SolverState:
59
59
  X: List[np.ndarray] = field(default_factory=list)
60
60
  U: List[np.ndarray] = field(default_factory=list)
61
61
  V_history: List[np.ndarray] = field(default_factory=list)
62
+ VC_history: List[np.ndarray] = field(default_factory=list)
63
+ TR_history: List[np.ndarray] = field(default_factory=list)
62
64
 
63
65
  @property
64
66
  def x(self) -> np.ndarray:
@@ -225,4 +227,6 @@ class SolverState:
225
227
  X=[settings.sim.x.guess.copy()],
226
228
  U=[settings.sim.u.guess.copy()],
227
229
  V_history=[],
230
+ VC_history=[],
231
+ TR_history=[],
228
232
  )
@@ -13,34 +13,16 @@ violations, and creating animations of the optimization process.
13
13
  """
14
14
 
15
15
  from .plotting import (
16
- frame_args,
17
- full_subject_traj_time,
18
- plot_constraint_violation,
19
16
  plot_control,
20
- plot_initial_guess,
21
- plot_losses,
22
- plot_scp_animation,
17
+ plot_scp_iteration_animation,
23
18
  plot_state,
24
- qdcm,
25
- save_gate_parameters,
26
- scp_traj_interp,
27
19
  )
28
20
 
29
21
  __all__ = [
30
22
  # Core plotting functions
31
23
  "plot_state",
32
24
  "plot_control",
33
- "plot_constraint_violation",
34
- "plot_losses",
35
- "plot_scp_animation",
36
- "plot_initial_guess",
37
- # Trajectory utilities
38
- "full_subject_traj_time",
39
- "scp_traj_interp",
40
- # Helper functions
41
- "qdcm",
42
- "save_gate_parameters",
43
- "frame_args",
25
+ "plot_scp_iteration_animation",
44
26
  ]
45
27
 
46
28
  # Mark module as unstable/deprecated