openscvx 0.5.3.dev20__tar.gz → 0.5.3.dev22__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.
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/tests-unit.yml +1 -1
- {openscvx-0.5.3.dev20/openscvx.egg-info → openscvx-0.5.3.dev22}/PKG-INFO +2 -2
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/_version.py +3 -3
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/propagation/post_processing.py +12 -7
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/cvxpy_ptr_solver.py +17 -12
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22/openscvx.egg-info}/PKG-INFO +2 -2
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx.egg-info/requires.txt +1 -1
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/pyproject.toml +1 -1
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/assets/logo.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/release-drafter.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/_docs.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/branch-name.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/docs.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/lint.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/nightly.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/release-drafter.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/release.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.github/workflows/tests-integration.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.gitignore +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/.gitmodules +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/CONTRIBUTING.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/LICENSE +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/README.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/constraint_reformulation.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/control_parameterization.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/discretization.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/ocp.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/scvx.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/Foundations/time_dilation.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UnderTheHood/batching_jit_grad.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UnderTheHood/lowering_architecture.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UnderTheHood/vectorization_and_vmapping.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/00_introduction.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/01_hello_world_brachistochrone.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/02_drone_racing_constraints.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/03_obstacle_avoidance_vmap.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/04_viewpoint_constraints.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/05_visualization.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/06_logic.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/07_lie.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/08_mpcc.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/09_mjx_dynamics.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/favicon.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/ct-scvx_dark.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/ct-scvx_light.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/ctcs_dark.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/ctcs_light.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/problem_class_dark.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/images/problem_class_light.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/logo.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/openscvx_logo_square.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/viser-client/index.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/viser-recordings/drone_racing.viser +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/viser-recordings/franka_fr3v2_pick_place.viser +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/citation.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/examples.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/index.md +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/javascripts/mathjax.js +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/versions.json +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/_viser_embed_export.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/brachistochrone_batched.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/flappy_bird.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/hypersensitive.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/impulsive.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/stl_integer_variable.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/abstract/stl_or.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/7_dof_arm.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/_camera.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/_render.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/_sensor_view.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/dr_vp_polytope.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/franka_fr3v2_pick_place.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/logo.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/3_dof_arm.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/7_dof_arm.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/7_dof_arm_collision.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/7_dof_arm_vp.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/franka_fr3v2_pick_place.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/franka_fr3v2_viewplanning.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/franka_fr3v2_viewplanning_nodal.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_disjoint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_obstacle_conditional.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_obstacle_stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_stl_or.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_waypoint_stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/2d_obstacle_avoidance_batched_ic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/cinema_vp.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/cinema_vp_nodal.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/dr_double_integrator.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/dr_vp.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/dr_vp_nodal.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/dr_vp_polytope.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/drone_racing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/drone_racing_batched_gates.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo_utils/acl_logo.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo_utils/openscvx_logo_single.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo_utils/quadrotor_mesh.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo_utils/svg_path_utils.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/obstacle_avoidance.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/obstacle_avoidance_nodal.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/obstacle_avoidance_vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/obstacle_avoidance_vmap_2d.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/openscvx_logo.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/double_cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/skydio_x2_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/triple_cartpole_3d_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/triple_cartpole_game.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mjx/triple_cartpole_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/double_integrator_discrete.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/dubins_car_circle_analytical.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/dubins_car_circle_discrete.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/realtime_double_integrator_drone_racing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/plotting.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/plotting_viser.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/3DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/6DoF_pdg_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/3DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/6DoF_pdg_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/cinema_vp_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/drone_racing_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/dubins_car_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/base_problems/obstacle_avoidance_realtime_base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/cinema_vp_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/drone_racing_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/dubins_car_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/obstacle_avoidance_realtime.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/rocket/3DoF_pdg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/rocket/6DoF_pdg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/rocket/6DoF_pdg_batched_ic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/spacecraft/halo_orbit.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/spacecraft/hohmann_transfer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/spacecraft/let_transfer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/spacecraft/proxops_cw.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/spacecraft/relative_loitering.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/ctlos_cine.gif +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/ctlos_dr.gif +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/dtlos_cine.gif +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/dtlos_dr.gif +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/openscvx_logo.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/openscvx_logo_square.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/oscvx_structure_full_dark.svg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/figures/video_preview.png +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/custom.css +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-dropin.css +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-hero.css +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-viser.css +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/home.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/main.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-diagram.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-dropin-banner.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-hero.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-pipeline.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-viser-strip.html +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/mkdocs.yml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/__main__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/adaptive_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/augmented_lagrangian.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/constant_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/ramp_proximal_weight.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/optimization_results.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/scvx/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/scvx/iteration.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/scvx/penalized_trust_region.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/weights.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/config.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/discretize_linearize.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/linearize_discretize.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/linearize_discretize_sparse.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/sparse_utils/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/sparse_utils/bcoo_helpers.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/discretization/sparse_utils/sparse_jacobian.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/expert/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/expert/byof.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/expert/lowering.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/expert/validation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/init/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/init/interpolation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/init/inverse_kinematics.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrations/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrations/base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrations/menagerie.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrations/mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrators/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrators/diffrax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/integrators/runge_kutta.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/loader.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/cvxpy_constraints.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/cvxpy_variables.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/dynamics.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/jax_constraints.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/parameters.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/problem.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/lowered/unified.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/plotting.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/publication.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/scp_iteration.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/animated.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/coordinates.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/orbits.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/plotly_integration.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/primitives.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/scp.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/plotting/viser/server.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/problem.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/propagation/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/propagation/propagation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/base.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/cones.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/moreau_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/ptr_solver.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/solvers/qpax_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/affine.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/augmentation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/builder.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/canonicalize.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/constraint_set.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/arithmetic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/control.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/expr.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/lie/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/lie/adjoint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/lie/se3.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/lie/so3.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/parameter.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/spatial.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/state.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/stljax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/time.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/variable.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/expr/vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/hashing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lower.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/_lowerer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/_registry.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/arithmetic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/control.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/expr.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/cvxpy/state.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/_lowerer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/_registry.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/arithmetic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/control.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/expr.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/lie.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/spatial.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/state.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/stljax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/lowerers/jax/vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/_registry.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/lie.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/parser.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/spatial.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/stljax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/parser/tokenizer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/preprocessing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/problem.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/sparsity.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/symbolic/unified.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/cache.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/caching.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/printing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/profiling.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/utils/utils.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx.egg-info/SOURCES.txt +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx.egg-info/dependency_links.txt +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx.egg-info/entry_points.txt +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx.egg-info/top_level.txt +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/scripts/gen_example_pages.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/scripts/gen_ref_pages.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/scripts/mkdocs_copy_viser_client_hook.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/setup.cfg +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/_marks.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/_iteration_helpers.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/autotuner/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/autotuner/test_update_weights_jit.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/test_algorithm_state_pytree.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/test_iteration_fn_jit.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/test_iteration_fn_parity.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/algorithms/test_make_solve_loop.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/brachistochrone_analytical.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/conftest.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/expr/test_gmsr.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/fixtures/brachistochrone.json +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/fixtures/brachistochrone.yaml +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/hohmann_analytical.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/integrations/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/integrations/test_mjx.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/integrations/test_mjx_dynamics.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/_iteration_callback_helpers.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_cvxpy_callback_jit_spike.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_iteration_callback_cvxpy.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_iteration_callback_moreau.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_iteration_callback_qpax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_iteration_callback_vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_moreau_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_qpax_ptr_solver.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/solvers/test_subproblem_pytree.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_arithmetic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_expr.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_lie.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_node_reference.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_parameters.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_scaling.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_spatial.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_variable.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/expr/test_vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/__init__.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_array.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_constraint.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_lie.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_linalg.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_load.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_logic.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_math.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_parser.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_spatial.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_stl.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_tokenizer.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/parser/test_vmap.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_augmentation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_hashing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_lower_cvxpy.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_lower_jax.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_preprocessing.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_sparsity.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/symbolic/test_unified.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_autotuning.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_cvxpygen_optional.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_discretization.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_examples.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_expert.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_impulsive.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_init.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_integrators.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_loader.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_optimization_results.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_plotting.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_propagation.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_batched_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_batched_cvxpy_export_errors.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_batched_export_roundtrip.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_jax_bare_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_jax_jit_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_jax_vmap_brachistochrone.py +0 -0
- {openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/tests/test_solve_jax_vmap_converged_no_drift.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openscvx
|
|
3
|
-
Version: 0.5.3.
|
|
3
|
+
Version: 0.5.3.dev22
|
|
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
|
|
@@ -24,7 +24,7 @@ Requires-Dist: matplotlib
|
|
|
24
24
|
Requires-Dist: pyyaml
|
|
25
25
|
Requires-Dist: pydantic>=2.0
|
|
26
26
|
Provides-Extra: cvxpygen
|
|
27
|
-
Requires-Dist: cvxpygen; extra == "cvxpygen"
|
|
27
|
+
Requires-Dist: cvxpygen>=1.0.0; extra == "cvxpygen"
|
|
28
28
|
Requires-Dist: qocogen; extra == "cvxpygen"
|
|
29
29
|
Provides-Extra: qpax
|
|
30
30
|
Requires-Dist: qpax>=0.1.1; extra == "qpax"
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.5.3.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 5, 3, '
|
|
21
|
+
__version__ = version = '0.5.3.dev22'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 5, 3, 'dev22')
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'gc17dbce68'
|
|
@@ -81,18 +81,23 @@ def propagate_trajectory_results(
|
|
|
81
81
|
n_opt_states = x.shape[1]
|
|
82
82
|
n_prop_states = settings.sim.x_prop.initial.shape[0]
|
|
83
83
|
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
#
|
|
84
|
+
# Seed from x[0, :] directly so param-fixed "Fix" components use this solve's
|
|
85
|
+
# pinned value rather than the lowering-time x_prop.initial default.
|
|
86
|
+
x0_opt = np.array(x[0, :], dtype=float)
|
|
87
|
+
|
|
88
|
+
# Seed from the pre-impulse state to avoid impulse duplication
|
|
89
|
+
if dynamics_discrete is not None and np.any(settings.sim.u._impulsive_mask()):
|
|
90
|
+
init_fixed = np.asarray(settings.sim.x.initial_type) == "Fix"
|
|
91
|
+
x_initial = np.asarray(settings.sim.x.initial, dtype=float)
|
|
92
|
+
x0_opt = np.where(init_fixed, x_initial, x0_opt)
|
|
93
|
+
|
|
89
94
|
if n_opt_states == n_prop_states:
|
|
90
|
-
x_prop_for_propagation.initial =
|
|
95
|
+
x_prop_for_propagation.initial = x0_opt
|
|
91
96
|
else:
|
|
92
97
|
# Propagation has extra states appended beyond the optimisation states;
|
|
93
98
|
# copy only the overlapping prefix and leave prop-only states untouched.
|
|
94
99
|
x_prop_initial_updated = np.array(settings.sim.x_prop.initial, dtype=float)
|
|
95
|
-
x_prop_initial_updated[:n_opt_states] =
|
|
100
|
+
x_prop_initial_updated[:n_opt_states] = x0_opt
|
|
96
101
|
x_prop_for_propagation.initial = x_prop_initial_updated
|
|
97
102
|
|
|
98
103
|
# Temporarily replace x_prop with our modified copy for propagation
|
|
@@ -664,21 +664,24 @@ class CVXPyPTRSolver(PTRSolver):
|
|
|
664
664
|
based on the configuration.
|
|
665
665
|
"""
|
|
666
666
|
if self.cvxpygen:
|
|
667
|
+
cpg_solver_path = os.path.join("solver", "cpg_solver.py")
|
|
668
|
+
if not os.path.isfile(cpg_solver_path):
|
|
669
|
+
raise ImportError(
|
|
670
|
+
"cvxpygen solver not found. Make sure cvxpygen is installed and code "
|
|
671
|
+
"generation has been run. Install with: uv pip install openscvx[cvxpygen]"
|
|
672
|
+
)
|
|
667
673
|
try:
|
|
668
|
-
import pickle
|
|
669
|
-
|
|
670
674
|
from solver.cpg_solver import cpg_solve
|
|
671
|
-
|
|
672
|
-
with open("solver/problem.pickle", "rb") as f:
|
|
673
|
-
pickle.load(f)
|
|
674
|
-
self._problem.register_solve("CPG", cpg_solve)
|
|
675
|
-
solver_args = self.solver_args
|
|
676
|
-
self._solve_fn = lambda: self._problem.solve(method="CPG", **solver_args)
|
|
677
|
-
except ImportError:
|
|
675
|
+
except ImportError as exc:
|
|
678
676
|
raise ImportError(
|
|
679
677
|
"cvxpygen solver not found. Make sure cvxpygen is installed and code "
|
|
680
|
-
"generation has been run. Install with: pip install openscvx[cvxpygen]"
|
|
681
|
-
)
|
|
678
|
+
"generation has been run. Install with: uv pip install openscvx[cvxpygen]"
|
|
679
|
+
) from exc
|
|
680
|
+
# cvxpygen v1.0+ registers CPG during generate_code(); re-register here so
|
|
681
|
+
# reusing an existing solver/ directory (without regenerating) still works.
|
|
682
|
+
self._problem.register_solve("CPG", cpg_solve)
|
|
683
|
+
solver_args = self.solver_args
|
|
684
|
+
self._solve_fn = lambda: self._problem.solve(method="CPG", **solver_args)
|
|
682
685
|
else:
|
|
683
686
|
solver = self.cvx_solver
|
|
684
687
|
solver_args = dict(self.solver_args)
|
|
@@ -1200,7 +1203,9 @@ class CVXPyPTRSolver(PTRSolver):
|
|
|
1200
1203
|
# status gate would otherwise reject the UNKNOWN it maps to.
|
|
1201
1204
|
code = (
|
|
1202
1205
|
StatusCode.OPTIMAL
|
|
1203
|
-
if result.status == "optimal_inaccurate"
|
|
1206
|
+
if (result.status == "optimal_inaccurate")
|
|
1207
|
+
or (result.status == "solved")
|
|
1208
|
+
or (result.status == "1 (for description visit https://qoco-org.github.io/qoco/)")
|
|
1204
1209
|
else status_str_to_code(result.status)
|
|
1205
1210
|
)
|
|
1206
1211
|
return SubproblemSolution(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openscvx
|
|
3
|
-
Version: 0.5.3.
|
|
3
|
+
Version: 0.5.3.dev22
|
|
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
|
|
@@ -24,7 +24,7 @@ Requires-Dist: matplotlib
|
|
|
24
24
|
Requires-Dist: pyyaml
|
|
25
25
|
Requires-Dist: pydantic>=2.0
|
|
26
26
|
Provides-Extra: cvxpygen
|
|
27
|
-
Requires-Dist: cvxpygen; extra == "cvxpygen"
|
|
27
|
+
Requires-Dist: cvxpygen>=1.0.0; extra == "cvxpygen"
|
|
28
28
|
Requires-Dist: qocogen; extra == "cvxpygen"
|
|
29
29
|
Provides-Extra: qpax
|
|
30
30
|
Requires-Dist: qpax>=0.1.1; extra == "qpax"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UnderTheHood/vectorization_and_vmapping.md
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/01_hello_world_brachistochrone.md
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/UsersGuide/02_drone_racing_constraints.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/docs/assets/viser-recordings/drone_racing.viser
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/franka_fr3v2_pick_place.py
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/animations/obstacle_avoidance_vmap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/arm/franka_fr3v2_viewplanning_nodal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/car/dubins_car_obstacle_conditional.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/2d_obstacle_avoidance_batched_ic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/drone/logo_utils/openscvx_logo_single.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/mpc/double_integrator_drone_racing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/examples/realtime/obstacle_avoidance_realtime.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/custom.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-dropin.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-hero.css
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/assets/stylesheets/home-viser.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-dropin-banner.html
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-pipeline.html
RENAMED
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/material/overrides/partials/home-viser-strip.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/augmented_lagrangian.py
RENAMED
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/autotuner/ramp_proximal_weight.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscvx-0.5.3.dev20 → openscvx-0.5.3.dev22}/openscvx/algorithms/scvx/penalized_trust_region.py
RENAMED
|
File without changes
|
|
File without changes
|