sleipnirgroup-jormungandr 0.6.7.dev18__tar.gz → 0.6.7.dev20__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.
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/bounds.hpp +20 -14
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/decision_variable_test.py +7 -2
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/ipm.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/docstrings.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/autodiff/variable_matrix_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/optimization/solver/ipm.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/util/pool.cpp +0 -0
|
@@ -105,9 +105,12 @@ Bounds<Scalar> get_bounds(
|
|
|
105
105
|
const Eigen::SparseVector<Scalar>& row_A_i =
|
|
106
106
|
A_i.innerVector(constraint_index);
|
|
107
107
|
const auto non_zeros = row_A_i.nonZeros();
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
//
|
|
108
|
+
if (non_zeros != 1) {
|
|
109
|
+
// Constraint is not a bound because either:
|
|
110
|
+
//
|
|
111
|
+
// 1. It's in more than one variable
|
|
112
|
+
// 2. It's in no decision variables (e.g., it only depends on variables
|
|
113
|
+
// that aren't decision variables of this problem)
|
|
111
114
|
continue;
|
|
112
115
|
}
|
|
113
116
|
|
|
@@ -123,6 +126,14 @@ Bounds<Scalar> get_bounds(
|
|
|
123
126
|
const auto constraint_coefficient =
|
|
124
127
|
row_iter
|
|
125
128
|
.value(); // The nonzero value of the j-th constraint's gradient.
|
|
129
|
+
|
|
130
|
+
// The Jacobian's sparsity pattern is structural, so the single stored value
|
|
131
|
+
// can be zero if the constraint's terms cancel (e.g., x − x + 1 ≥ 0). The
|
|
132
|
+
// constraint is then constant and not a bound.
|
|
133
|
+
if (constraint_coefficient == Scalar(0)) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
|
|
126
137
|
const auto decision_variable_index = row_iter.index();
|
|
127
138
|
const auto decision_variable_value =
|
|
128
139
|
decision_variables[decision_variable_index].value();
|
|
@@ -137,19 +148,14 @@ Bounds<Scalar> get_bounds(
|
|
|
137
148
|
constraint_constant = inequality_constraints[constraint_index].value();
|
|
138
149
|
}
|
|
139
150
|
|
|
140
|
-
// Shouldn't happen since the constraint is supposed to be linear and not a
|
|
141
|
-
// constant.
|
|
142
|
-
slp_assert(constraint_coefficient != Scalar(0));
|
|
143
|
-
|
|
144
151
|
using std::isfinite;
|
|
145
152
|
|
|
146
|
-
//
|
|
147
|
-
// x
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
slp_assert(isfinite(constraint_coefficient));
|
|
153
|
+
// The constraint's constant or coefficient can be nonfinite if the user
|
|
154
|
+
// wrote a constraint like x ≥ −∞ or ∞x ≥ 1. Note that this constraint will
|
|
155
|
+
// cause the solver to report a nonfinite initial guess later.
|
|
156
|
+
if (!isfinite(constraint_constant) || !isfinite(constraint_coefficient)) {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
153
159
|
|
|
154
160
|
// Update bounds; we assume constraints of the form c(x) ≥ 0.
|
|
155
161
|
auto& [lower_bound, upper_bound] =
|
|
@@ -57,13 +57,18 @@ def test_matrix_init_assign():
|
|
|
57
57
|
assert z.value(2, 1) == 6.0
|
|
58
58
|
|
|
59
59
|
# Matrix assignment; matrix comparison
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
expected = np.array([[7.0, 8.0], [9.0, 10.0], [11.0, 12.0]])
|
|
61
|
+
z.set_value(expected)
|
|
62
|
+
assert (z.value() == expected).all()
|
|
62
63
|
|
|
63
64
|
# Block assignment
|
|
64
65
|
z[:2, :1].set_value(np.array([[1.0], [1.0]]))
|
|
65
66
|
assert (z.value() == np.array([[1.0, 8.0], [1.0, 10.0], [11.0, 12.0]])).all()
|
|
66
67
|
|
|
68
|
+
# Segment assignment
|
|
69
|
+
z[:3, :1][:2, :].set_value(np.array([[2.0], [2.0]]))
|
|
70
|
+
assert (z.value() == np.array([[2.0, 8.0], [2.0, 10.0], [11.0, 12.0]])).all()
|
|
71
|
+
|
|
67
72
|
|
|
68
73
|
def test_symmetric_matrix():
|
|
69
74
|
problem = Problem()
|
{sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/CMakeLists.txt
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
|
|
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
|
|
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
|
{sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/pyproject.toml
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
|
{sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/python/cpp/main.cpp
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.7.dev18 → sleipnirgroup_jormungandr-0.6.7.dev20}/src/util/pool.cpp
RENAMED
|
File without changes
|