sleipnirgroup-jormungandr 0.6.5.dev19__tar.gz → 0.6.5.dev21__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.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/PKG-INFO +1 -1
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/variable_matrix.hpp +35 -27
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_variable_matrix.cpp +2 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/docstrings.hpp +15 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/src/sleipnir/__init__.py +1 -1
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/autodiff/variable_matrix_test.py +14 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/CMakeLists.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/LICENSE.txt +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/README.md +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/SleipnirConfig.cmake.in +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/cmake/BuildTypes.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/cmake/CompilerFlags.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/cmake/Pybind11Mkdoc.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/cmake/SubdirList.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/cmake/arm-none-eabi.cmake +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/expression.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/expression_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/gradient.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/hessian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/jacobian.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/slice.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/variable.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/autodiff/variable_block.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/multistart.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/ocp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/problem.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/newton.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/options.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/assert.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/concepts.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/empty.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/function_ref.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/pool.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/print.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/print_diagnostics.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/profiler.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/scope_exit.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/spy.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/include/sleipnir/util/symbol_exports.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/pyproject.toml +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_variable.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/binders.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/for_each_type.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/main.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/bind_ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/bind_problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/cpp/try_cast.hpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/src/sleipnir/autodiff/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/src/sleipnir/optimization/__init__.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/autodiff/gradient_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/autodiff/hessian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/autodiff/jacobian_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/autodiff/variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/cart_pole_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/cart_pole_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/cart_pole_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/constraints_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/decision_variable_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/differential_drive_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/differential_drive_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/differential_drive_util.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/double_integrator_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/flywheel_ocp_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/flywheel_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/linear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/multistart_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/nonlinear_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/problem_spy_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/quadratic_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/rk4.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/solver/exit_status_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/python/test/optimization/trivial_problem_test.py +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/autodiff/gradient.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/autodiff/hessian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/autodiff/jacobian.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/autodiff/variable_matrix.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/optimization/ocp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/optimization/problem.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/optimization/solver/interior_point.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/optimization/solver/newton.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/optimization/solver/sqp.cpp +0 -0
- {sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/util/pool.cpp +0 -0
|
@@ -1001,6 +1001,23 @@ class VariableMatrix : public SleipnirBase {
|
|
|
1001
1001
|
return result;
|
|
1002
1002
|
}
|
|
1003
1003
|
|
|
1004
|
+
/// Converts the VariableMatrix to an Eigen matrix.
|
|
1005
|
+
///
|
|
1006
|
+
/// @return Eigen matrix.
|
|
1007
|
+
Eigen::Matrix<Variable<Scalar>, Eigen::Dynamic, Eigen::Dynamic> to_eigen()
|
|
1008
|
+
const {
|
|
1009
|
+
Eigen::Matrix<Variable<Scalar>, Eigen::Dynamic, Eigen::Dynamic> result{
|
|
1010
|
+
rows(), cols()};
|
|
1011
|
+
|
|
1012
|
+
for (int row = 0; row < rows(); ++row) {
|
|
1013
|
+
for (int col = 0; col < cols(); ++col) {
|
|
1014
|
+
result[row, col] = (*this)[row, col];
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
return result;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1004
1021
|
/// Transforms the matrix coefficient-wise with an unary operator.
|
|
1005
1022
|
///
|
|
1006
1023
|
/// @param unary_op The unary operator to use for the transform operation.
|
|
@@ -1187,6 +1204,22 @@ class VariableMatrix : public SleipnirBase {
|
|
|
1187
1204
|
/// @return Number of elements in matrix.
|
|
1188
1205
|
size_t size() const { return m_storage.size(); }
|
|
1189
1206
|
|
|
1207
|
+
/// Returns an identity variable matrix.
|
|
1208
|
+
///
|
|
1209
|
+
/// @param rows The number of matrix rows.
|
|
1210
|
+
/// @return An identity variable matrix.
|
|
1211
|
+
static VariableMatrix<Scalar> identity(int rows) {
|
|
1212
|
+
VariableMatrix<Scalar> result{detail::empty, rows, rows};
|
|
1213
|
+
|
|
1214
|
+
for (int row = 0; row < rows; ++row) {
|
|
1215
|
+
for (int col = 0; col < rows; ++col) {
|
|
1216
|
+
result[row, col] = row == col ? Scalar(1) : Scalar(0);
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
return result;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1190
1223
|
/// Returns a variable matrix filled with zeros.
|
|
1191
1224
|
///
|
|
1192
1225
|
/// @param rows The number of matrix rows.
|
|
@@ -1613,33 +1646,8 @@ VariableMatrix<Scalar> solve(const VariableMatrix<Scalar>& A,
|
|
|
1613
1646
|
auto det_A = a * adj_A00 + b * adj_A10 + c * adj_A20 + d * adj_A30;
|
|
1614
1647
|
return adj_A / det_A * B;
|
|
1615
1648
|
} else {
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
MatrixXv eigen_A{A.rows(), A.cols()};
|
|
1620
|
-
for (int row = 0; row < A.rows(); ++row) {
|
|
1621
|
-
for (int col = 0; col < A.cols(); ++col) {
|
|
1622
|
-
eigen_A[row, col] = A[row, col];
|
|
1623
|
-
}
|
|
1624
|
-
}
|
|
1625
|
-
|
|
1626
|
-
MatrixXv eigen_B{B.rows(), B.cols()};
|
|
1627
|
-
for (int row = 0; row < B.rows(); ++row) {
|
|
1628
|
-
for (int col = 0; col < B.cols(); ++col) {
|
|
1629
|
-
eigen_B[row, col] = B[row, col];
|
|
1630
|
-
}
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
|
-
MatrixXv eigen_X = eigen_A.householderQr().solve(eigen_B);
|
|
1634
|
-
|
|
1635
|
-
VariableMatrix<Scalar> X{detail::empty, A.cols(), B.cols()};
|
|
1636
|
-
for (int row = 0; row < X.rows(); ++row) {
|
|
1637
|
-
for (int col = 0; col < X.cols(); ++col) {
|
|
1638
|
-
X[row, col] = eigen_X[row, col];
|
|
1639
|
-
}
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1642
|
-
return X;
|
|
1649
|
+
return VariableMatrix<Scalar>{
|
|
1650
|
+
A.to_eigen().householderQr().solve(B.to_eigen())};
|
|
1643
1651
|
}
|
|
1644
1652
|
}
|
|
1645
1653
|
|
|
@@ -439,6 +439,8 @@ void bind_variable_matrix(nb::module_& autodiff,
|
|
|
439
439
|
const std::function<Variable<double>(const Variable<double>& x)>&
|
|
440
440
|
unary_op) { return self.cwise_transform(unary_op); },
|
|
441
441
|
"func"_a, DOC(slp, VariableMatrix, cwise_transform));
|
|
442
|
+
cls.def_static("identity", &VariableMatrix<double>::identity, "rows"_a,
|
|
443
|
+
DOC(slp, VariableMatrix, identity));
|
|
442
444
|
cls.def_static("zero", &VariableMatrix<double>::zero, "rows"_a, "cols"_a,
|
|
443
445
|
DOC(slp, VariableMatrix, zero));
|
|
444
446
|
cls.def_static("one", &VariableMatrix<double>::one, "rows"_a, "cols"_a,
|
|
@@ -1812,6 +1812,15 @@ R"doc(Returns const end iterator.
|
|
|
1812
1812
|
Returns:
|
|
1813
1813
|
Const end iterator.)doc";
|
|
1814
1814
|
|
|
1815
|
+
static const char *__doc_slp_VariableMatrix_identity =
|
|
1816
|
+
R"doc(Returns an identity variable matrix.
|
|
1817
|
+
|
|
1818
|
+
Parameter ``rows``:
|
|
1819
|
+
The number of matrix rows.
|
|
1820
|
+
|
|
1821
|
+
Returns:
|
|
1822
|
+
An identity variable matrix.)doc";
|
|
1823
|
+
|
|
1815
1824
|
static const char *__doc_slp_VariableMatrix_iterator = R"doc()doc";
|
|
1816
1825
|
|
|
1817
1826
|
static const char *__doc_slp_VariableMatrix_iterator_iterator = R"doc()doc";
|
|
@@ -2127,6 +2136,12 @@ R"doc(Returns number of elements in matrix.
|
|
|
2127
2136
|
Returns:
|
|
2128
2137
|
Number of elements in matrix.)doc";
|
|
2129
2138
|
|
|
2139
|
+
static const char *__doc_slp_VariableMatrix_to_eigen =
|
|
2140
|
+
R"doc(Converts the VariableMatrix to an Eigen matrix.
|
|
2141
|
+
|
|
2142
|
+
Returns:
|
|
2143
|
+
Eigen matrix.)doc";
|
|
2144
|
+
|
|
2130
2145
|
static const char *__doc_slp_VariableMatrix_value =
|
|
2131
2146
|
R"doc(Returns an element of the variable matrix.
|
|
2132
2147
|
|
|
@@ -358,9 +358,19 @@ def test_unary_broadcast():
|
|
|
358
358
|
assert (result2.value() == expected2).all()
|
|
359
359
|
|
|
360
360
|
|
|
361
|
+
def test_identity_static_function():
|
|
362
|
+
A = VariableMatrix.identity(3)
|
|
363
|
+
|
|
364
|
+
assert A.shape == (3, 3)
|
|
365
|
+
|
|
366
|
+
assert (A.value() == np.identity(3)).all()
|
|
367
|
+
|
|
368
|
+
|
|
361
369
|
def test_zero_static_function():
|
|
362
370
|
A = VariableMatrix.zero(2, 3)
|
|
363
371
|
|
|
372
|
+
assert A.shape == (2, 3)
|
|
373
|
+
|
|
364
374
|
for row in range(A.rows()):
|
|
365
375
|
for col in range(A.cols()):
|
|
366
376
|
assert A[row, col].value() == 0.0
|
|
@@ -369,6 +379,8 @@ def test_zero_static_function():
|
|
|
369
379
|
def test_one_static_function():
|
|
370
380
|
A = VariableMatrix.one(2, 3)
|
|
371
381
|
|
|
382
|
+
assert A.shape == (2, 3)
|
|
383
|
+
|
|
372
384
|
for row in range(A.rows()):
|
|
373
385
|
for col in range(A.cols()):
|
|
374
386
|
assert A[row, col].value() == 1.0
|
|
@@ -377,6 +389,8 @@ def test_one_static_function():
|
|
|
377
389
|
def test_constant_static_function():
|
|
378
390
|
A = VariableMatrix.constant(2, 3, 2.0)
|
|
379
391
|
|
|
392
|
+
assert A.shape == (2, 3)
|
|
393
|
+
|
|
380
394
|
for row in range(A.rows()):
|
|
381
395
|
for col in range(A.cols()):
|
|
382
396
|
assert A[row, col].value() == 2.0
|
{sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/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
|
|
File without changes
|
{sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/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
|
{sleipnirgroup_jormungandr-0.6.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/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.5.dev19 → sleipnirgroup_jormungandr-0.6.5.dev21}/src/util/pool.cpp
RENAMED
|
File without changes
|