casadi 3.7.2__cp314-none-manylinux2014_x86_64.whl
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.
- casadi/__init__.py +92 -0
- casadi/_casadi.so +0 -0
- casadi/casadi-cli +0 -0
- casadi/casadi.py +54468 -0
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +65 -0
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
- casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
- casadi/cmake/casadi-config-version.cmake +11 -0
- casadi/cmake/casadi-config.cmake +8 -0
- casadi/cmake/casadi-targets-release.cmake +19 -0
- casadi/cmake/casadi-targets.cmake +107 -0
- casadi/cmake/highs/highs-config.cmake +17 -0
- casadi/cmake/highs/highs-targets-release.cmake +28 -0
- casadi/cmake/highs/highs-targets.cmake +117 -0
- casadi/cmake/libzip/libzip-config-version.cmake +43 -0
- casadi/cmake/libzip/libzip-config.cmake +69 -0
- casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
- casadi/cmake/libzip/libzip-targets.cmake +107 -0
- casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
- casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
- casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
- casadi/cmake/osqp/osqp-config.cmake +1 -0
- casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
- casadi/cmake/osqp/osqp-targets.cmake +113 -0
- casadi/cmake/qdldl/qdldl-config.cmake +1 -0
- casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
- casadi/cmake/qdldl/qdldl-targets.cmake +113 -0
- casadi/cmake/sleqp/sleqp-config-version.cmake +65 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +106 -0
- casadi/highs +0 -0
- casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
- casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
- casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
- casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
- casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
- casadi/include/alpaqa/alpaqa.hpp +3 -0
- casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
- casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
- casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
- casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
- casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
- casadi/include/alpaqa/config/config.hpp +165 -0
- casadi/include/alpaqa/dl/dl-problem.h +476 -0
- casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
- casadi/include/alpaqa/export.h +43 -0
- casadi/include/alpaqa/export.hpp +30 -0
- casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
- casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
- casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
- casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
- casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
- casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
- casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
- casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
- casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
- casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
- casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
- casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
- casadi/include/alpaqa/implementation/params/params.tpp +158 -0
- casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
- casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
- casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
- casadi/include/alpaqa/implementation/util/print.tpp +151 -0
- casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
- casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
- casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
- casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
- casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
- casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
- casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
- casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
- casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
- casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
- casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
- casadi/include/alpaqa/inner/panoc.hpp +274 -0
- casadi/include/alpaqa/inner/pantr.hpp +284 -0
- casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
- casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
- casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
- casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
- casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
- casadi/include/alpaqa/outer/alm.hpp +190 -0
- casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
- casadi/include/alpaqa/panoc-alm.hpp +27 -0
- casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
- casadi/include/alpaqa/params/params.hpp +60 -0
- casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
- casadi/include/alpaqa/problem/box.hpp +82 -0
- casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
- casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
- casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
- casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
- casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
- casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
- casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
- casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/util/alloc-check.hpp +23 -0
- casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
- casadi/include/alpaqa/util/check-dim.hpp +64 -0
- casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
- casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
- casadi/include/alpaqa/util/enumerate.hpp +70 -0
- casadi/include/alpaqa/util/float.hpp +25 -0
- casadi/include/alpaqa/util/index-set.hpp +97 -0
- casadi/include/alpaqa/util/io/csv.hpp +43 -0
- casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
- casadi/include/alpaqa/util/max-history.hpp +47 -0
- casadi/include/alpaqa/util/noop-delete.hpp +15 -0
- casadi/include/alpaqa/util/not-implemented.hpp +12 -0
- casadi/include/alpaqa/util/print.hpp +78 -0
- casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
- casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
- casadi/include/alpaqa/util/required-method.hpp +29 -0
- casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
- casadi/include/alpaqa/util/set-intersection.hpp +129 -0
- casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
- casadi/include/alpaqa/util/timed.hpp +22 -0
- casadi/include/alpaqa/util/type-erasure.hpp +568 -0
- casadi/include/alpaqa/util/type-traits.hpp +58 -0
- casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
- casadi/include/alpaqa-version.h +8 -0
- casadi/include/blasfeo.h +52 -0
- casadi/include/blasfeo_block_size.h +447 -0
- casadi/include/blasfeo_common.h +274 -0
- casadi/include/blasfeo_d_aux.h +255 -0
- casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
- casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
- casadi/include/blasfeo_d_aux_old.h +75 -0
- casadi/include/blasfeo_d_aux_ref.h +208 -0
- casadi/include/blasfeo_d_aux_test.h +226 -0
- casadi/include/blasfeo_d_blas.h +46 -0
- casadi/include/blasfeo_d_blas_api.h +281 -0
- casadi/include/blasfeo_d_blasfeo_api.h +364 -0
- casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
- casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
- casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
- casadi/include/blasfeo_d_kernel.h +1321 -0
- casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
- casadi/include/blasfeo_m_aux.h +57 -0
- casadi/include/blasfeo_memory.h +62 -0
- casadi/include/blasfeo_naming.h +77 -0
- casadi/include/blasfeo_processor_features.h +88 -0
- casadi/include/blasfeo_s_aux.h +168 -0
- casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
- casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
- casadi/include/blasfeo_s_aux_old.h +64 -0
- casadi/include/blasfeo_s_aux_ref.h +147 -0
- casadi/include/blasfeo_s_aux_test.h +177 -0
- casadi/include/blasfeo_s_blas.h +46 -0
- casadi/include/blasfeo_s_blas_api.h +182 -0
- casadi/include/blasfeo_s_blasfeo_api.h +284 -0
- casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
- casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
- casadi/include/blasfeo_s_kernel.h +692 -0
- casadi/include/blasfeo_stdlib.h +62 -0
- casadi/include/blasfeo_target.h +73 -0
- casadi/include/blasfeo_timing.h +114 -0
- casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
- casadi/include/casadi/casadi.hpp +31 -0
- casadi/include/casadi/casadi.i +4920 -0
- casadi/include/casadi/casadi_c.h +138 -0
- casadi/include/casadi/casadi_numpy.hpp +97 -0
- casadi/include/casadi/config.h +46 -0
- casadi/include/casadi/core/archiver.hpp +58 -0
- casadi/include/casadi/core/blazing_spline.hpp +47 -0
- casadi/include/casadi/core/calculus.hpp +1805 -0
- casadi/include/casadi/core/callback.hpp +235 -0
- casadi/include/casadi/core/casadi_common.hpp +355 -0
- casadi/include/casadi/core/casadi_enum.hpp +90 -0
- casadi/include/casadi/core/casadi_export.h +43 -0
- casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
- casadi/include/casadi/core/casadi_limits.hpp +104 -0
- casadi/include/casadi/core/casadi_logger.hpp +134 -0
- casadi/include/casadi/core/casadi_meta.hpp +122 -0
- casadi/include/casadi/core/casadi_misc.hpp +1022 -0
- casadi/include/casadi/core/casadi_types.hpp +66 -0
- casadi/include/casadi/core/code_generator.hpp +1071 -0
- casadi/include/casadi/core/conic.hpp +213 -0
- casadi/include/casadi/core/core.hpp +75 -0
- casadi/include/casadi/core/dae_builder.hpp +885 -0
- casadi/include/casadi/core/dm.hpp +90 -0
- casadi/include/casadi/core/dm_fwd.hpp +39 -0
- casadi/include/casadi/core/dple.hpp +138 -0
- casadi/include/casadi/core/exception.hpp +167 -0
- casadi/include/casadi/core/expm.hpp +84 -0
- casadi/include/casadi/core/external.hpp +70 -0
- casadi/include/casadi/core/filesystem.hpp +58 -0
- casadi/include/casadi/core/fmu.hpp +270 -0
- casadi/include/casadi/core/function.hpp +1389 -0
- casadi/include/casadi/core/generic_expression.hpp +760 -0
- casadi/include/casadi/core/generic_matrix.hpp +1805 -0
- casadi/include/casadi/core/generic_shared.hpp +395 -0
- casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
- casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
- casadi/include/casadi/core/generic_type.hpp +314 -0
- casadi/include/casadi/core/global_options.hpp +107 -0
- casadi/include/casadi/core/im.hpp +52 -0
- casadi/include/casadi/core/im_fwd.hpp +35 -0
- casadi/include/casadi/core/importer.hpp +221 -0
- casadi/include/casadi/core/integration_tools.hpp +292 -0
- casadi/include/casadi/core/integrator.hpp +290 -0
- casadi/include/casadi/core/interpolant.hpp +163 -0
- casadi/include/casadi/core/linsol.hpp +171 -0
- casadi/include/casadi/core/matrix_decl.hpp +1423 -0
- casadi/include/casadi/core/matrix_fwd.hpp +37 -0
- casadi/include/casadi/core/mx.hpp +1014 -0
- casadi/include/casadi/core/nlp_builder.hpp +163 -0
- casadi/include/casadi/core/nlp_tools.hpp +124 -0
- casadi/include/casadi/core/nlpsol.hpp +234 -0
- casadi/include/casadi/core/nonzeros.hpp +111 -0
- casadi/include/casadi/core/options.hpp +122 -0
- casadi/include/casadi/core/optistack.hpp +704 -0
- casadi/include/casadi/core/polynomial.hpp +126 -0
- casadi/include/casadi/core/printable.hpp +81 -0
- casadi/include/casadi/core/resource.hpp +107 -0
- casadi/include/casadi/core/rootfinder.hpp +176 -0
- casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
- casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
- casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
- casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
- casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
- casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
- casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
- casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
- casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
- casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
- casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
- casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
- casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
- casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
- casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
- casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
- casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
- casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
- casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
- casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
- casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
- casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
- casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
- casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
- casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
- casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +295 -0
- casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
- casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
- casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
- casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
- casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
- casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
- casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
- casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
- casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
- casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
- casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
- casadi/include/casadi/core/runtime/shared.hpp +261 -0
- casadi/include/casadi/core/serializer.hpp +264 -0
- casadi/include/casadi/core/serializing_stream.hpp +336 -0
- casadi/include/casadi/core/shared_object.hpp +182 -0
- casadi/include/casadi/core/slice.hpp +149 -0
- casadi/include/casadi/core/sparsity.hpp +1507 -0
- casadi/include/casadi/core/sparsity_interface.hpp +763 -0
- casadi/include/casadi/core/submatrix.hpp +156 -0
- casadi/include/casadi/core/sx.hpp +244 -0
- casadi/include/casadi/core/sx_elem.hpp +376 -0
- casadi/include/casadi/core/sx_fwd.hpp +45 -0
- casadi/include/casadi/core/timing.hpp +98 -0
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/core/xml_file.hpp +93 -0
- casadi/include/casadi/core/xml_node.hpp +212 -0
- casadi/include/casadi/doc.i +62244 -0
- casadi/include/casadi/doc_merged.i +38499 -0
- casadi/include/casadi/mem.h +311 -0
- casadi/include/casadi/valgrind-casadi.supp +649 -0
- casadi/include/casadi/valgrind-python.supp +3886 -0
- casadi/include/coin/BonArraysHelpers.hpp +52 -0
- casadi/include/coin/BonAuxInfos.hpp +110 -0
- casadi/include/coin/BonBabInfos.hpp +57 -0
- casadi/include/coin/BonBabSetupBase.hpp +386 -0
- casadi/include/coin/BonBonminSetup.hpp +95 -0
- casadi/include/coin/BonBranchingTQP.hpp +197 -0
- casadi/include/coin/BonCbc.hpp +127 -0
- casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
- casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
- casadi/include/coin/BonCbcNode.hpp +133 -0
- casadi/include/coin/BonChooseVariable.hpp +345 -0
- casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
- casadi/include/coin/BonCutStrengthener.hpp +244 -0
- casadi/include/coin/BonDiver.hpp +424 -0
- casadi/include/coin/BonDummyHeuristic.hpp +53 -0
- casadi/include/coin/BonDummyPump.hpp +43 -0
- casadi/include/coin/BonEcpCuts.hpp +97 -0
- casadi/include/coin/BonExitCodes.hpp +12 -0
- casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
- casadi/include/coin/BonGuessHeuristic.hpp +46 -0
- casadi/include/coin/BonHeuristicDive.hpp +88 -0
- casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
- casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicFPump.hpp +111 -0
- casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
- casadi/include/coin/BonHeuristicRINS.hpp +55 -0
- casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
- casadi/include/coin/BonIpoptSolver.hpp +188 -0
- casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
- casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
- casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
- casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
- casadi/include/coin/BonMilpRounding.hpp +74 -0
- casadi/include/coin/BonOACutGenerator2.hpp +56 -0
- casadi/include/coin/BonOAMessages.hpp +44 -0
- casadi/include/coin/BonOaDecBase.hpp +297 -0
- casadi/include/coin/BonOaFeasChecker.hpp +73 -0
- casadi/include/coin/BonOaNlpOptim.hpp +116 -0
- casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
- casadi/include/coin/BonOuterApprox.hpp +123 -0
- casadi/include/coin/BonPseudoCosts.hpp +91 -0
- casadi/include/coin/BonPumpForMinlp.hpp +45 -0
- casadi/include/coin/BonQuadCut.hpp +217 -0
- casadi/include/coin/BonQuadRow.hpp +122 -0
- casadi/include/coin/BonRegisteredOptions.hpp +225 -0
- casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
- casadi/include/coin/BonSubMipSolver.hpp +143 -0
- casadi/include/coin/BonTMINLP.hpp +420 -0
- casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
- casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
- casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
- casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
- casadi/include/coin/BonTMatrix.hpp +167 -0
- casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
- casadi/include/coin/BonTNLPSolver.hpp +241 -0
- casadi/include/coin/BonTypes.hpp +95 -0
- casadi/include/coin/BonminConfig.h +19 -0
- casadi/include/coin/CbcBranchActual.hpp +26 -0
- casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
- casadi/include/coin/CbcBranchBase.hpp +79 -0
- casadi/include/coin/CbcBranchCut.hpp +182 -0
- casadi/include/coin/CbcBranchDecision.hpp +135 -0
- casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
- casadi/include/coin/CbcBranchDynamic.hpp +210 -0
- casadi/include/coin/CbcBranchLotsize.hpp +249 -0
- casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
- casadi/include/coin/CbcBranchingObject.hpp +245 -0
- casadi/include/coin/CbcClique.hpp +309 -0
- casadi/include/coin/CbcCompare.hpp +46 -0
- casadi/include/coin/CbcCompareActual.hpp +16 -0
- casadi/include/coin/CbcCompareBase.hpp +155 -0
- casadi/include/coin/CbcCompareDefault.hpp +129 -0
- casadi/include/coin/CbcCompareDepth.hpp +48 -0
- casadi/include/coin/CbcCompareEstimate.hpp +48 -0
- casadi/include/coin/CbcCompareObjective.hpp +50 -0
- casadi/include/coin/CbcConfig.h +18 -0
- casadi/include/coin/CbcConsequence.hpp +50 -0
- casadi/include/coin/CbcCountRowCut.hpp +176 -0
- casadi/include/coin/CbcCutGenerator.hpp +550 -0
- casadi/include/coin/CbcCutModifier.hpp +59 -0
- casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
- casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
- casadi/include/coin/CbcEventHandler.hpp +250 -0
- casadi/include/coin/CbcFathom.hpp +136 -0
- casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
- casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
- casadi/include/coin/CbcFixVariable.hpp +68 -0
- casadi/include/coin/CbcFollowOn.hpp +207 -0
- casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
- casadi/include/coin/CbcGeneral.hpp +60 -0
- casadi/include/coin/CbcGeneralDepth.hpp +289 -0
- casadi/include/coin/CbcHeuristic.hpp +735 -0
- casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
- casadi/include/coin/CbcHeuristicDW.hpp +374 -0
- casadi/include/coin/CbcHeuristicDive.hpp +198 -0
- casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
- casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
- casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
- casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
- casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
- casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
- casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
- casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
- casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
- casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
- casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
- casadi/include/coin/CbcHeuristicVND.hpp +95 -0
- casadi/include/coin/CbcLinked.hpp +1443 -0
- casadi/include/coin/CbcMessage.hpp +94 -0
- casadi/include/coin/CbcMipStartIO.hpp +29 -0
- casadi/include/coin/CbcModel.hpp +3296 -0
- casadi/include/coin/CbcNWay.hpp +171 -0
- casadi/include/coin/CbcNode.hpp +380 -0
- casadi/include/coin/CbcNodeInfo.hpp +377 -0
- casadi/include/coin/CbcObject.hpp +288 -0
- casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
- casadi/include/coin/CbcOrClpParam.cpp +4321 -0
- casadi/include/coin/CbcOrClpParam.hpp +585 -0
- casadi/include/coin/CbcParam.hpp +338 -0
- casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
- casadi/include/coin/CbcSOS.hpp +290 -0
- casadi/include/coin/CbcSimpleInteger.hpp +299 -0
- casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
- casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
- casadi/include/coin/CbcSolver.hpp +460 -0
- casadi/include/coin/CbcStrategy.hpp +269 -0
- casadi/include/coin/CbcSubProblem.hpp +84 -0
- casadi/include/coin/CbcTree.hpp +493 -0
- casadi/include/coin/CbcTreeLocal.hpp +393 -0
- casadi/include/coin/Cbc_C_Interface.h +904 -0
- casadi/include/coin/Cgl012cut.hpp +464 -0
- casadi/include/coin/CglAllDifferent.hpp +115 -0
- casadi/include/coin/CglClique.hpp +312 -0
- casadi/include/coin/CglConfig.h +19 -0
- casadi/include/coin/CglCutGenerator.hpp +133 -0
- casadi/include/coin/CglDuplicateRow.hpp +189 -0
- casadi/include/coin/CglFlowCover.hpp +371 -0
- casadi/include/coin/CglGMI.hpp +364 -0
- casadi/include/coin/CglGMIParam.hpp +313 -0
- casadi/include/coin/CglGomory.hpp +204 -0
- casadi/include/coin/CglKnapsackCover.hpp +310 -0
- casadi/include/coin/CglLandP.hpp +306 -0
- casadi/include/coin/CglLandPValidator.hpp +130 -0
- casadi/include/coin/CglLiftAndProject.hpp +104 -0
- casadi/include/coin/CglMessage.hpp +49 -0
- casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
- casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
- casadi/include/coin/CglOddHole.hpp +160 -0
- casadi/include/coin/CglParam.hpp +93 -0
- casadi/include/coin/CglPreProcess.hpp +600 -0
- casadi/include/coin/CglProbing.hpp +543 -0
- casadi/include/coin/CglRedSplit.hpp +448 -0
- casadi/include/coin/CglRedSplit2.hpp +494 -0
- casadi/include/coin/CglRedSplit2Param.hpp +495 -0
- casadi/include/coin/CglRedSplitParam.hpp +272 -0
- casadi/include/coin/CglResidualCapacity.hpp +240 -0
- casadi/include/coin/CglSimpleRounding.hpp +174 -0
- casadi/include/coin/CglStored.hpp +140 -0
- casadi/include/coin/CglTreeInfo.hpp +216 -0
- casadi/include/coin/CglTwomir.hpp +562 -0
- casadi/include/coin/CglZeroHalf.hpp +133 -0
- casadi/include/coin/ClpAmplObjective.hpp +113 -0
- casadi/include/coin/ClpCholeskyBase.hpp +321 -0
- casadi/include/coin/ClpCholeskyDense.hpp +157 -0
- casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
- casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
- casadi/include/coin/ClpConfig.h +17 -0
- casadi/include/coin/ClpConstraint.hpp +129 -0
- casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
- casadi/include/coin/ClpConstraintLinear.hpp +113 -0
- casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
- casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
- casadi/include/coin/ClpDualRowPivot.hpp +136 -0
- casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
- casadi/include/coin/ClpDummyMatrix.hpp +186 -0
- casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
- casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
- casadi/include/coin/ClpEventHandler.hpp +193 -0
- casadi/include/coin/ClpFactorization.hpp +556 -0
- casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
- casadi/include/coin/ClpGubMatrix.hpp +373 -0
- casadi/include/coin/ClpInterior.hpp +622 -0
- casadi/include/coin/ClpLinearObjective.hpp +104 -0
- casadi/include/coin/ClpMatrixBase.hpp +561 -0
- casadi/include/coin/ClpMessage.hpp +131 -0
- casadi/include/coin/ClpModel.hpp +1442 -0
- casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
- casadi/include/coin/ClpNode.hpp +364 -0
- casadi/include/coin/ClpNonLinearCost.hpp +432 -0
- casadi/include/coin/ClpObjective.hpp +142 -0
- casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
- casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
- casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
- casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
- casadi/include/coin/ClpPESimplex.hpp +231 -0
- casadi/include/coin/ClpPackedMatrix.hpp +778 -0
- casadi/include/coin/ClpParameters.hpp +132 -0
- casadi/include/coin/ClpPdcoBase.hpp +110 -0
- casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
- casadi/include/coin/ClpPresolve.hpp +379 -0
- casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
- casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
- casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
- casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
- casadi/include/coin/ClpSimplex.hpp +2137 -0
- casadi/include/coin/ClpSimplexDual.hpp +304 -0
- casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
- casadi/include/coin/ClpSimplexOther.hpp +282 -0
- casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
- casadi/include/coin/ClpSolve.hpp +505 -0
- casadi/include/coin/Clp_C_Interface.h +554 -0
- casadi/include/coin/CoinAlloc.hpp +179 -0
- casadi/include/coin/CoinBuild.hpp +159 -0
- casadi/include/coin/CoinDenseFactorization.hpp +452 -0
- casadi/include/coin/CoinDenseVector.hpp +401 -0
- casadi/include/coin/CoinDistance.hpp +51 -0
- casadi/include/coin/CoinError.hpp +274 -0
- casadi/include/coin/CoinFactorization.hpp +2178 -0
- casadi/include/coin/CoinFileIO.hpp +185 -0
- casadi/include/coin/CoinFinite.hpp +37 -0
- casadi/include/coin/CoinFloatEqual.hpp +204 -0
- casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
- casadi/include/coin/CoinIndexedVector.hpp +1437 -0
- casadi/include/coin/CoinLpIO.hpp +836 -0
- casadi/include/coin/CoinMessage.hpp +95 -0
- casadi/include/coin/CoinMessageHandler.hpp +717 -0
- casadi/include/coin/CoinModel.hpp +1214 -0
- casadi/include/coin/CoinModelUseful.hpp +518 -0
- casadi/include/coin/CoinMpsIO.hpp +1142 -0
- casadi/include/coin/CoinOslFactorization.hpp +287 -0
- casadi/include/coin/CoinPackedMatrix.hpp +956 -0
- casadi/include/coin/CoinPackedVector.hpp +670 -0
- casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
- casadi/include/coin/CoinParam.hpp +644 -0
- casadi/include/coin/CoinPragma.hpp +29 -0
- casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
- casadi/include/coin/CoinPresolveDual.hpp +84 -0
- casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
- casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
- casadi/include/coin/CoinPresolveFixed.hpp +185 -0
- casadi/include/coin/CoinPresolveForcing.hpp +69 -0
- casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
- casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
- casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
- casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
- casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
- casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
- casadi/include/coin/CoinPresolveSubst.hpp +103 -0
- casadi/include/coin/CoinPresolveTighten.hpp +58 -0
- casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
- casadi/include/coin/CoinPresolveUseless.hpp +63 -0
- casadi/include/coin/CoinPresolveZeros.hpp +65 -0
- casadi/include/coin/CoinRational.hpp +43 -0
- casadi/include/coin/CoinSearchTree.hpp +523 -0
- casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
- casadi/include/coin/CoinSignal.hpp +127 -0
- casadi/include/coin/CoinSimpFactorization.hpp +432 -0
- casadi/include/coin/CoinSmartPtr.hpp +548 -0
- casadi/include/coin/CoinSnapshot.hpp +572 -0
- casadi/include/coin/CoinSort.hpp +753 -0
- casadi/include/coin/CoinStructuredModel.hpp +270 -0
- casadi/include/coin/CoinTime.hpp +350 -0
- casadi/include/coin/CoinTypes.hpp +67 -0
- casadi/include/coin/CoinUtility.hpp +26 -0
- casadi/include/coin/CoinUtilsConfig.h +34 -0
- casadi/include/coin/CoinWarmStart.hpp +56 -0
- casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
- casadi/include/coin/CoinWarmStartDual.hpp +180 -0
- casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
- casadi/include/coin/CoinWarmStartVector.hpp +523 -0
- casadi/include/coin/Coin_C_defines.h +149 -0
- casadi/include/coin/Idiot.hpp +327 -0
- casadi/include/coin/OsiAuxInfo.hpp +261 -0
- casadi/include/coin/OsiBranchingObject.hpp +1097 -0
- casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
- casadi/include/coin/OsiChooseVariable.hpp +645 -0
- casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
- casadi/include/coin/OsiColCut.hpp +322 -0
- casadi/include/coin/OsiCollections.hpp +34 -0
- casadi/include/coin/OsiConfig.h +19 -0
- casadi/include/coin/OsiCut.hpp +251 -0
- casadi/include/coin/OsiCuts.hpp +505 -0
- casadi/include/coin/OsiPresolve.hpp +272 -0
- casadi/include/coin/OsiRowCut.hpp +345 -0
- casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
- casadi/include/coin/OsiSolverBranch.hpp +169 -0
- casadi/include/coin/OsiSolverInterface.hpp +2221 -0
- casadi/include/coin/OsiSolverParameters.hpp +144 -0
- casadi/include/coin/OsiUnitTests.hpp +390 -0
- casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
- casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
- casadi/include/coin-or/IpAlgTypes.hpp +64 -0
- casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
- casadi/include/coin-or/IpBlas.hpp +426 -0
- casadi/include/coin-or/IpCachedResults.hpp +897 -0
- casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
- casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
- casadi/include/coin-or/IpCompoundVector.hpp +395 -0
- casadi/include/coin-or/IpConvCheck.hpp +97 -0
- casadi/include/coin-or/IpDebug.hpp +167 -0
- casadi/include/coin-or/IpDenseVector.hpp +626 -0
- casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
- casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
- casadi/include/coin-or/IpException.hpp +156 -0
- casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
- casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
- casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
- casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
- casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
- casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
- casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
- casadi/include/coin-or/IpIpoptData.hpp +966 -0
- casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
- casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
- casadi/include/coin-or/IpIteratesVector.hpp +840 -0
- casadi/include/coin-or/IpIterationOutput.hpp +78 -0
- casadi/include/coin-or/IpJournalist.hpp +573 -0
- casadi/include/coin-or/IpLapack.hpp +227 -0
- casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
- casadi/include/coin-or/IpLineSearch.hpp +106 -0
- casadi/include/coin-or/IpLinearSolvers.h +46 -0
- casadi/include/coin-or/IpMatrix.hpp +434 -0
- casadi/include/coin-or/IpMuUpdate.hpp +77 -0
- casadi/include/coin-or/IpNLP.hpp +306 -0
- casadi/include/coin-or/IpNLPScaling.hpp +582 -0
- casadi/include/coin-or/IpObserver.hpp +422 -0
- casadi/include/coin-or/IpOptionsList.hpp +412 -0
- casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
- casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
- casadi/include/coin-or/IpReferenced.hpp +262 -0
- casadi/include/coin-or/IpRegOptions.hpp +1152 -0
- casadi/include/coin-or/IpReturnCodes.h +23 -0
- casadi/include/coin-or/IpReturnCodes.hpp +18 -0
- casadi/include/coin-or/IpReturnCodes.inc +71 -0
- casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
- casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
- casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
- casadi/include/coin-or/IpSmartPtr.hpp +865 -0
- casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
- casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
- casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
- casadi/include/coin-or/IpStdCInterface.h +428 -0
- casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
- casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
- casadi/include/coin-or/IpSymMatrix.hpp +167 -0
- casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
- casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
- casadi/include/coin-or/IpTNLP.hpp +820 -0
- casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
- casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
- casadi/include/coin-or/IpTaggedObject.hpp +128 -0
- casadi/include/coin-or/IpTimedTask.hpp +218 -0
- casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
- casadi/include/coin-or/IpTripletHelper.hpp +308 -0
- casadi/include/coin-or/IpTypes.h +81 -0
- casadi/include/coin-or/IpTypes.hpp +30 -0
- casadi/include/coin-or/IpUtils.hpp +166 -0
- casadi/include/coin-or/IpVector.hpp +892 -0
- casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
- casadi/include/coin-or/IpoptConfig.h +45 -0
- casadi/include/coin-or/SensAlgorithm.hpp +114 -0
- casadi/include/coin-or/SensApplication.hpp +188 -0
- casadi/include/coin-or/SensBacksolver.hpp +36 -0
- casadi/include/coin-or/SensMeasurement.hpp +56 -0
- casadi/include/coin-or/SensPCalculator.hpp +137 -0
- casadi/include/coin-or/SensRegOp.hpp +21 -0
- casadi/include/coin-or/SensSchurData.hpp +182 -0
- casadi/include/coin-or/SensSchurDriver.hpp +118 -0
- casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
- casadi/include/coin-or/SensStepCalc.hpp +85 -0
- casadi/include/coin-or/SensUtils.hpp +63 -0
- casadi/include/coin-or/metis/defs.h +161 -0
- casadi/include/coin-or/metis/macros.h +143 -0
- casadi/include/coin-or/metis/metis.h +37 -0
- casadi/include/coin-or/metis/proto.h +505 -0
- casadi/include/coin-or/metis/rename.h +418 -0
- casadi/include/coin-or/metis/struct.h +251 -0
- casadi/include/coin-or/mumps/dmumps_c.h +142 -0
- casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
- casadi/include/coin-or/mumps/mumps_compat.h +27 -0
- casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
- casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
- casadi/include/d_blas.h +78 -0
- casadi/include/d_blas_64.h +73 -0
- casadi/include/daqp/api.h +46 -0
- casadi/include/daqp/auxiliary.h +29 -0
- casadi/include/daqp/bnb.h +32 -0
- casadi/include/daqp/codegen.h +18 -0
- casadi/include/daqp/constants.h +92 -0
- casadi/include/daqp/daqp.h +22 -0
- casadi/include/daqp/daqp_prox.h +18 -0
- casadi/include/daqp/factorization.h +18 -0
- casadi/include/daqp/types.h +161 -0
- casadi/include/daqp/utils.h +44 -0
- casadi/include/eigen3/Eigen/Cholesky +45 -0
- casadi/include/eigen3/Eigen/CholmodSupport +48 -0
- casadi/include/eigen3/Eigen/Core +384 -0
- casadi/include/eigen3/Eigen/Dense +7 -0
- casadi/include/eigen3/Eigen/Eigen +2 -0
- casadi/include/eigen3/Eigen/Eigenvalues +60 -0
- casadi/include/eigen3/Eigen/Geometry +59 -0
- casadi/include/eigen3/Eigen/Householder +29 -0
- casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
- casadi/include/eigen3/Eigen/Jacobi +32 -0
- casadi/include/eigen3/Eigen/KLUSupport +41 -0
- casadi/include/eigen3/Eigen/LU +47 -0
- casadi/include/eigen3/Eigen/MetisSupport +35 -0
- casadi/include/eigen3/Eigen/OrderingMethods +70 -0
- casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
- casadi/include/eigen3/Eigen/PardisoSupport +35 -0
- casadi/include/eigen3/Eigen/QR +50 -0
- casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
- casadi/include/eigen3/Eigen/SPQRSupport +34 -0
- casadi/include/eigen3/Eigen/SVD +50 -0
- casadi/include/eigen3/Eigen/Sparse +34 -0
- casadi/include/eigen3/Eigen/SparseCholesky +37 -0
- casadi/include/eigen3/Eigen/SparseCore +69 -0
- casadi/include/eigen3/Eigen/SparseLU +50 -0
- casadi/include/eigen3/Eigen/SparseQR +36 -0
- casadi/include/eigen3/Eigen/StdDeque +27 -0
- casadi/include/eigen3/Eigen/StdList +26 -0
- casadi/include/eigen3/Eigen/StdVector +27 -0
- casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
- casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
- casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
- casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
- casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
- casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
- casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
- casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
- casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
- casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
- casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
- casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
- casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
- casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
- casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
- casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
- casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
- casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
- casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
- casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
- casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
- casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
- casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
- casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
- casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
- casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
- casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
- casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
- casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
- casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
- casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
- casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
- casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
- casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
- casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
- casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
- casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
- casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
- casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
- casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
- casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
- casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
- casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
- casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
- casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
- casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
- casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
- casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
- casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
- casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
- casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
- casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
- casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
- casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
- casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
- casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
- casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
- casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
- casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
- casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
- casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
- casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
- casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
- casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
- casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
- casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
- casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
- casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
- casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
- casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
- casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
- casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
- casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
- casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
- casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
- casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
- casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
- casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
- casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
- casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
- casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
- casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
- casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
- casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
- casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
- casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
- casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
- casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
- casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
- casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
- casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
- casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
- casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
- casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
- casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
- casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
- casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
- casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
- casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
- casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
- casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
- casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
- casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
- casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
- casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
- casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
- casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
- casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
- casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
- casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
- casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
- casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
- casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
- casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
- casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
- casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
- casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
- casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
- casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
- casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
- casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
- casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
- casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
- casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
- casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
- casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
- casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
- casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
- casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
- casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
- casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
- casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
- casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
- casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
- casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
- casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
- casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
- casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
- casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
- casadi/include/fatrop/auxiliary/Common.hpp +34 -0
- casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
- casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
- casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
- casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
- casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +496 -0
- casadi/include/fatrop/fatrop.hpp +39 -0
- casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
- casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
- casadi/include/fatrop/json/json.h +946 -0
- casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
- casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
- casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
- casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
- casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
- casadi/include/fatrop/ocp/OCP.hpp +82 -0
- casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
- casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
- casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
- casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
- casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
- casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
- casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
- casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
- casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
- casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
- casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
- casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
- casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
- casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
- casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
- casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
- casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
- casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
- casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
- casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
- casadi/include/fatrop/solver/FatropData.hpp +188 -0
- casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
- casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
- casadi/include/fatrop/solver/FatropStats.hpp +63 -0
- casadi/include/fatrop/solver/Filter.hpp +54 -0
- casadi/include/fatrop/solver/IterationData.hpp +56 -0
- casadi/include/fatrop/solver/LineSearch.hpp +86 -0
- casadi/include/fatrop/solver/NLPL1.hpp +263 -0
- casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
- casadi/include/ghc/filesystem.hpp +6083 -0
- casadi/include/ghc/fs_fwd.hpp +38 -0
- casadi/include/ghc/fs_impl.hpp +35 -0
- casadi/include/ghc/fs_std.hpp +60 -0
- casadi/include/ghc/fs_std_fwd.hpp +63 -0
- casadi/include/ghc/fs_std_impl.hpp +46 -0
- casadi/include/highs/HConfig.h +23 -0
- casadi/include/highs/Highs.h +1703 -0
- casadi/include/highs/filereaderlp/builder.hpp +25 -0
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/filereaderlp/model.hpp +68 -0
- casadi/include/highs/filereaderlp/reader.hpp +10 -0
- casadi/include/highs/interfaces/highs_c_api.h +2456 -0
- casadi/include/highs/io/Filereader.h +45 -0
- casadi/include/highs/io/FilereaderEms.h +30 -0
- casadi/include/highs/io/FilereaderLp.h +51 -0
- casadi/include/highs/io/FilereaderMps.h +27 -0
- casadi/include/highs/io/HMPSIO.h +78 -0
- casadi/include/highs/io/HMpsFF.h +238 -0
- casadi/include/highs/io/HighsIO.h +114 -0
- casadi/include/highs/io/LoadOptions.h +24 -0
- casadi/include/highs/ipm/IpxSolution.h +32 -0
- casadi/include/highs/ipm/IpxWrapper.h +70 -0
- casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
- casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
- casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
- casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
- casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
- casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
- casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
- casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
- casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
- casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
- casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
- casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
- casadi/include/highs/ipm/ipx/basis.h +351 -0
- casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
- casadi/include/highs/ipm/ipx/control.h +164 -0
- casadi/include/highs/ipm/ipx/crossover.h +157 -0
- casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
- casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
- casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
- casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
- casadi/include/highs/ipm/ipx/info.h +27 -0
- casadi/include/highs/ipm/ipx/ipm.h +94 -0
- casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
- casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
- casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
- casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +76 -0
- casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
- casadi/include/highs/ipm/ipx/iterate.h +328 -0
- casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
- casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
- casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
- casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +202 -0
- casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
- casadi/include/highs/ipm/ipx/lu_update.h +129 -0
- casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
- casadi/include/highs/ipm/ipx/model.h +413 -0
- casadi/include/highs/ipm/ipx/multistream.h +52 -0
- casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
- casadi/include/highs/ipm/ipx/power_method.h +44 -0
- casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
- casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
- casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
- casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
- casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
- casadi/include/highs/ipm/ipx/timer.h +24 -0
- casadi/include/highs/ipm/ipx/utils.h +39 -0
- casadi/include/highs/lp_data/HConst.h +320 -0
- casadi/include/highs/lp_data/HStruct.h +182 -0
- casadi/include/highs/lp_data/HighsAnalysis.h +23 -0
- casadi/include/highs/lp_data/HighsCallback.h +47 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
- casadi/include/highs/lp_data/HighsDebug.h +34 -0
- casadi/include/highs/lp_data/HighsIis.h +62 -0
- casadi/include/highs/lp_data/HighsInfo.h +329 -0
- casadi/include/highs/lp_data/HighsInfoDebug.h +27 -0
- casadi/include/highs/lp_data/HighsLp.h +100 -0
- casadi/include/highs/lp_data/HighsLpSolverObject.h +45 -0
- casadi/include/highs/lp_data/HighsLpUtils.h +298 -0
- casadi/include/highs/lp_data/HighsModelUtils.h +112 -0
- casadi/include/highs/lp_data/HighsOptions.h +1469 -0
- casadi/include/highs/lp_data/HighsRanging.h +43 -0
- casadi/include/highs/lp_data/HighsSolution.h +144 -0
- casadi/include/highs/lp_data/HighsSolutionDebug.h +87 -0
- casadi/include/highs/lp_data/HighsSolve.h +23 -0
- casadi/include/highs/lp_data/HighsStatus.h +29 -0
- casadi/include/highs/mip/HighsCliqueTable.h +318 -0
- casadi/include/highs/mip/HighsConflictPool.h +109 -0
- casadi/include/highs/mip/HighsCutGeneration.h +106 -0
- casadi/include/highs/mip/HighsCutPool.h +168 -0
- casadi/include/highs/mip/HighsDebugSol.h +132 -0
- casadi/include/highs/mip/HighsDomain.h +653 -0
- casadi/include/highs/mip/HighsDomainChange.h +48 -0
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
- casadi/include/highs/mip/HighsGFkSolve.h +438 -0
- casadi/include/highs/mip/HighsImplications.h +170 -0
- casadi/include/highs/mip/HighsLpAggregator.h +50 -0
- casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
- casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
- casadi/include/highs/mip/HighsMipSolver.h +112 -0
- casadi/include/highs/mip/HighsMipSolverData.h +297 -0
- casadi/include/highs/mip/HighsModkSeparator.h +60 -0
- casadi/include/highs/mip/HighsNodeQueue.h +311 -0
- casadi/include/highs/mip/HighsObjectiveFunction.h +71 -0
- casadi/include/highs/mip/HighsPathSeparator.h +39 -0
- casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
- casadi/include/highs/mip/HighsPseudocost.h +360 -0
- casadi/include/highs/mip/HighsRedcostFixing.h +42 -0
- casadi/include/highs/mip/HighsSearch.h +241 -0
- casadi/include/highs/mip/HighsSeparation.h +41 -0
- casadi/include/highs/mip/HighsSeparator.h +52 -0
- casadi/include/highs/mip/HighsTableauSeparator.h +34 -0
- casadi/include/highs/mip/HighsTransformedLp.h +63 -0
- casadi/include/highs/mip/MipTimer.h +471 -0
- casadi/include/highs/model/HighsHessian.h +54 -0
- casadi/include/highs/model/HighsHessianUtils.h +49 -0
- casadi/include/highs/model/HighsModel.h +52 -0
- casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
- casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
- casadi/include/highs/parallel/HighsCombinable.h +121 -0
- casadi/include/highs/parallel/HighsMutex.h +129 -0
- casadi/include/highs/parallel/HighsParallel.h +133 -0
- casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
- casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
- casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
- casadi/include/highs/parallel/HighsTask.h +175 -0
- casadi/include/highs/parallel/HighsTaskExecutor.h +222 -0
- casadi/include/highs/pdlp/CupdlpWrapper.h +104 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +433 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1807 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +405 -0
- casadi/include/highs/presolve/HPresolveAnalysis.h +51 -0
- casadi/include/highs/presolve/HighsPostsolveStack.h +940 -0
- casadi/include/highs/presolve/HighsSymmetry.h +281 -0
- casadi/include/highs/presolve/ICrash.h +124 -0
- casadi/include/highs/presolve/ICrashUtil.h +62 -0
- casadi/include/highs/presolve/ICrashX.h +23 -0
- casadi/include/highs/presolve/PresolveComponent.h +90 -0
- casadi/include/highs/qpsolver/a_asm.hpp +70 -0
- casadi/include/highs/qpsolver/a_quass.hpp +15 -0
- casadi/include/highs/qpsolver/basis.hpp +152 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +13 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +73 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +101 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +401 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +107 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +294 -0
- casadi/include/highs/qpsolver/gradient.hpp +39 -0
- casadi/include/highs/qpsolver/instance.hpp +63 -0
- casadi/include/highs/qpsolver/matrix.hpp +335 -0
- casadi/include/highs/qpsolver/perturbation.hpp +8 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/qpvector.hpp +235 -0
- casadi/include/highs/qpsolver/quass.hpp +20 -0
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/scaling.hpp +8 -0
- casadi/include/highs/qpsolver/settings.hpp +69 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +166 -0
- casadi/include/highs/simplex/HApp.h +476 -0
- casadi/include/highs/simplex/HEkk.h +416 -0
- casadi/include/highs/simplex/HEkkDual.h +513 -0
- casadi/include/highs/simplex/HEkkDualRHS.h +134 -0
- casadi/include/highs/simplex/HEkkDualRow.h +201 -0
- casadi/include/highs/simplex/HEkkPrimal.h +191 -0
- casadi/include/highs/simplex/HSimplex.h +42 -0
- casadi/include/highs/simplex/HSimplexDebug.h +48 -0
- casadi/include/highs/simplex/HSimplexNla.h +158 -0
- casadi/include/highs/simplex/HSimplexReport.h +21 -0
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
- casadi/include/highs/simplex/SimplexConst.h +273 -0
- casadi/include/highs/simplex/SimplexStruct.h +261 -0
- casadi/include/highs/simplex/SimplexTimer.h +409 -0
- casadi/include/highs/test/DevKkt.h +143 -0
- casadi/include/highs/test/KktCh2.h +79 -0
- casadi/include/highs/util/FactorTimer.h +199 -0
- casadi/include/highs/util/HFactor.h +587 -0
- casadi/include/highs/util/HFactorConst.h +81 -0
- casadi/include/highs/util/HFactorDebug.h +55 -0
- casadi/include/highs/util/HSet.h +89 -0
- casadi/include/highs/util/HVector.h +22 -0
- casadi/include/highs/util/HVectorBase.h +102 -0
- casadi/include/highs/util/HighsCDouble.h +319 -0
- casadi/include/highs/util/HighsComponent.h +53 -0
- casadi/include/highs/util/HighsDataStack.h +83 -0
- casadi/include/highs/util/HighsDisjointSets.h +107 -0
- casadi/include/highs/util/HighsHash.h +1274 -0
- casadi/include/highs/util/HighsHashTree.h +1447 -0
- casadi/include/highs/util/HighsInt.h +36 -0
- casadi/include/highs/util/HighsIntegers.h +212 -0
- casadi/include/highs/util/HighsLinearSumBounds.h +157 -0
- casadi/include/highs/util/HighsMatrixPic.h +37 -0
- casadi/include/highs/util/HighsMatrixSlice.h +561 -0
- casadi/include/highs/util/HighsMatrixUtils.h +54 -0
- casadi/include/highs/util/HighsMemoryAllocation.h +63 -0
- casadi/include/highs/util/HighsRandom.h +242 -0
- casadi/include/highs/util/HighsRbTree.h +452 -0
- casadi/include/highs/util/HighsSort.h +131 -0
- casadi/include/highs/util/HighsSparseMatrix.h +150 -0
- casadi/include/highs/util/HighsSparseVectorSum.h +95 -0
- casadi/include/highs/util/HighsSplay.h +135 -0
- casadi/include/highs/util/HighsTimer.h +381 -0
- casadi/include/highs/util/HighsUtils.h +217 -0
- casadi/include/highs/util/stringutil.h +46 -0
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/highs_export.h +43 -0
- casadi/include/hpipm_aux_mem.h +52 -0
- casadi/include/hpipm_aux_string.h +50 -0
- casadi/include/hpipm_common.h +76 -0
- casadi/include/hpipm_d_cast_qcqp.h +71 -0
- casadi/include/hpipm_d_cond.h +135 -0
- casadi/include/hpipm_d_cond_aux.h +92 -0
- casadi/include/hpipm_d_cond_qcqp.h +129 -0
- casadi/include/hpipm_d_core_qp_ipm.h +101 -0
- casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_d_dense_qcqp.h +199 -0
- casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
- casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
- casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
- casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
- casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
- casadi/include/hpipm_d_dense_qp.h +207 -0
- casadi/include/hpipm_d_dense_qp_dim.h +92 -0
- casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_d_dense_qp_res.h +106 -0
- casadi/include/hpipm_d_dense_qp_sol.h +94 -0
- casadi/include/hpipm_d_dense_qp_utils.h +83 -0
- casadi/include/hpipm_d_ocp_qcqp.h +322 -0
- casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
- casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
- casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
- casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
- casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
- casadi/include/hpipm_d_ocp_qp.h +306 -0
- casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
- casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_d_ocp_qp_red.h +117 -0
- casadi/include/hpipm_d_ocp_qp_res.h +113 -0
- casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
- casadi/include/hpipm_d_part_cond.h +115 -0
- casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
- casadi/include/hpipm_d_sim_erk.h +122 -0
- casadi/include/hpipm_d_sim_rk.h +71 -0
- casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
- casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
- casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
- casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
- casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
- casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
- casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_m_dense_qp.h +68 -0
- casadi/include/hpipm_m_dense_qp_dim.h +68 -0
- casadi/include/hpipm_m_ocp_qp.h +49 -0
- casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
- casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
- casadi/include/hpipm_s_cast_qcqp.h +72 -0
- casadi/include/hpipm_s_cond.h +137 -0
- casadi/include/hpipm_s_cond_aux.h +92 -0
- casadi/include/hpipm_s_cond_qcqp.h +130 -0
- casadi/include/hpipm_s_core_qp_ipm.h +101 -0
- casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_s_dense_qcqp.h +200 -0
- casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
- casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
- casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
- casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
- casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
- casadi/include/hpipm_s_dense_qp.h +207 -0
- casadi/include/hpipm_s_dense_qp_dim.h +94 -0
- casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_s_dense_qp_res.h +107 -0
- casadi/include/hpipm_s_dense_qp_sol.h +94 -0
- casadi/include/hpipm_s_dense_qp_utils.h +84 -0
- casadi/include/hpipm_s_ocp_qcqp.h +322 -0
- casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
- casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
- casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
- casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
- casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
- casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
- casadi/include/hpipm_s_ocp_qp.h +306 -0
- casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
- casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_s_ocp_qp_red.h +118 -0
- casadi/include/hpipm_s_ocp_qp_res.h +115 -0
- casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_s_part_cond.h +115 -0
- casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
- casadi/include/hpipm_s_sim_erk.h +121 -0
- casadi/include/hpipm_s_sim_rk.h +72 -0
- casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
- casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
- casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
- casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
- casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
- casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
- casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
- casadi/include/hpipm_scenario_tree.h +70 -0
- casadi/include/hpipm_timing.h +67 -0
- casadi/include/hpipm_tree.h +76 -0
- casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
- casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
- casadi/include/licenses/alpaqa-external/LICENSE +165 -0
- casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
- casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
- casadi/include/licenses/bonmin-external/LICENSE +3 -0
- casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
- casadi/include/licenses/casadi-sundials/LICENSE +64 -0
- casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
- casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
- casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
- casadi/include/licenses/cbc-external/LICENSE +245 -0
- casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
- casadi/include/licenses/cgl-external/LICENSE +245 -0
- casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
- casadi/include/licenses/clp-external/LICENSE +245 -0
- casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
- casadi/include/licenses/coinutils-external/LICENSE +245 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
- casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
- casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/ghc-external/LICENSE +19 -0
- casadi/include/licenses/highs-external/LICENSE.txt +21 -0
- casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
- casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
- casadi/include/licenses/ipopt-external/LICENSE +260 -0
- casadi/include/licenses/libz-external/LICENSE +22 -0
- casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- casadi/include/licenses/libzip-external/LICENSE +31 -0
- casadi/include/licenses/metis-external/LICENSE +87 -0
- casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
- casadi/include/licenses/mockups-external/LICENSE +21 -0
- casadi/include/licenses/mumps-external/LICENSE +87 -0
- casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
- casadi/include/licenses/openblas-external/LICENSE +29 -0
- casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
- casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
- casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
- casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
- casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
- casadi/include/licenses/openblas-external/test/LICENSE +23 -0
- casadi/include/licenses/osi-external/LICENSE +245 -0
- casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
- casadi/include/licenses/osqp-external/LICENSE +201 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
- casadi/include/licenses/proxqp-external/LICENSE +25 -0
- casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
- casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
- casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
- casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
- casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -0
- casadi/include/openblas/cblas.h +411 -0
- casadi/include/openblas/f77blas.h +796 -0
- casadi/include/openblas/lapack.h +22997 -0
- casadi/include/openblas/lapacke.h +12665 -0
- casadi/include/openblas/lapacke_config.h +119 -0
- casadi/include/openblas/lapacke_example_aux.h +9 -0
- casadi/include/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/lapacke_utils.h +582 -0
- casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/openblas_config.h +139 -0
- casadi/include/osqp/auxil.h +181 -0
- casadi/include/osqp/constants.h +128 -0
- casadi/include/osqp/cs.h +180 -0
- casadi/include/osqp/ctrlc.h +56 -0
- casadi/include/osqp/error.h +38 -0
- casadi/include/osqp/glob_opts.h +167 -0
- casadi/include/osqp/lin_alg.h +216 -0
- casadi/include/osqp/lin_sys.h +54 -0
- casadi/include/osqp/osqp.h +430 -0
- casadi/include/osqp/osqp_configure.h +49 -0
- casadi/include/osqp/polish.h +25 -0
- casadi/include/osqp/proj.h +37 -0
- casadi/include/osqp/scaling.h +44 -0
- casadi/include/osqp/types.h +326 -0
- casadi/include/osqp/util.h +222 -0
- casadi/include/osqp/version.h +9 -0
- casadi/include/proxsuite/config.hpp +68 -0
- casadi/include/proxsuite/deprecated.hpp +56 -0
- casadi/include/proxsuite/fwd.hpp +52 -0
- casadi/include/proxsuite/helpers/common.hpp +70 -0
- casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
- casadi/include/proxsuite/helpers/optional.hpp +46 -0
- casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
- casadi/include/proxsuite/helpers/version.hpp +39 -0
- casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
- casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
- casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
- casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
- casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
- casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
- casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
- casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
- casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
- casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
- casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
- casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
- casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
- casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
- casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
- casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
- casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
- casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
- casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
- casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
- casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
- casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
- casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
- casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
- casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
- casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
- casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
- casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
- casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
- casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
- casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
- casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
- casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
- casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
- casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
- casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
- casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
- casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
- casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
- casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
- casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
- casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
- casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
- casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
- casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
- casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
- casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
- casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
- casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
- casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
- casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
- casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
- casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
- casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
- casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
- casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
- casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
- casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
- casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
- casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
- casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
- casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
- casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
- casadi/include/proxsuite/proxqp/results.hpp +212 -0
- casadi/include/proxsuite/proxqp/settings.hpp +302 -0
- casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
- casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
- casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
- casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
- casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
- casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
- casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
- casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
- casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
- casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
- casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
- casadi/include/proxsuite/proxqp/status.hpp +46 -0
- casadi/include/proxsuite/proxqp/timings.hpp +101 -0
- casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
- casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
- casadi/include/proxsuite/serialization/archive.hpp +231 -0
- casadi/include/proxsuite/serialization/eigen.hpp +107 -0
- casadi/include/proxsuite/serialization/model.hpp +34 -0
- casadi/include/proxsuite/serialization/results.hpp +74 -0
- casadi/include/proxsuite/serialization/settings.hpp +60 -0
- casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
- casadi/include/proxsuite/warning.hpp +35 -0
- casadi/include/qdldl/qdldl.h +169 -0
- casadi/include/qdldl/qdldl_types.h +23 -0
- casadi/include/s_blas.h +78 -0
- casadi/include/s_blas_64.h +73 -0
- casadi/include/simde/arm/neon/aba.h +208 -0
- casadi/include/simde/arm/neon/abd.h +384 -0
- casadi/include/simde/arm/neon/abdl.h +147 -0
- casadi/include/simde/arm/neon/abs.h +408 -0
- casadi/include/simde/arm/neon/add.h +681 -0
- casadi/include/simde/arm/neon/addl.h +127 -0
- casadi/include/simde/arm/neon/addl_high.h +127 -0
- casadi/include/simde/arm/neon/addlv.h +317 -0
- casadi/include/simde/arm/neon/addv.h +447 -0
- casadi/include/simde/arm/neon/addw.h +222 -0
- casadi/include/simde/arm/neon/addw_high.h +193 -0
- casadi/include/simde/arm/neon/and.h +552 -0
- casadi/include/simde/arm/neon/bic.h +472 -0
- casadi/include/simde/arm/neon/bsl.h +448 -0
- casadi/include/simde/arm/neon/cagt.h +168 -0
- casadi/include/simde/arm/neon/ceq.h +711 -0
- casadi/include/simde/arm/neon/ceqz.h +335 -0
- casadi/include/simde/arm/neon/cge.h +677 -0
- casadi/include/simde/arm/neon/cgez.h +378 -0
- casadi/include/simde/arm/neon/cgt.h +686 -0
- casadi/include/simde/arm/neon/cgtz.h +380 -0
- casadi/include/simde/arm/neon/cle.h +677 -0
- casadi/include/simde/arm/neon/clez.h +378 -0
- casadi/include/simde/arm/neon/cls.h +148 -0
- casadi/include/simde/arm/neon/clt.h +679 -0
- casadi/include/simde/arm/neon/cltz.h +263 -0
- casadi/include/simde/arm/neon/clz.h +423 -0
- casadi/include/simde/arm/neon/cnt.h +145 -0
- casadi/include/simde/arm/neon/combine.h +343 -0
- casadi/include/simde/arm/neon/create.h +186 -0
- casadi/include/simde/arm/neon/cvt.h +492 -0
- casadi/include/simde/arm/neon/dot.h +171 -0
- casadi/include/simde/arm/neon/dot_lane.h +196 -0
- casadi/include/simde/arm/neon/dup_lane.h +702 -0
- casadi/include/simde/arm/neon/dup_n.h +534 -0
- casadi/include/simde/arm/neon/eor.h +552 -0
- casadi/include/simde/arm/neon/ext.h +887 -0
- casadi/include/simde/arm/neon/get_high.h +260 -0
- casadi/include/simde/arm/neon/get_lane.h +499 -0
- casadi/include/simde/arm/neon/get_low.h +276 -0
- casadi/include/simde/arm/neon/hadd.h +287 -0
- casadi/include/simde/arm/neon/hsub.h +287 -0
- casadi/include/simde/arm/neon/ld1.h +399 -0
- casadi/include/simde/arm/neon/ld3.h +609 -0
- casadi/include/simde/arm/neon/ld4.h +448 -0
- casadi/include/simde/arm/neon/max.h +614 -0
- casadi/include/simde/arm/neon/maxnm.h +215 -0
- casadi/include/simde/arm/neon/maxv.h +400 -0
- casadi/include/simde/arm/neon/min.h +660 -0
- casadi/include/simde/arm/neon/minnm.h +215 -0
- casadi/include/simde/arm/neon/minv.h +424 -0
- casadi/include/simde/arm/neon/mla.h +530 -0
- casadi/include/simde/arm/neon/mla_n.h +333 -0
- casadi/include/simde/arm/neon/mlal.h +156 -0
- casadi/include/simde/arm/neon/mlal_high.h +156 -0
- casadi/include/simde/arm/neon/mlal_n.h +128 -0
- casadi/include/simde/arm/neon/mls.h +264 -0
- casadi/include/simde/arm/neon/mlsl.h +124 -0
- casadi/include/simde/arm/neon/mlsl_high.h +124 -0
- casadi/include/simde/arm/neon/mlsl_n.h +96 -0
- casadi/include/simde/arm/neon/movl.h +208 -0
- casadi/include/simde/arm/neon/movl_high.h +126 -0
- casadi/include/simde/arm/neon/movn.h +195 -0
- casadi/include/simde/arm/neon/movn_high.h +125 -0
- casadi/include/simde/arm/neon/mul.h +594 -0
- casadi/include/simde/arm/neon/mul_lane.h +472 -0
- casadi/include/simde/arm/neon/mul_n.h +383 -0
- casadi/include/simde/arm/neon/mull.h +236 -0
- casadi/include/simde/arm/neon/mull_high.h +125 -0
- casadi/include/simde/arm/neon/mull_n.h +158 -0
- casadi/include/simde/arm/neon/mvn.h +426 -0
- casadi/include/simde/arm/neon/neg.h +393 -0
- casadi/include/simde/arm/neon/orn.h +505 -0
- casadi/include/simde/arm/neon/orr.h +552 -0
- casadi/include/simde/arm/neon/padal.h +211 -0
- casadi/include/simde/arm/neon/padd.h +293 -0
- casadi/include/simde/arm/neon/paddl.h +239 -0
- casadi/include/simde/arm/neon/pmax.h +253 -0
- casadi/include/simde/arm/neon/pmin.h +260 -0
- casadi/include/simde/arm/neon/qabs.h +281 -0
- casadi/include/simde/arm/neon/qadd.h +553 -0
- casadi/include/simde/arm/neon/qdmulh.h +125 -0
- casadi/include/simde/arm/neon/qdmull.h +125 -0
- casadi/include/simde/arm/neon/qmovn.h +273 -0
- casadi/include/simde/arm/neon/qmovn_high.h +127 -0
- casadi/include/simde/arm/neon/qmovun.h +159 -0
- casadi/include/simde/arm/neon/qneg.h +301 -0
- casadi/include/simde/arm/neon/qrdmulh.h +165 -0
- casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
- casadi/include/simde/arm/neon/qshl.h +732 -0
- casadi/include/simde/arm/neon/qsub.h +549 -0
- casadi/include/simde/arm/neon/qtbl.h +455 -0
- casadi/include/simde/arm/neon/qtbx.h +470 -0
- casadi/include/simde/arm/neon/rbit.h +165 -0
- casadi/include/simde/arm/neon/reinterpret.h +3101 -0
- casadi/include/simde/arm/neon/rev16.h +137 -0
- casadi/include/simde/arm/neon/rev32.h +235 -0
- casadi/include/simde/arm/neon/rev64.h +358 -0
- casadi/include/simde/arm/neon/rhadd.h +406 -0
- casadi/include/simde/arm/neon/rnd.h +143 -0
- casadi/include/simde/arm/neon/rndi.h +135 -0
- casadi/include/simde/arm/neon/rndm.h +143 -0
- casadi/include/simde/arm/neon/rndn.h +135 -0
- casadi/include/simde/arm/neon/rndp.h +143 -0
- casadi/include/simde/arm/neon/rshl.h +903 -0
- casadi/include/simde/arm/neon/rshr_n.h +471 -0
- casadi/include/simde/arm/neon/rsra_n.h +209 -0
- casadi/include/simde/arm/neon/set_lane.h +422 -0
- casadi/include/simde/arm/neon/shl.h +805 -0
- casadi/include/simde/arm/neon/shl_n.h +560 -0
- casadi/include/simde/arm/neon/shr_n.h +612 -0
- casadi/include/simde/arm/neon/sra_n.h +202 -0
- casadi/include/simde/arm/neon/st1.h +353 -0
- casadi/include/simde/arm/neon/st1_lane.h +363 -0
- casadi/include/simde/arm/neon/st3.h +426 -0
- casadi/include/simde/arm/neon/st4.h +445 -0
- casadi/include/simde/arm/neon/sub.h +659 -0
- casadi/include/simde/arm/neon/subl.h +127 -0
- casadi/include/simde/arm/neon/subw.h +221 -0
- casadi/include/simde/arm/neon/subw_high.h +222 -0
- casadi/include/simde/arm/neon/tbl.h +224 -0
- casadi/include/simde/arm/neon/tbx.h +247 -0
- casadi/include/simde/arm/neon/trn.h +252 -0
- casadi/include/simde/arm/neon/trn1.h +500 -0
- casadi/include/simde/arm/neon/trn2.h +499 -0
- casadi/include/simde/arm/neon/tst.h +540 -0
- casadi/include/simde/arm/neon/types.h +683 -0
- casadi/include/simde/arm/neon/uqadd.h +325 -0
- casadi/include/simde/arm/neon/uzp.h +252 -0
- casadi/include/simde/arm/neon/uzp1.h +643 -0
- casadi/include/simde/arm/neon/uzp2.h +647 -0
- casadi/include/simde/arm/neon/zip.h +252 -0
- casadi/include/simde/arm/neon/zip1.h +625 -0
- casadi/include/simde/arm/neon/zip2.h +625 -0
- casadi/include/simde/arm/neon.h +166 -0
- casadi/include/simde/check.h +276 -0
- casadi/include/simde/debug-trap.h +85 -0
- casadi/include/simde/hedley.h +1971 -0
- casadi/include/simde/simde-align.h +449 -0
- casadi/include/simde/simde-arch.h +532 -0
- casadi/include/simde/simde-common.h +890 -0
- casadi/include/simde/simde-complex.h +148 -0
- casadi/include/simde/simde-constify.h +397 -0
- casadi/include/simde/simde-detect-clang.h +109 -0
- casadi/include/simde/simde-diagnostic.h +428 -0
- casadi/include/simde/simde-features.h +522 -0
- casadi/include/simde/simde-math.h +1805 -0
- casadi/include/simde/x86/avx.h +6193 -0
- casadi/include/simde/x86/avx2.h +5660 -0
- casadi/include/simde/x86/avx512/2intersect.h +250 -0
- casadi/include/simde/x86/avx512/abs.h +562 -0
- casadi/include/simde/x86/avx512/add.h +641 -0
- casadi/include/simde/x86/avx512/adds.h +390 -0
- casadi/include/simde/x86/avx512/and.h +305 -0
- casadi/include/simde/x86/avx512/andnot.h +193 -0
- casadi/include/simde/x86/avx512/avg.h +258 -0
- casadi/include/simde/x86/avx512/blend.h +293 -0
- casadi/include/simde/x86/avx512/broadcast.h +897 -0
- casadi/include/simde/x86/avx512/cast.h +324 -0
- casadi/include/simde/x86/avx512/cmp.h +587 -0
- casadi/include/simde/x86/avx512/cmpeq.h +179 -0
- casadi/include/simde/x86/avx512/cmpge.h +104 -0
- casadi/include/simde/x86/avx512/cmpgt.h +189 -0
- casadi/include/simde/x86/avx512/cmple.h +103 -0
- casadi/include/simde/x86/avx512/cmplt.h +123 -0
- casadi/include/simde/x86/avx512/copysign.h +86 -0
- casadi/include/simde/x86/avx512/cvt.h +122 -0
- casadi/include/simde/x86/avx512/cvts.h +723 -0
- casadi/include/simde/x86/avx512/div.h +162 -0
- casadi/include/simde/x86/avx512/extract.h +198 -0
- casadi/include/simde/x86/avx512/fmadd.h +136 -0
- casadi/include/simde/x86/avx512/fmsub.h +108 -0
- casadi/include/simde/x86/avx512/fnmadd.h +108 -0
- casadi/include/simde/x86/avx512/fnmsub.h +108 -0
- casadi/include/simde/x86/avx512/insert.h +193 -0
- casadi/include/simde/x86/avx512/kshift.h +152 -0
- casadi/include/simde/x86/avx512/load.h +67 -0
- casadi/include/simde/x86/avx512/loadu.h +113 -0
- casadi/include/simde/x86/avx512/lzcnt.h +209 -0
- casadi/include/simde/x86/avx512/madd.h +155 -0
- casadi/include/simde/x86/avx512/maddubs.h +159 -0
- casadi/include/simde/x86/avx512/max.h +587 -0
- casadi/include/simde/x86/avx512/min.h +587 -0
- casadi/include/simde/x86/avx512/mov.h +859 -0
- casadi/include/simde/x86/avx512/mov_mask.h +372 -0
- casadi/include/simde/x86/avx512/movm.h +460 -0
- casadi/include/simde/x86/avx512/mul.h +279 -0
- casadi/include/simde/x86/avx512/mulhi.h +65 -0
- casadi/include/simde/x86/avx512/mulhrs.h +65 -0
- casadi/include/simde/x86/avx512/mullo.h +117 -0
- casadi/include/simde/x86/avx512/negate.h +88 -0
- casadi/include/simde/x86/avx512/or.h +252 -0
- casadi/include/simde/x86/avx512/packs.h +122 -0
- casadi/include/simde/x86/avx512/packus.h +122 -0
- casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
- casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
- casadi/include/simde/x86/avx512/sad.h +77 -0
- casadi/include/simde/x86/avx512/set.h +477 -0
- casadi/include/simde/x86/avx512/set1.h +331 -0
- casadi/include/simde/x86/avx512/set4.h +140 -0
- casadi/include/simde/x86/avx512/setone.h +66 -0
- casadi/include/simde/x86/avx512/setr.h +144 -0
- casadi/include/simde/x86/avx512/setr4.h +140 -0
- casadi/include/simde/x86/avx512/setzero.h +90 -0
- casadi/include/simde/x86/avx512/shuffle.h +176 -0
- casadi/include/simde/x86/avx512/sll.h +247 -0
- casadi/include/simde/x86/avx512/slli.h +179 -0
- casadi/include/simde/x86/avx512/sllv.h +68 -0
- casadi/include/simde/x86/avx512/sqrt.h +127 -0
- casadi/include/simde/x86/avx512/sra.h +81 -0
- casadi/include/simde/x86/avx512/srai.h +70 -0
- casadi/include/simde/x86/avx512/srav.h +67 -0
- casadi/include/simde/x86/avx512/srl.h +216 -0
- casadi/include/simde/x86/avx512/srli.h +180 -0
- casadi/include/simde/x86/avx512/srlv.h +282 -0
- casadi/include/simde/x86/avx512/store.h +93 -0
- casadi/include/simde/x86/avx512/storeu.h +93 -0
- casadi/include/simde/x86/avx512/sub.h +351 -0
- casadi/include/simde/x86/avx512/subs.h +222 -0
- casadi/include/simde/x86/avx512/test.h +193 -0
- casadi/include/simde/x86/avx512/types.h +380 -0
- casadi/include/simde/x86/avx512/unpackhi.h +380 -0
- casadi/include/simde/x86/avx512/unpacklo.h +104 -0
- casadi/include/simde/x86/avx512/xor.h +263 -0
- casadi/include/simde/x86/avx512/xorsign.h +72 -0
- casadi/include/simde/x86/avx512.h +108 -0
- casadi/include/simde/x86/clmul.h +414 -0
- casadi/include/simde/x86/fma.h +724 -0
- casadi/include/simde/x86/gfni.h +802 -0
- casadi/include/simde/x86/mmx.h +2399 -0
- casadi/include/simde/x86/sse.h +4471 -0
- casadi/include/simde/x86/sse2.h +7389 -0
- casadi/include/simde/x86/sse3.h +499 -0
- casadi/include/simde/x86/sse4.1.h +2216 -0
- casadi/include/simde/x86/sse4.2.h +347 -0
- casadi/include/simde/x86/ssse3.h +1032 -0
- casadi/include/simde/x86/svml.h +12139 -0
- casadi/include/simde/x86/xop.h +3644 -0
- casadi/include/sleqp/defs.h +58 -0
- casadi/include/sleqp/export.h +43 -0
- casadi/include/sleqp/pub_cmp.h +18 -0
- casadi/include/sleqp/pub_dyn.h +140 -0
- casadi/include/sleqp/pub_error.h +50 -0
- casadi/include/sleqp/pub_func.h +257 -0
- casadi/include/sleqp/pub_hess_struct.h +105 -0
- casadi/include/sleqp/pub_iterate.h +88 -0
- casadi/include/sleqp/pub_log.h +88 -0
- casadi/include/sleqp/pub_lsq.h +158 -0
- casadi/include/sleqp/pub_mem.h +52 -0
- casadi/include/sleqp/pub_problem.h +213 -0
- casadi/include/sleqp/pub_scale.h +150 -0
- casadi/include/sleqp/pub_settings.h +162 -0
- casadi/include/sleqp/pub_solver.h +155 -0
- casadi/include/sleqp/pub_types.h +230 -0
- casadi/include/sleqp/pub_working_set.h +135 -0
- casadi/include/sleqp/sparse/pub_mat.h +153 -0
- casadi/include/sleqp/sparse/pub_vec.h +336 -0
- casadi/include/sleqp.h +38 -0
- casadi/include/spral.h +13 -0
- casadi/include/spral_lsmr.h +57 -0
- casadi/include/spral_matrix_util.h +40 -0
- casadi/include/spral_random.h +26 -0
- casadi/include/spral_random_matrix.h +27 -0
- casadi/include/spral_rutherford_boeing.h +51 -0
- casadi/include/spral_scaling.h +139 -0
- casadi/include/spral_ssids.h +121 -0
- casadi/include/spral_ssmfe.h +268 -0
- casadi/include/superscs/cones.h +185 -0
- casadi/include/superscs/constants.h +144 -0
- casadi/include/superscs/cs.h +109 -0
- casadi/include/superscs/ctrlc.h +77 -0
- casadi/include/superscs/directions.h +125 -0
- casadi/include/superscs/glbopts.h +240 -0
- casadi/include/superscs/linAlg.h +437 -0
- casadi/include/superscs/linSys.h +205 -0
- casadi/include/superscs/linsys/amatrix.h +77 -0
- casadi/include/superscs/linsys/common.h +49 -0
- casadi/include/superscs/normalize.h +138 -0
- casadi/include/superscs/scs.h +656 -0
- casadi/include/superscs/scs_blas.h +79 -0
- casadi/include/superscs/scs_parser.h +187 -0
- casadi/include/superscs/unit_test_util.h +210 -0
- casadi/include/superscs/util.h +354 -0
- casadi/include/trlib/trlib_eigen_inverse.h +118 -0
- casadi/include/trlib/trlib_krylov.h +493 -0
- casadi/include/trlib/trlib_leftmost.h +181 -0
- casadi/include/trlib/trlib_private.h +109 -0
- casadi/include/trlib/trlib_quadratic_zero.h +57 -0
- casadi/include/trlib/trlib_tri_factor.h +409 -0
- casadi/include/trlib/trlib_types.h +36 -0
- casadi/include/trlib.h +44 -0
- casadi/include/zconf.h +545 -0
- casadi/include/zip.h +528 -0
- casadi/include/zipconf.h +48 -0
- casadi/include/zlib.h +1938 -0
- casadi/libCbc.la +35 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.la +35 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.la +35 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.la +35 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.la +35 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.la +35 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.la +35 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.la +35 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.la +35 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.la +35 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libalpaqa-dl-loader.so +0 -0
- casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
- casadi/libalpaqa.so +0 -0
- casadi/libalpaqa.so.1.0.0 +0 -0
- casadi/libblasfeo.so +0 -0
- casadi/libbonmin.la +35 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi-tp-openblas.so +0 -0
- casadi/libcasadi-tp-openblas.so.0 +0 -0
- casadi/libcasadi-tp-openblas.so.0.3 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_archiver_libzip.so +0 -0
- casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_cplex.so +0 -0
- casadi/libcasadi_conic_cplex.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_fatrop.so +0 -0
- casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_hpipm.so +0 -0
- casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_filesystem_ghc.so +0 -0
- casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
- casadi/libcasadi_importer_shell.so +0 -0
- casadi/libcasadi_importer_shell.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_interpolant_bspline.so +0 -0
- casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
- casadi/libcasadi_interpolant_linear.so +0 -0
- casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparse.so +0 -0
- casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapacklu.so +0 -0
- casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapackqr.so +0 -0
- casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ldl.so +0 -0
- casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
- casadi/libcasadi_linsol_lsqr.so +0 -0
- casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ma27.so +0 -0
- casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
- casadi/libcasadi_linsol_mumps.so +0 -0
- casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
- casadi/libcasadi_linsol_qr.so +0 -0
- casadi/libcasadi_linsol_qr.so.3.7 +0 -0
- casadi/libcasadi_linsol_symbolicqr.so +0 -0
- casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_tridiag.so +0 -0
- casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_fatrop.so +0 -0
- casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
- casadi/libcoinmetis.la +41 -0
- casadi/libcoinmetis.so +0 -0
- casadi/libcoinmetis.so.2 +0 -0
- casadi/libcoinmetis.so.2.0.0 +0 -0
- casadi/libcoinmumps.la +41 -0
- casadi/libcoinmumps.so +0 -0
- casadi/libcoinmumps.so.3 +0 -0
- casadi/libcoinmumps.so.3.0.1 +0 -0
- casadi/libcplex_adaptor.so +0 -0
- casadi/libdaqp.so +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libfatrop.so +0 -0
- casadi/libgfortran-040039e1.so.5.0.0 +0 -0
- casadi/libgurobi_adaptor.so +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.10.0 +0 -0
- casadi/libhpipm.so +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.la +41 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.so +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.so +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libqdldl.so +0 -0
- casadi/libquadmath-96973f99.so.0.0.0 +0 -0
- casadi/libsipopt.la +41 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/libtrlib.so +0 -0
- casadi/libtrlib.so.0.4 +0 -0
- casadi/libz.a +0 -0
- casadi/libz.so +0 -0
- casadi/libz.so.1 +0 -0
- casadi/libz.so.1.3.1 +0 -0
- casadi/libzip.a +0 -0
- casadi/pkgconfig/blas.pc +11 -0
- casadi/pkgconfig/bonmin.pc +12 -0
- casadi/pkgconfig/casadi.pc +12 -0
- casadi/pkgconfig/cbc.pc +12 -0
- casadi/pkgconfig/cgl.pc +12 -0
- casadi/pkgconfig/clp.pc +12 -0
- casadi/pkgconfig/coinmetis.pc +13 -0
- casadi/pkgconfig/coinmumps.pc +15 -0
- casadi/pkgconfig/coinutils.pc +12 -0
- casadi/pkgconfig/highs.pc +12 -0
- casadi/pkgconfig/ipopt.pc +15 -0
- casadi/pkgconfig/lapack.pc +11 -0
- casadi/pkgconfig/libzip.pc +14 -0
- casadi/pkgconfig/openblas.pc +11 -0
- casadi/pkgconfig/osi-cbc.pc +12 -0
- casadi/pkgconfig/osi-clp.pc +12 -0
- casadi/pkgconfig/osi-unittests.pc +12 -0
- casadi/pkgconfig/osi.pc +12 -0
- casadi/pkgconfig/sleqp.pc +10 -0
- casadi/tools/__init__.py +54 -0
- casadi/tools/bounds.py +107 -0
- casadi/tools/graph/__init__.py +35 -0
- casadi/tools/graph/graph.py +747 -0
- casadi/tools/in_out.py +89 -0
- casadi/tools/structure3.py +1441 -0
- casadi-3.7.2.dist-info/METADATA +45 -0
- casadi-3.7.2.dist-info/RECORD +2377 -0
- casadi-3.7.2.dist-info/WHEEL +4 -0
- dummy.txt +1 -0
@@ -0,0 +1,1805 @@
|
|
1
|
+
/*
|
2
|
+
* This file is part of CasADi.
|
3
|
+
*
|
4
|
+
* CasADi -- A symbolic framework for dynamic optimization.
|
5
|
+
* Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
|
6
|
+
* KU Leuven. All rights reserved.
|
7
|
+
* Copyright (C) 2011-2014 Greg Horn
|
8
|
+
*
|
9
|
+
* CasADi is free software; you can redistribute it and/or
|
10
|
+
* modify it under the terms of the GNU Lesser General Public
|
11
|
+
* License as published by the Free Software Foundation; either
|
12
|
+
* version 3 of the License, or (at your option) any later version.
|
13
|
+
*
|
14
|
+
* CasADi is distributed in the hope that it will be useful,
|
15
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
* Lesser General Public License for more details.
|
18
|
+
*
|
19
|
+
* You should have received a copy of the GNU Lesser General Public
|
20
|
+
* License along with CasADi; if not, write to the Free Software
|
21
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
22
|
+
*
|
23
|
+
*/
|
24
|
+
|
25
|
+
|
26
|
+
#ifndef CASADI_GENERIC_MATRIX_HPP
|
27
|
+
#define CASADI_GENERIC_MATRIX_HPP
|
28
|
+
|
29
|
+
#include "slice.hpp"
|
30
|
+
#include "submatrix.hpp"
|
31
|
+
#include "nonzeros.hpp"
|
32
|
+
#include "sparsity.hpp"
|
33
|
+
#include "calculus.hpp"
|
34
|
+
#include "sparsity_interface.hpp"
|
35
|
+
#include "generic_type.hpp"
|
36
|
+
|
37
|
+
namespace casadi {
|
38
|
+
/** \brief Empty Base
|
39
|
+
|
40
|
+
This class is extended in SWIG.
|
41
|
+
|
42
|
+
\identifier{1al} */
|
43
|
+
struct CASADI_EXPORT GenericMatrixCommon {};
|
44
|
+
|
45
|
+
/** \brief Matrix base class
|
46
|
+
|
47
|
+
This is a common base class for MX and Matrix<>, introducing a uniform syntax and implementing
|
48
|
+
common functionality using the curiously recurring template pattern (CRTP) idiom.\n
|
49
|
+
|
50
|
+
The class is designed with the idea that "everything is a matrix",
|
51
|
+
that is, also scalars and vectors.\n
|
52
|
+
This philosophy makes it easy to use and to interface in particularly
|
53
|
+
with Python and Matlab/Octave.\n
|
54
|
+
|
55
|
+
The syntax tries to stay as close as possible to the ublas syntax
|
56
|
+
when it comes to vector/matrix operations.\n
|
57
|
+
|
58
|
+
Index starts with 0.\n
|
59
|
+
Index vec happens as follows: (rr, cc) -> k = rr+cc*size1()\n
|
60
|
+
Vectors are column vectors.\n
|
61
|
+
|
62
|
+
The storage format is Compressed Column Storage (CCS),
|
63
|
+
similar to that used for sparse matrices in Matlab, \n
|
64
|
+
but unlike this format, we do allow for elements to be structurally non-zero
|
65
|
+
but numerically zero.\n
|
66
|
+
|
67
|
+
The sparsity pattern, which is reference counted and cached,
|
68
|
+
can be accessed with Sparsity& sparsity()\n
|
69
|
+
|
70
|
+
\author Joel Andersson
|
71
|
+
\date 2012
|
72
|
+
|
73
|
+
\identifier{1am} */
|
74
|
+
template<typename MatType>
|
75
|
+
class GenericMatrix
|
76
|
+
: public GenericMatrixCommon,
|
77
|
+
public SWIG_IF_ELSE(SparsityInterfaceCommon, SparsityInterface<MatType>) {
|
78
|
+
using SparsityInterface<MatType>::self;
|
79
|
+
public:
|
80
|
+
|
81
|
+
/** \brief Get the number of (structural) non-zero elements
|
82
|
+
|
83
|
+
\identifier{1an} */
|
84
|
+
casadi_int nnz() const;
|
85
|
+
|
86
|
+
/** \brief Get the number of non-zeros in the lower triangular half
|
87
|
+
|
88
|
+
\identifier{1ao} */
|
89
|
+
casadi_int nnz_lower() const;
|
90
|
+
|
91
|
+
/** \brief Get the number of non-zeros in the upper triangular half
|
92
|
+
|
93
|
+
\identifier{1ap} */
|
94
|
+
casadi_int nnz_upper() const;
|
95
|
+
|
96
|
+
/** \brief Get get the number of non-zeros on the diagonal
|
97
|
+
|
98
|
+
\identifier{1aq} */
|
99
|
+
casadi_int nnz_diag() const;
|
100
|
+
|
101
|
+
/** \brief Get the number of elements
|
102
|
+
|
103
|
+
\identifier{1ar} */
|
104
|
+
casadi_int numel() const;
|
105
|
+
|
106
|
+
/** \brief Get the first dimension (i.e. number of rows)
|
107
|
+
|
108
|
+
\identifier{1as} */
|
109
|
+
casadi_int size1() const;
|
110
|
+
|
111
|
+
/** \brief Get the number of rows, Octave-style syntax
|
112
|
+
|
113
|
+
\identifier{1at} */
|
114
|
+
casadi_int rows() const {return size1();}
|
115
|
+
|
116
|
+
/** \brief Get the second dimension (i.e. number of columns)
|
117
|
+
|
118
|
+
\identifier{1au} */
|
119
|
+
casadi_int size2() const;
|
120
|
+
|
121
|
+
/** \brief Get the number of columns, Octave-style syntax
|
122
|
+
|
123
|
+
\identifier{1av} */
|
124
|
+
casadi_int columns() const {return size2();}
|
125
|
+
|
126
|
+
/** \brief Get string representation of dimensions.
|
127
|
+
|
128
|
+
The representation is e.g. "4x5" or "4x5,10nz"
|
129
|
+
|
130
|
+
\identifier{1aw} */
|
131
|
+
std::string dim(bool with_nz=false) const;
|
132
|
+
|
133
|
+
/** \brief Get the shape
|
134
|
+
|
135
|
+
\identifier{1ax} */
|
136
|
+
std::pair<casadi_int, casadi_int> size() const;
|
137
|
+
|
138
|
+
/** \brief Get the size along a particular dimensions
|
139
|
+
|
140
|
+
\identifier{1ay} */
|
141
|
+
casadi_int size(casadi_int axis) const;
|
142
|
+
|
143
|
+
/** \brief Check if the sparsity is empty, i.e. if one of the dimensions is zero
|
144
|
+
|
145
|
+
* (or optionally both dimensions)
|
146
|
+
|
147
|
+
\identifier{1az} */
|
148
|
+
bool is_empty(bool both=false) const { return sparsity().is_empty(both);}
|
149
|
+
|
150
|
+
/** \brief Check if the matrix expression is dense
|
151
|
+
|
152
|
+
\identifier{1b0} */
|
153
|
+
bool is_dense() const { return sparsity().is_dense();}
|
154
|
+
|
155
|
+
/** \brief Check if the matrix expression is scalar
|
156
|
+
|
157
|
+
\identifier{1b1} */
|
158
|
+
bool is_scalar(bool scalar_and_dense=false) const;
|
159
|
+
|
160
|
+
/** \brief Check if the matrix expression is square
|
161
|
+
|
162
|
+
\identifier{1b2} */
|
163
|
+
bool is_square() const { return sparsity().is_square();}
|
164
|
+
|
165
|
+
/** \brief Check if the matrix is a row or column vector
|
166
|
+
|
167
|
+
\identifier{1b3} */
|
168
|
+
bool is_vector() const { return sparsity().is_vector();}
|
169
|
+
|
170
|
+
/** \brief Check if the matrix is a row vector (i.e. size1()==1)
|
171
|
+
|
172
|
+
\identifier{1b4} */
|
173
|
+
bool is_row() const { return sparsity().is_row();}
|
174
|
+
|
175
|
+
/** \brief Check if the matrix is a column vector (i.e. size2()==1)
|
176
|
+
|
177
|
+
\identifier{1b5} */
|
178
|
+
bool is_column() const { return sparsity().is_column();}
|
179
|
+
|
180
|
+
/** \brief Check if the matrix is upper triangular
|
181
|
+
|
182
|
+
\identifier{1b6} */
|
183
|
+
bool is_triu() const { return sparsity().is_triu();}
|
184
|
+
|
185
|
+
/** \brief Check if the matrix is lower triangular
|
186
|
+
|
187
|
+
\identifier{1b7} */
|
188
|
+
bool is_tril() const { return sparsity().is_tril();}
|
189
|
+
|
190
|
+
///@{
|
191
|
+
/** \brief Get the sparsity pattern. See the Sparsity class for details.
|
192
|
+
|
193
|
+
\identifier{1b8} */
|
194
|
+
std::vector<casadi_int> get_row() const { return sparsity().get_row(); }
|
195
|
+
std::vector<casadi_int> get_colind() const { return sparsity().get_colind(); }
|
196
|
+
#ifndef SWIG
|
197
|
+
const casadi_int* row() const { return sparsity().row(); }
|
198
|
+
const casadi_int* colind() const { return sparsity().colind(); }
|
199
|
+
#endif
|
200
|
+
casadi_int row(casadi_int el) const { return sparsity().row(el); }
|
201
|
+
casadi_int colind(casadi_int col) const { return sparsity().colind(col); }
|
202
|
+
///@}
|
203
|
+
|
204
|
+
/** \brief Get the sparsity pattern
|
205
|
+
|
206
|
+
\identifier{1b9} */
|
207
|
+
SWIG_CONSTREF(Sparsity) sparsity() const;
|
208
|
+
|
209
|
+
#ifndef SWIG
|
210
|
+
/// \cond CLUTTER
|
211
|
+
/** @{ */
|
212
|
+
/// Functions called by friend functions defined here
|
213
|
+
static MatType interp1d(const std::vector<double>& x, const MatType &v,
|
214
|
+
const std::vector<double>& xq, const std::string& mode, bool equidistant);
|
215
|
+
static casadi_int sprank(const MatType &x) { return Sparsity::sprank(x.sparsity());}
|
216
|
+
static casadi_int norm_0_mul(const MatType &x, const MatType &y) {
|
217
|
+
return Sparsity::norm_0_mul(x.sparsity(), y.sparsity());
|
218
|
+
}
|
219
|
+
static MatType tril(const MatType &x, bool includeDiagonal=true) {
|
220
|
+
return project(x, Sparsity::tril(x.sparsity(), includeDiagonal));
|
221
|
+
}
|
222
|
+
static MatType triu(const MatType &x, bool includeDiagonal=true) {
|
223
|
+
return project(x, Sparsity::triu(x.sparsity(), includeDiagonal));
|
224
|
+
}
|
225
|
+
static MatType sumsqr(const MatType &x) { return dot(x, x);}
|
226
|
+
static MatType linspace(const MatType &a, const MatType &b, casadi_int nsteps);
|
227
|
+
static MatType cross(const MatType &a, const MatType &b, casadi_int dim=-1);
|
228
|
+
static MatType skew(const MatType &a);
|
229
|
+
static MatType inv_skew(const MatType &a);
|
230
|
+
static MatType tril2symm(const MatType &x);
|
231
|
+
static MatType triu2symm(const MatType &x);
|
232
|
+
static MatType repsum(const MatType &x, casadi_int n, casadi_int m=1);
|
233
|
+
static MatType diff(const MatType &x, casadi_int n=1, casadi_int axis=-1);
|
234
|
+
|
235
|
+
static bool is_linear(const MatType &expr, const MatType &var);
|
236
|
+
static bool is_quadratic(const MatType &expr, const MatType &var);
|
237
|
+
static void quadratic_coeff(const MatType &expr, const MatType &var,
|
238
|
+
MatType& A, MatType& b, MatType& c, bool check);
|
239
|
+
static void linear_coeff(const MatType &expr, const MatType &var,
|
240
|
+
MatType& A, MatType& b, bool check);
|
241
|
+
/** @} */
|
242
|
+
/// \endcond
|
243
|
+
|
244
|
+
/** \brief Get vector nonzero or slice of nonzeros
|
245
|
+
|
246
|
+
\identifier{1bb} */
|
247
|
+
template<typename K>
|
248
|
+
const MatType nz(const K& k) const {
|
249
|
+
MatType ret;
|
250
|
+
self().get_nz(ret, false, k);
|
251
|
+
return ret;
|
252
|
+
}
|
253
|
+
|
254
|
+
/** \brief Access vector nonzero or slice of nonzeros
|
255
|
+
|
256
|
+
\identifier{1bc} */
|
257
|
+
template<typename K>
|
258
|
+
NonZeros<MatType, K> nz(const K& k) {
|
259
|
+
return NonZeros<MatType, K>(self(), k);
|
260
|
+
}
|
261
|
+
|
262
|
+
/** \brief Get vector element or slice
|
263
|
+
|
264
|
+
\identifier{1bd} */
|
265
|
+
template<typename RR>
|
266
|
+
const MatType operator()(const RR& rr) const {
|
267
|
+
MatType ret;
|
268
|
+
self().get(ret, false, rr);
|
269
|
+
return ret;
|
270
|
+
}
|
271
|
+
|
272
|
+
/** \brief Get Matrix element or slice
|
273
|
+
|
274
|
+
\identifier{1be} */
|
275
|
+
template<typename RR, typename CC>
|
276
|
+
const MatType operator()(const RR& rr, const CC& cc) const {
|
277
|
+
MatType ret;
|
278
|
+
self().get(ret, false, rr, cc);
|
279
|
+
return ret;
|
280
|
+
}
|
281
|
+
|
282
|
+
/** \brief Access Matrix elements (one argument)
|
283
|
+
|
284
|
+
\identifier{1bf} */
|
285
|
+
template<typename RR>
|
286
|
+
SubIndex<MatType, RR> operator()(const RR& rr) {
|
287
|
+
return SubIndex<MatType, RR>(self(), rr);
|
288
|
+
}
|
289
|
+
|
290
|
+
/** \brief Access Matrix elements (two arguments)
|
291
|
+
|
292
|
+
\identifier{1bg} */
|
293
|
+
template<typename RR, typename CC>
|
294
|
+
SubMatrix<MatType, RR, CC> operator()(const RR& rr, const CC& cc) {
|
295
|
+
return SubMatrix<MatType, RR, CC>(self(), rr, cc);
|
296
|
+
}
|
297
|
+
#endif // SWIG
|
298
|
+
|
299
|
+
#if !defined(SWIG) || defined(DOXYGEN)
|
300
|
+
/**
|
301
|
+
\addtogroup expression_tools
|
302
|
+
@{
|
303
|
+
*/
|
304
|
+
|
305
|
+
/** \brief Performs 1d linear interpolation
|
306
|
+
*
|
307
|
+
* The data-points to be interpolated are given as (x[i], v[i]).
|
308
|
+
* xq[j] is used as interpolating value
|
309
|
+
|
310
|
+
\identifier{1bh} */
|
311
|
+
inline friend MatType interp1d(const std::vector<double>& x, const MatType&v,
|
312
|
+
const std::vector<double>& xq, const std::string& mode, bool equidistant=false) {
|
313
|
+
return MatType::interp1d(x, v, xq, mode, equidistant);
|
314
|
+
}
|
315
|
+
|
316
|
+
/** \brief Matrix power x^n
|
317
|
+
|
318
|
+
\identifier{1bi} */
|
319
|
+
inline friend MatType mpower(const MatType& x, const MatType& n) {
|
320
|
+
return MatType::mpower(x, n);
|
321
|
+
}
|
322
|
+
|
323
|
+
/** \brief Construct second-order-convex
|
324
|
+
*
|
325
|
+
* \param[in] x vector expression of size n
|
326
|
+
* \param[in] y scalar expression
|
327
|
+
*
|
328
|
+
* soc(x,y) computes [y*eye(n) x; x' y]
|
329
|
+
*
|
330
|
+
* soc(x,y) positive semi definite
|
331
|
+
* <=> || x ||_2 <= y
|
332
|
+
*
|
333
|
+
\identifier{1bj} */
|
334
|
+
inline friend MatType soc(const MatType& x, const MatType& y) {
|
335
|
+
return MatType::soc(x, y);
|
336
|
+
}
|
337
|
+
|
338
|
+
/** \brief Compute any contraction of two dense tensors, using index/einstein notation
|
339
|
+
|
340
|
+
einstein(A, B, a, b, c) -> C
|
341
|
+
|
342
|
+
Given two tensors, A and B, computes a third tensor C such that:
|
343
|
+
|
344
|
+
C_c = A_a * B_b
|
345
|
+
|
346
|
+
With a, b, c representing einstein indices.
|
347
|
+
Instead of the classical index labels i,j,k,... we employ -1,-2,-3,...
|
348
|
+
|
349
|
+
A, B, C are represented as CasADi vectors, with dim_a, dim_b, dim_c
|
350
|
+
indictating theire tensorial dimensions.
|
351
|
+
|
352
|
+
\identifier{1bk} */
|
353
|
+
///@{
|
354
|
+
inline friend MatType
|
355
|
+
einstein(const MatType &A, const MatType &B, const MatType &C,
|
356
|
+
const std::vector<casadi_int>& dim_a, const std::vector<casadi_int>& dim_b,
|
357
|
+
const std::vector<casadi_int>& dim_c,
|
358
|
+
const std::vector<casadi_int>& a, const std::vector<casadi_int>& b,
|
359
|
+
const std::vector<casadi_int>& c) {
|
360
|
+
return MatType::einstein(A, B, C, dim_a, dim_b, dim_c, a, b, c);
|
361
|
+
}
|
362
|
+
|
363
|
+
inline friend MatType
|
364
|
+
einstein(const MatType &A, const MatType &B,
|
365
|
+
const std::vector<casadi_int>& dim_a, const std::vector<casadi_int>& dim_b,
|
366
|
+
const std::vector<casadi_int>& dim_c,
|
367
|
+
const std::vector<casadi_int>& a, const std::vector<casadi_int>& b,
|
368
|
+
const std::vector<casadi_int>& c) {
|
369
|
+
return MatType::einstein(A, B, dim_a, dim_b, dim_c, a, b, c);
|
370
|
+
}
|
371
|
+
///@}
|
372
|
+
|
373
|
+
/** \brief Matrix divide (cf. slash '/' in MATLAB)
|
374
|
+
|
375
|
+
\identifier{1bl} */
|
376
|
+
inline friend MatType mrdivide(const MatType& x, const MatType& n) {
|
377
|
+
return MatType::mrdivide(x, n);
|
378
|
+
}
|
379
|
+
|
380
|
+
/** \brief Matrix divide (cf. backslash '\' in MATLAB)
|
381
|
+
|
382
|
+
\identifier{1bm} */
|
383
|
+
inline friend MatType mldivide(const MatType& x, const MatType& n) {
|
384
|
+
return MatType::mldivide(x, n);
|
385
|
+
}
|
386
|
+
|
387
|
+
/** \brief Get all symbols contained in the supplied expression
|
388
|
+
|
389
|
+
* Get all symbols on which the supplied expression depends
|
390
|
+
* \see SXFunction::getFree(), MXFunction::getFree()
|
391
|
+
|
392
|
+
\identifier{1bn} */
|
393
|
+
inline friend std::vector<MatType> symvar(const MatType& x) {
|
394
|
+
return MatType::symvar(x);
|
395
|
+
}
|
396
|
+
|
397
|
+
///@{
|
398
|
+
/** \brief Calculate bilinear/quadratic form x^T A y
|
399
|
+
*
|
400
|
+
* \param[in] y can be omitted, in which case x^T A x is calculated
|
401
|
+
|
402
|
+
\identifier{1bo} */
|
403
|
+
inline friend MatType bilin(const MatType &A, const MatType &x, const MatType &y) {
|
404
|
+
return MatType::bilin(A, x, y);
|
405
|
+
}
|
406
|
+
inline friend MatType bilin(const MatType &A, const MatType &x) {
|
407
|
+
return MatType::bilin(A, x, x);
|
408
|
+
}
|
409
|
+
static MatType bilin(const MatType& A, const MatType& x, const MatType& y);
|
410
|
+
///@}
|
411
|
+
|
412
|
+
///@{
|
413
|
+
/** \brief Make a rank-1 update to a matrix A
|
414
|
+
|
415
|
+
* Calculates A + 1/2 * alpha * x*y'
|
416
|
+
|
417
|
+
\identifier{1bp} */
|
418
|
+
inline friend MatType rank1(const MatType &A, const MatType &alpha,
|
419
|
+
const MatType &x, const MatType &y) {
|
420
|
+
return MatType::rank1(A, alpha, x, y);
|
421
|
+
}
|
422
|
+
static MatType rank1(const MatType& A, const MatType& alpha,
|
423
|
+
const MatType& x, const MatType& y);
|
424
|
+
///@}
|
425
|
+
|
426
|
+
/** \brief Calculate sum of squares: sum_ij X_ij^2
|
427
|
+
|
428
|
+
\identifier{1bq} */
|
429
|
+
inline friend MatType sumsqr(const MatType &x) {
|
430
|
+
return MatType::sumsqr(x);
|
431
|
+
}
|
432
|
+
|
433
|
+
/** \brief x -> log(sum_i exp(x_i))
|
434
|
+
*
|
435
|
+
* Can be used to achieve a smooth max.
|
436
|
+
*
|
437
|
+
* Implementations for DM/SX/MX are hardened against overflow
|
438
|
+
* Implementations for DM/MX are more accurate with log1p (*)
|
439
|
+
*
|
440
|
+
* (*) https://nhigham.com/2021/01/05/what-is-the-log-sum-exp-function/
|
441
|
+
*
|
442
|
+
\identifier{1br} */
|
443
|
+
inline friend MatType logsumexp(const MatType& x) {
|
444
|
+
return MatType::logsumexp(x);
|
445
|
+
}
|
446
|
+
/** \brief Scaled version of logsumexp
|
447
|
+
*
|
448
|
+
* Scaled such that max(x) <= logsumexp(x, margin) <= max(x)+margin
|
449
|
+
*
|
450
|
+
\identifier{1bs} */
|
451
|
+
inline friend MatType logsumexp(const MatType& x, const MatType& margin) {
|
452
|
+
MatType alpha = log(x.size1()) / margin;
|
453
|
+
return MatType::logsumexp(alpha*x)/alpha;
|
454
|
+
}
|
455
|
+
static MatType logsumexp(const MatType& x);
|
456
|
+
|
457
|
+
/** \brief Matlab's \c linspace command
|
458
|
+
|
459
|
+
\identifier{1bt} */
|
460
|
+
inline friend MatType linspace(const MatType &a, const MatType &b, casadi_int nsteps) {
|
461
|
+
return MatType::linspace(a, b, nsteps);
|
462
|
+
}
|
463
|
+
|
464
|
+
/** \brief Matlab's \c cross command
|
465
|
+
|
466
|
+
\identifier{1bu} */
|
467
|
+
inline friend MatType cross(const MatType &a, const MatType &b, casadi_int dim = -1) {
|
468
|
+
return MatType::cross(a, b, dim);
|
469
|
+
}
|
470
|
+
|
471
|
+
/** \brief Generate a skew symmetric matrix from a 3-vector
|
472
|
+
|
473
|
+
\identifier{1bv} */
|
474
|
+
inline friend MatType skew(const MatType &a) {
|
475
|
+
return MatType::skew(a);
|
476
|
+
}
|
477
|
+
|
478
|
+
/** \brief Generate the 3-vector progenitor of a skew symmetric matrix
|
479
|
+
|
480
|
+
\identifier{1bw} */
|
481
|
+
inline friend MatType inv_skew(const MatType &a) {
|
482
|
+
return MatType::inv_skew(a);
|
483
|
+
}
|
484
|
+
|
485
|
+
/** \brief Matrix determinant (experimental)
|
486
|
+
|
487
|
+
\identifier{1bx} */
|
488
|
+
inline friend MatType det(const MatType& A) { return MatType::det(A);}
|
489
|
+
|
490
|
+
/** \brief Matrix inverse (experimental)
|
491
|
+
|
492
|
+
\identifier{1by} */
|
493
|
+
inline friend MatType inv_minor(const MatType& A) { return MatType::inv_minor(A);}
|
494
|
+
|
495
|
+
/** \brief Matrix inverse
|
496
|
+
|
497
|
+
\identifier{1bz} */
|
498
|
+
inline friend MatType inv(const MatType& A) {
|
499
|
+
return MatType::inv(A);
|
500
|
+
}
|
501
|
+
|
502
|
+
/** \brief Matrix inverse
|
503
|
+
|
504
|
+
\identifier{1c0} */
|
505
|
+
inline friend MatType inv(const MatType& A,
|
506
|
+
const std::string& lsolver,
|
507
|
+
const Dict& options=Dict()) {
|
508
|
+
return MatType::inv(A, lsolver, options);
|
509
|
+
}
|
510
|
+
|
511
|
+
/** \brief Matrix trace
|
512
|
+
|
513
|
+
\identifier{1c1} */
|
514
|
+
inline friend MatType trace(const MatType& x) { return MatType::trace(x);}
|
515
|
+
|
516
|
+
/** \brief Convert a lower triangular matrix to a symmetric one
|
517
|
+
|
518
|
+
\identifier{1c2} */
|
519
|
+
inline friend MatType tril2symm(const MatType &a) { return MatType::tril2symm(a);}
|
520
|
+
|
521
|
+
/** \brief Convert a upper triangular matrix to a symmetric one
|
522
|
+
|
523
|
+
\identifier{1c3} */
|
524
|
+
inline friend MatType triu2symm(const MatType &a) { return MatType::triu2symm(a);}
|
525
|
+
|
526
|
+
/** \brief Frobenius norm
|
527
|
+
|
528
|
+
\identifier{1c4} */
|
529
|
+
inline friend MatType norm_fro(const MatType &x) { return MatType::norm_fro(x);}
|
530
|
+
|
531
|
+
/** \brief 2-norm
|
532
|
+
|
533
|
+
\identifier{1c5} */
|
534
|
+
inline friend MatType norm_2(const MatType &x) { return MatType::norm_2(x);}
|
535
|
+
|
536
|
+
/** \brief 1-norm
|
537
|
+
|
538
|
+
\identifier{1c6} */
|
539
|
+
inline friend MatType norm_1(const MatType &x) { return MatType::norm_1(x);}
|
540
|
+
|
541
|
+
/** \brief Infinity-norm
|
542
|
+
|
543
|
+
\identifier{1c7} */
|
544
|
+
inline friend MatType norm_inf(const MatType &x) { return MatType::norm_inf(x);}
|
545
|
+
|
546
|
+
/** \brief Returns difference (n-th order) along given axis (MATLAB convention)
|
547
|
+
|
548
|
+
\identifier{1c8} */
|
549
|
+
inline friend MatType diff(const MatType &x, casadi_int n=1, casadi_int axis=-1) {
|
550
|
+
return MatType::diff(x, n, axis);
|
551
|
+
}
|
552
|
+
|
553
|
+
/** \brief Returns cumulative sum along given axis (MATLAB convention)
|
554
|
+
|
555
|
+
\identifier{1c9} */
|
556
|
+
inline friend MatType cumsum(const MatType &x, casadi_int axis=-1) {
|
557
|
+
return MatType::cumsum(x, axis);
|
558
|
+
}
|
559
|
+
|
560
|
+
/** \brief Inner product of two matrices
|
561
|
+
|
562
|
+
with x and y matrices of the same dimension
|
563
|
+
|
564
|
+
\identifier{1ca} */
|
565
|
+
inline friend MatType dot(const MatType &x, const MatType &y) {
|
566
|
+
return MatType::dot(x, y);
|
567
|
+
}
|
568
|
+
|
569
|
+
/** \brief Computes the nullspace of a matrix A
|
570
|
+
*
|
571
|
+
* Finds Z m-by-(m-n) such that AZ = 0
|
572
|
+
* with A n-by-m with m > n
|
573
|
+
*
|
574
|
+
* Assumes A is full rank
|
575
|
+
*
|
576
|
+
* Inspired by Numerical Methods in Scientific Computing by Ake Bjorck
|
577
|
+
|
578
|
+
\identifier{1cb} */
|
579
|
+
inline friend MatType nullspace(const MatType& A) {
|
580
|
+
return MatType::nullspace(A);
|
581
|
+
}
|
582
|
+
|
583
|
+
/** \brief Evaluate a polynomial with coefficients p in x
|
584
|
+
|
585
|
+
\identifier{1cc} */
|
586
|
+
inline friend MatType polyval(const MatType& p, const MatType& x) {
|
587
|
+
return MatType::polyval(p, x);
|
588
|
+
}
|
589
|
+
|
590
|
+
/** \brief Get the diagonal of a matrix or construct a diagonal
|
591
|
+
|
592
|
+
When the input is square, the diagonal elements are returned.
|
593
|
+
If the input is vector-like, a diagonal matrix is constructed with it.
|
594
|
+
|
595
|
+
\identifier{1cd} */
|
596
|
+
inline friend MatType diag(const MatType &A) {
|
597
|
+
return MatType::diag(A);
|
598
|
+
}
|
599
|
+
|
600
|
+
/** \brief Unite two matrices no overlapping sparsity
|
601
|
+
|
602
|
+
\identifier{1ce} */
|
603
|
+
inline friend MatType unite(const MatType& A, const MatType& B) {
|
604
|
+
return MatType::unite(A, B);
|
605
|
+
}
|
606
|
+
|
607
|
+
/** \brief Make the matrix dense if not already
|
608
|
+
|
609
|
+
\identifier{1cf} */
|
610
|
+
inline friend MatType densify(const MatType& x) {
|
611
|
+
return MatType::densify(x);
|
612
|
+
}
|
613
|
+
|
614
|
+
/** \brief Make the matrix dense and assign nonzeros to a value
|
615
|
+
|
616
|
+
\identifier{1cg} */
|
617
|
+
inline friend MatType densify(const MatType& x, const MatType& val) {
|
618
|
+
return MatType::densify(x, val);
|
619
|
+
}
|
620
|
+
|
621
|
+
/** \brief Create a new matrix with a given sparsity pattern but with the
|
622
|
+
|
623
|
+
* nonzeros taken from an existing matrix
|
624
|
+
|
625
|
+
\identifier{1ch} */
|
626
|
+
inline friend MatType project(const MatType& A, const Sparsity& sp,
|
627
|
+
bool intersect=false) {
|
628
|
+
return MatType::project(A, sp, intersect);
|
629
|
+
}
|
630
|
+
|
631
|
+
/** \brief Branching on MX nodes
|
632
|
+
|
633
|
+
Ternary operator, "cond ? if_true : if_false"
|
634
|
+
|
635
|
+
\identifier{1ci} */
|
636
|
+
inline friend MatType if_else(const MatType &cond, const MatType &if_true,
|
637
|
+
const MatType &if_false, bool short_circuit=false) {
|
638
|
+
return MatType::if_else(cond, if_true, if_false, short_circuit);
|
639
|
+
}
|
640
|
+
|
641
|
+
/** \brief Create a switch
|
642
|
+
*
|
643
|
+
* If the condition \param ind evaluates to the integer k, where 0<=k<f.size(),
|
644
|
+
* then x[k] will be returned, otherwise \param x_default will be returned.
|
645
|
+
|
646
|
+
\identifier{1cj} */
|
647
|
+
inline friend MatType conditional(const MatType& ind, const std::vector<MatType> &x,
|
648
|
+
const MatType &x_default, bool short_circuit=false) {
|
649
|
+
return MatType::conditional(ind, x, x_default, short_circuit);
|
650
|
+
}
|
651
|
+
|
652
|
+
/** \brief Check if expression depends on the argument
|
653
|
+
|
654
|
+
The argument must be symbolic
|
655
|
+
|
656
|
+
The dependency is in a mathematical way:
|
657
|
+
Does the value of the argument affect the value of the expression?
|
658
|
+
Equivalently, will the corresponding entry of the Jacobian by a non-zero?
|
659
|
+
|
660
|
+
The symbol could still be present in the expression graph.
|
661
|
+
|
662
|
+
To check that kind of dependency, use contains(symvar(f),arg)
|
663
|
+
|
664
|
+
\identifier{1ck} */
|
665
|
+
inline friend bool depends_on(const MatType& f, const MatType &arg) {
|
666
|
+
return MatType::depends_on(f, arg);
|
667
|
+
}
|
668
|
+
|
669
|
+
/** \brief Check if expression n is listed in v
|
670
|
+
*
|
671
|
+
* This function checks for correspondence between nodes.
|
672
|
+
* The detection does not descend into the expression graph.
|
673
|
+
*
|
674
|
+
* contains({a,b},b) -> true
|
675
|
+
* contains({a+b},b) -> false
|
676
|
+
*
|
677
|
+
* e = a+b
|
678
|
+
* contains({e},e) -> true
|
679
|
+
*
|
680
|
+
* For mathematical dependency, see depends_on
|
681
|
+
* \sa depends_on
|
682
|
+
|
683
|
+
\identifier{2c8} */
|
684
|
+
/// @{
|
685
|
+
inline friend bool contains(const std::vector<MatType>& v, const MatType &n) {
|
686
|
+
return contains_all(v, std::vector<MatType>{n});
|
687
|
+
}
|
688
|
+
|
689
|
+
inline friend bool contains_all(const std::vector<MatType>& v, const std::vector<MatType> &n) {
|
690
|
+
return MatType::contains_all(v, n);
|
691
|
+
}
|
692
|
+
|
693
|
+
inline friend bool contains_any(const std::vector<MatType>& v, const std::vector<MatType> &n) {
|
694
|
+
return MatType::contains_any(v, n);
|
695
|
+
}
|
696
|
+
/// @}
|
697
|
+
|
698
|
+
/** \brief Substitute variable v with expression vdef in an expression ex
|
699
|
+
|
700
|
+
\identifier{1cl} */
|
701
|
+
friend inline MatType substitute(const MatType& ex, const MatType& v,
|
702
|
+
const MatType& vdef) {
|
703
|
+
return MatType::substitute(ex, v, vdef);
|
704
|
+
}
|
705
|
+
|
706
|
+
/** \brief Substitute variable var with expression expr in multiple expressions
|
707
|
+
|
708
|
+
\identifier{1cm} */
|
709
|
+
friend inline std::vector<MatType>
|
710
|
+
substitute(const std::vector<MatType>& ex, const std::vector<MatType>& v,
|
711
|
+
const std::vector<MatType>& vdef) {
|
712
|
+
return MatType::substitute(ex, v, vdef);
|
713
|
+
}
|
714
|
+
|
715
|
+
/** \brief Inplace substitution with piggyback expressions
|
716
|
+
|
717
|
+
* Substitute variables v out of the expressions vdef sequentially,
|
718
|
+
* as well as out of a number of other expressions piggyback
|
719
|
+
|
720
|
+
\identifier{1cn} */
|
721
|
+
inline friend void
|
722
|
+
substitute_inplace(const std::vector<MatType>& v,
|
723
|
+
std::vector<MatType>& inout_vdef,
|
724
|
+
std::vector<MatType>& inout_ex, bool reverse=false) {
|
725
|
+
return MatType::substitute_inplace(v, inout_vdef, inout_ex, reverse);
|
726
|
+
}
|
727
|
+
|
728
|
+
/** \brief Common subexpression elimination
|
729
|
+
|
730
|
+
\identifier{1co} */
|
731
|
+
inline friend MatType cse(const MatType& e) {
|
732
|
+
return MatType::cse({e}).at(0);
|
733
|
+
}
|
734
|
+
|
735
|
+
|
736
|
+
/** \brief Common subexpression elimination
|
737
|
+
|
738
|
+
\identifier{1cp} */
|
739
|
+
inline friend std::vector<MatType> cse(const std::vector<MatType>& e) {
|
740
|
+
return MatType::cse(e);
|
741
|
+
}
|
742
|
+
|
743
|
+
/** \brief Solve a system of equations: A*x = b
|
744
|
+
|
745
|
+
The solve routine works similar to Matlab's backslash when A is square and nonsingular.
|
746
|
+
The algorithm used is the following:
|
747
|
+
1. A simple forward or backward substitution if A is upper or lower triangular
|
748
|
+
2. If the linear system is at most 3-by-3, form the inverse via minor expansion and multiply
|
749
|
+
3. Permute the variables and equations as to get a (structurally) nonzero diagonal,
|
750
|
+
then perform a QR factorization without pivoting and solve the factorized system.
|
751
|
+
|
752
|
+
Note 1: If there are entries of the linear system known to be zero, these will be removed.
|
753
|
+
Elements that are very small, or will evaluate to be zero, can still cause numerical errors,
|
754
|
+
due to the lack of pivoting (which is not possible since cannot compare the size of entries)
|
755
|
+
|
756
|
+
Note 2: When permuting the linear system, a BLT (block lower triangular) transformation is
|
757
|
+
formed. Only the permutation part of this is however used. An improvement would be to solve
|
758
|
+
block-by-block if there are multiple BLT blocks.
|
759
|
+
|
760
|
+
\identifier{1cq} */
|
761
|
+
friend inline MatType solve(const MatType& A, const MatType& b) {
|
762
|
+
// If A is scalar, just divide
|
763
|
+
if (A.is_scalar()) return b/A;
|
764
|
+
return MatType::solve(A, b);
|
765
|
+
}
|
766
|
+
|
767
|
+
/** \brief Solve a system of equations: A*x = b
|
768
|
+
|
769
|
+
\identifier{1cr} */
|
770
|
+
friend inline MatType solve(const MatType& A, const MatType& b,
|
771
|
+
const std::string& lsolver,
|
772
|
+
const Dict& dict = Dict()) {
|
773
|
+
// If A is scalar, just divide
|
774
|
+
if (A.is_scalar()) return b/A;
|
775
|
+
return MatType::solve(A, b, lsolver, dict);
|
776
|
+
}
|
777
|
+
|
778
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
779
|
+
/** \brief Linearize an expression
|
780
|
+
*
|
781
|
+
* [DEPRECATED] confusing behaviour
|
782
|
+
*
|
783
|
+
* This function linearizes an expression around a point x0,
|
784
|
+
* using x as delta around that point.
|
785
|
+
*
|
786
|
+
* \code
|
787
|
+
* linearize(sin(x),x,x0) -> sin(x0)+cos(x0)*x
|
788
|
+
* \endcode
|
789
|
+
*
|
790
|
+
* For a variant that returns sin(x0)+cos(x0)*(x-x0), see taylor.
|
791
|
+
*
|
792
|
+
* \sa taylor, linear_coeff
|
793
|
+
|
794
|
+
\identifier{1cs} */
|
795
|
+
friend inline MatType linearize(const MatType& f, const MatType& x, const MatType& x0,
|
796
|
+
const Dict& opts=Dict()) {
|
797
|
+
return MatType::linearize(f, x, x0, opts);
|
798
|
+
}
|
799
|
+
#endif // WITH_DEPRECATED_FEATURES
|
800
|
+
|
801
|
+
/** \brief Computes the Moore-Penrose pseudo-inverse
|
802
|
+
*
|
803
|
+
* If the matrix A is fat (size1<size2), mul(A, pinv(A)) is unity.
|
804
|
+
*
|
805
|
+
* pinv(A)' = (AA')^(-1) A
|
806
|
+
*
|
807
|
+
*
|
808
|
+
* If the matrix A is slender (size1>size2), mul(pinv(A), A) is unity.
|
809
|
+
*
|
810
|
+
* pinv(A) = (A'A)^(-1) A'
|
811
|
+
*
|
812
|
+
\identifier{1ct} */
|
813
|
+
friend inline MatType pinv(const MatType& A) {
|
814
|
+
return MatType::pinv(A);
|
815
|
+
}
|
816
|
+
|
817
|
+
/** \brief Computes the Moore-Penrose pseudo-inverse
|
818
|
+
*
|
819
|
+
* If the matrix A is fat (size1>size2), mul(A, pinv(A)) is unity.
|
820
|
+
* If the matrix A is slender (size2<size1), mul(pinv(A), A) is unity.
|
821
|
+
*
|
822
|
+
\identifier{1cu} */
|
823
|
+
friend inline MatType pinv(const MatType& A, const std::string& lsolver,
|
824
|
+
const Dict& dict = Dict()) {
|
825
|
+
return MatType::pinv(A, lsolver, dict);
|
826
|
+
}
|
827
|
+
|
828
|
+
|
829
|
+
/** \brief Calculate Matrix exponential
|
830
|
+
*
|
831
|
+
* Computes expm(A*t) with A constant
|
832
|
+
*
|
833
|
+
* \param A[in] Square matrix
|
834
|
+
* \param t[in] Scalar
|
835
|
+
*
|
836
|
+
|
837
|
+
\identifier{23v} */
|
838
|
+
friend inline MatType expm_const(const MatType& A, const MatType& t) {
|
839
|
+
return MatType::expm_const(A, t);
|
840
|
+
}
|
841
|
+
|
842
|
+
/** \brief Calculate Matrix exponential
|
843
|
+
*
|
844
|
+
|
845
|
+
\identifier{23w} */
|
846
|
+
friend inline MatType expm(const MatType& A) {
|
847
|
+
return MatType::expm(A);
|
848
|
+
}
|
849
|
+
|
850
|
+
/** \brief Calculate Jacobian
|
851
|
+
*
|
852
|
+
* \return Sparse matrix
|
853
|
+
|
854
|
+
\identifier{1cv} */
|
855
|
+
inline friend MatType jacobian(const MatType &ex, const MatType &arg,
|
856
|
+
const Dict& opts = Dict()) {
|
857
|
+
return MatType::jacobian(ex, arg, opts);
|
858
|
+
}
|
859
|
+
/** \brief Calculate the gradient of an expression
|
860
|
+
*
|
861
|
+
* \param ex[in] Scalar expression to take the gradient of
|
862
|
+
* \param arg[in] Vector expression of symbols
|
863
|
+
* \param opts[in] Options
|
864
|
+
*
|
865
|
+
* \return Dense column vector
|
866
|
+
|
867
|
+
\identifier{23x} */
|
868
|
+
inline friend MatType gradient(const MatType &ex, const MatType &arg, const Dict& opts=Dict()) {
|
869
|
+
return MatType::gradient(ex, arg, opts);
|
870
|
+
}
|
871
|
+
/** \brief Calculate the tangent of an expression
|
872
|
+
*
|
873
|
+
|
874
|
+
\identifier{23y} */
|
875
|
+
inline friend MatType tangent(const MatType &ex, const MatType &arg, const Dict& opts=Dict()) {
|
876
|
+
return MatType::tangent(ex, arg, opts);
|
877
|
+
}
|
878
|
+
|
879
|
+
/** \brief Calculate the Jacobian and multiply by a vector from the right
|
880
|
+
|
881
|
+
This is equivalent to <tt>mul(jacobian(ex, arg), v)</tt> or
|
882
|
+
<tt>mul(jacobian(ex, arg).T, v)</tt> for
|
883
|
+
tr set to false and true respectively. If contrast to these
|
884
|
+
expressions, it will use directional derivatives which is typically (but
|
885
|
+
not necessarily) more efficient if the complete Jacobian is not needed and v has few rows.
|
886
|
+
|
887
|
+
\identifier{1cw} */
|
888
|
+
friend inline MatType jtimes(const MatType &ex, const MatType &arg,
|
889
|
+
const MatType &v, bool tr=false, const Dict& opts=Dict()) {
|
890
|
+
return MatType::jtimes(ex, arg, v, tr, opts);
|
891
|
+
}
|
892
|
+
|
893
|
+
/** \brief Forward directional derivative
|
894
|
+
|
895
|
+
\identifier{1cx} */
|
896
|
+
friend inline std::vector<std::vector<MatType> >
|
897
|
+
forward(const std::vector<MatType> &ex, const std::vector<MatType> &arg,
|
898
|
+
const std::vector<std::vector<MatType> > &v,
|
899
|
+
const Dict& opts = Dict()) {
|
900
|
+
return MatType::forward(ex, arg, v, opts);
|
901
|
+
}
|
902
|
+
|
903
|
+
/** \brief Reverse directional derivative
|
904
|
+
|
905
|
+
\identifier{1cy} */
|
906
|
+
friend inline std::vector<std::vector<MatType> >
|
907
|
+
reverse(const std::vector<MatType> &ex, const std::vector<MatType> &arg,
|
908
|
+
const std::vector<std::vector<MatType> > &v,
|
909
|
+
const Dict& opts = Dict()) {
|
910
|
+
return MatType::reverse(ex, arg, v, opts);
|
911
|
+
}
|
912
|
+
|
913
|
+
///@{
|
914
|
+
/** \brief Hessian and (optionally) gradient
|
915
|
+
|
916
|
+
\identifier{23z} */
|
917
|
+
inline friend MatType hessian(const MatType &ex, const MatType &arg,
|
918
|
+
const Dict& opts = Dict()) {
|
919
|
+
return MatType::hessian(ex, arg, opts);
|
920
|
+
}
|
921
|
+
inline friend MatType hessian(const MatType &ex, const MatType &arg, MatType& output_g,
|
922
|
+
const Dict& opts = Dict()) {
|
923
|
+
return MatType::hessian(ex, arg, output_g, opts);
|
924
|
+
}
|
925
|
+
///@}
|
926
|
+
|
927
|
+
/** \brief Find out which variables enter with some order
|
928
|
+
|
929
|
+
\identifier{1cz} */
|
930
|
+
inline friend std::vector<bool> which_depends(const MatType &expr, const MatType &var,
|
931
|
+
casadi_int order, bool tr) {
|
932
|
+
return MatType::which_depends(expr, var, order, tr);
|
933
|
+
}
|
934
|
+
|
935
|
+
/** \brief Get the sparsity pattern of a jacobian
|
936
|
+
*
|
937
|
+
* Equivalent to, but cheaper to compute than, jacobian(f,x).sparsity()
|
938
|
+
|
939
|
+
\identifier{259} */
|
940
|
+
inline friend Sparsity jacobian_sparsity(const MatType &f, const MatType &x) {
|
941
|
+
return MatType::jacobian_sparsity(f, x);
|
942
|
+
}
|
943
|
+
|
944
|
+
/** \brief Is expr linear in var?
|
945
|
+
*
|
946
|
+
* False negatives are possible
|
947
|
+
* (an expression may not be recognised as linear while it really is),
|
948
|
+
* false positives not.
|
949
|
+
|
950
|
+
\identifier{1d0} */
|
951
|
+
inline friend bool is_linear(const MatType &expr, const MatType &var) {
|
952
|
+
return MatType::is_linear(expr, var);
|
953
|
+
}
|
954
|
+
|
955
|
+
/** \brief Is expr quadratic in var?
|
956
|
+
*
|
957
|
+
* False negatives are possible
|
958
|
+
* (an expression may not be recognised as quadratic while it really is),
|
959
|
+
* false positives not.
|
960
|
+
|
961
|
+
\identifier{1d1} */
|
962
|
+
inline friend bool is_quadratic(const MatType &expr, const MatType &var) {
|
963
|
+
return MatType::is_quadratic(expr, var);
|
964
|
+
}
|
965
|
+
|
966
|
+
/** \brief Recognizes quadratic form in scalar expression
|
967
|
+
*
|
968
|
+
* 1/2*x' A x + b' x + c
|
969
|
+
*
|
970
|
+
* e = 0.5*bilin(A,x,x)+dot(b,x)+c
|
971
|
+
*
|
972
|
+
* \param check[in] When true (default), A is checked to be independent of x.
|
973
|
+
* Provided to deal with false positive dependency checks.
|
974
|
+
|
975
|
+
\identifier{1d2} */
|
976
|
+
inline friend void quadratic_coeff(const MatType &expr, const MatType &var,
|
977
|
+
MatType& A, MatType& b, MatType& c, bool check=true) {
|
978
|
+
MatType::quadratic_coeff(expr, var, A, b, c, check);
|
979
|
+
}
|
980
|
+
|
981
|
+
/** \brief Recognizes linear form in vector expression
|
982
|
+
*
|
983
|
+
* A x + b
|
984
|
+
*
|
985
|
+
* \param check[in] When true (default)m, A is checked to be independent of x.
|
986
|
+
* Provided to deal with false positive dependency checks.
|
987
|
+
|
988
|
+
\identifier{1d3} */
|
989
|
+
inline friend void linear_coeff(const MatType &expr, const MatType &var,
|
990
|
+
MatType& A, MatType& b, bool check=true) {
|
991
|
+
MatType::linear_coeff(expr, var, A, b, check);
|
992
|
+
}
|
993
|
+
|
994
|
+
/** \brief Extract purely parametric parts from an expression graph
|
995
|
+
*
|
996
|
+
* The purpose of extract_parametric is ultimately to save on evaluation time of an expression,
|
997
|
+
* by extracting out the parts that are only solely dependent on parameters.
|
998
|
+
*
|
999
|
+
* For any:
|
1000
|
+
* [expr_ret, symbols, parametric] = extract_parametric(expr, par)
|
1001
|
+
* It holds that:
|
1002
|
+
* substitute(expr_ret,symbols,parametric) == expr
|
1003
|
+
*
|
1004
|
+
* parametric is only dependant on par
|
1005
|
+
* expr_ret is not dependant on par, but is dependant on symbols
|
1006
|
+
*
|
1007
|
+
* Example:
|
1008
|
+
* [expr_ret, symbols, parametric] = extract_parametric((x-sqrt(p))*y+cos(p)**2, p)
|
1009
|
+
*
|
1010
|
+
* expr_ret: (((x-extracted1)*y)+extracted2)
|
1011
|
+
* symbols: [extracted1, extracted2]
|
1012
|
+
* parametric: [sqrt(p),cos(p)**2]
|
1013
|
+
*
|
1014
|
+
* Options to control the name of new symbols:
|
1015
|
+
* - offset (int), default 0: Offset for new symbol counter
|
1016
|
+
* - prefix (str), default 'e_': Prefix for new symbols
|
1017
|
+
* - suffix (str), default '': Suffix for new symbols
|
1018
|
+
*
|
1019
|
+
* Option 'extract_trivial' controls the behaviour for extracted parts
|
1020
|
+
* that consist of pure symbols. If false (default),
|
1021
|
+
* these parts are not extracted.
|
1022
|
+
*
|
1023
|
+
|
1024
|
+
\identifier{288} */
|
1025
|
+
inline friend void extract_parametric(const MatType &expr, const MatType& par,
|
1026
|
+
MatType& SWIG_OUTPUT(expr_ret),
|
1027
|
+
std::vector<MatType>& SWIG_OUTPUT(symbols),
|
1028
|
+
std::vector<MatType>& SWIG_OUTPUT(parametric),
|
1029
|
+
const Dict& opts=Dict()) {
|
1030
|
+
MatType::extract_parametric(expr, par, expr_ret, symbols, parametric, opts);
|
1031
|
+
}
|
1032
|
+
|
1033
|
+
inline friend void extract_parametric(const std::vector<MatType> &expr, const MatType& par,
|
1034
|
+
std::vector<MatType>& SWIG_OUTPUT(expr_ret),
|
1035
|
+
std::vector<MatType>& SWIG_OUTPUT(symbols),
|
1036
|
+
std::vector<MatType>& SWIG_OUTPUT(parametric),
|
1037
|
+
const Dict& opts=Dict()) {
|
1038
|
+
// Concatenate all vector elements
|
1039
|
+
MatType expr_cat = veccat(expr);
|
1040
|
+
MatType expr_ret_cat;
|
1041
|
+
|
1042
|
+
// Concatenated extract_parametric
|
1043
|
+
MatType::extract_parametric(expr_cat, par, expr_ret_cat, symbols, parametric, opts);
|
1044
|
+
|
1045
|
+
// Compute edges of vertsplit needed to undo concatenate
|
1046
|
+
std::vector<casadi_int> edges = {0};
|
1047
|
+
for (const MatType& e : expr) {
|
1048
|
+
edges.push_back(edges.back() + e.numel());
|
1049
|
+
}
|
1050
|
+
// Perform vertsplit
|
1051
|
+
std::vector<MatType> expr_ret_catv = MatType::vertsplit(expr_ret_cat, edges);
|
1052
|
+
|
1053
|
+
// Reshape all elements back into original size
|
1054
|
+
expr_ret.resize(expr_ret_catv.size());
|
1055
|
+
for (casadi_int i=0; i<expr_ret_catv.size(); ++i) {
|
1056
|
+
expr_ret[i] = reshape(expr_ret_catv[i], expr[i].size1(), expr[i].size2());
|
1057
|
+
}
|
1058
|
+
}
|
1059
|
+
|
1060
|
+
inline friend void extract_parametric(const std::vector<MatType> &expr,
|
1061
|
+
const std::vector<MatType>& par,
|
1062
|
+
std::vector<MatType>& SWIG_OUTPUT(expr_ret),
|
1063
|
+
std::vector<MatType>& SWIG_OUTPUT(symbols),
|
1064
|
+
std::vector<MatType>& SWIG_OUTPUT(parametric),
|
1065
|
+
const Dict& opts=Dict()) {
|
1066
|
+
extract_parametric(expr, veccat(par), expr_ret, symbols, parametric, opts);
|
1067
|
+
}
|
1068
|
+
|
1069
|
+
inline friend void extract_parametric(const MatType &expr, const std::vector<MatType>& par,
|
1070
|
+
MatType& SWIG_OUTPUT(expr_ret),
|
1071
|
+
std::vector<MatType>& SWIG_OUTPUT(symbols),
|
1072
|
+
std::vector<MatType>& SWIG_OUTPUT(parametric),
|
1073
|
+
const Dict& opts=Dict()) {
|
1074
|
+
extract_parametric(expr, veccat(par), expr_ret, symbols, parametric, opts);
|
1075
|
+
}
|
1076
|
+
|
1077
|
+
/* \brief separate an expression into subuexpression that are linear, constant, and nonlinear
|
1078
|
+
*
|
1079
|
+
* \param expr[in] The expression to be separated
|
1080
|
+
* \param sym_lin[in] The symbolic variables w.r.t. which linearity should be checked
|
1081
|
+
* \param sym_const[in] The symbolic variables that are deemed constant
|
1082
|
+
* \param expr_const[out] The constant part of the expression
|
1083
|
+
* \param expr_lin[out] The linear part of the expression
|
1084
|
+
* \param expr_nonlin[out] The nonlinear part of the expression
|
1085
|
+
*
|
1086
|
+
* Expression dependencies that are not in sym_lin or sym_const are considered nonlinear
|
1087
|
+
*
|
1088
|
+
* A post condition is that the following holds:
|
1089
|
+
* expr = expr_const + expr_lin + expr_nonlin
|
1090
|
+
*
|
1091
|
+
* Here, expr_const is not dependant on sym_const,
|
1092
|
+
* expr_lin is linear in sym_lin
|
1093
|
+
*
|
1094
|
+
* Example:
|
1095
|
+
*
|
1096
|
+
* [expr_const,expr_lin,expr_nonlin] =
|
1097
|
+
* separate_linear(cos(p)+7*x+x*y, vertcat(x,y), p)
|
1098
|
+
*
|
1099
|
+
* expr_const: cos(p)
|
1100
|
+
* expr_lin: 7*x
|
1101
|
+
* expr_nonlin: x*y
|
1102
|
+
*
|
1103
|
+
*/
|
1104
|
+
inline friend void separate_linear(const MatType &expr,
|
1105
|
+
const MatType &sym_lin, const MatType &sym_const,
|
1106
|
+
MatType& expr_const, MatType& expr_lin, MatType& expr_nonlin) {
|
1107
|
+
MatType::separate_linear(expr, sym_lin, sym_const, expr_const, expr_lin, expr_nonlin);
|
1108
|
+
}
|
1109
|
+
|
1110
|
+
inline friend void separate_linear(const MatType &expr,
|
1111
|
+
const std::vector<MatType> &sym_lin, const std::vector<MatType> &sym_const,
|
1112
|
+
MatType& expr_const, MatType& expr_lin, MatType& expr_nonlin) {
|
1113
|
+
separate_linear(expr, veccat(sym_lin), veccat(sym_const),
|
1114
|
+
expr_const, expr_lin, expr_nonlin);
|
1115
|
+
}
|
1116
|
+
|
1117
|
+
/** Count number of nodes */
|
1118
|
+
inline friend casadi_int n_nodes(const MatType& A) {
|
1119
|
+
return MatType::n_nodes(A);
|
1120
|
+
}
|
1121
|
+
|
1122
|
+
/// Simplify an expression
|
1123
|
+
friend inline MatType simplify(const MatType &x) {
|
1124
|
+
return MatType::simplify(x);
|
1125
|
+
}
|
1126
|
+
|
1127
|
+
/** \brief Get a string representation for a binary MatType, using custom arguments
|
1128
|
+
|
1129
|
+
\identifier{1d4} */
|
1130
|
+
inline friend std::string
|
1131
|
+
print_operator(const MatType& xb, const std::vector<std::string>& args) {
|
1132
|
+
return MatType::print_operator(xb, args);
|
1133
|
+
}
|
1134
|
+
|
1135
|
+
/** \brief Introduce intermediate variables for selected nodes in a graph
|
1136
|
+
|
1137
|
+
\identifier{1d5} */
|
1138
|
+
inline friend void extract(std::vector<MatType>& ex,
|
1139
|
+
std::vector<MatType>& v,
|
1140
|
+
std::vector<MatType>& vdef,
|
1141
|
+
const Dict& opts = Dict()) {
|
1142
|
+
MatType::extract(ex, v, vdef, opts);
|
1143
|
+
}
|
1144
|
+
|
1145
|
+
/** \brief Extract shared subexpressions from an set of expressions
|
1146
|
+
|
1147
|
+
\identifier{1d6} */
|
1148
|
+
inline friend void shared(std::vector<MatType>& ex,
|
1149
|
+
std::vector<MatType>& v,
|
1150
|
+
std::vector<MatType>& vdef,
|
1151
|
+
const std::string& v_prefix="v_",
|
1152
|
+
const std::string& v_suffix="") {
|
1153
|
+
return MatType::shared(ex, v, vdef, v_prefix, v_suffix);
|
1154
|
+
}
|
1155
|
+
|
1156
|
+
/** \brief Given a repeated matrix, computes the sum of repeated parts
|
1157
|
+
|
1158
|
+
\identifier{1d7} */
|
1159
|
+
inline friend MatType repsum(const MatType &A, casadi_int n, casadi_int m=1) {
|
1160
|
+
return MatType::repsum(A, n, m);
|
1161
|
+
}
|
1162
|
+
|
1163
|
+
///@{
|
1164
|
+
/** \brief Smallest element in a matrix
|
1165
|
+
|
1166
|
+
\identifier{1d8} */
|
1167
|
+
friend inline MatType mmin(const MatType& x) {
|
1168
|
+
return MatType::mmin(x);
|
1169
|
+
}
|
1170
|
+
///@}
|
1171
|
+
|
1172
|
+
///@{
|
1173
|
+
/** \brief Largest element in a matrix
|
1174
|
+
|
1175
|
+
\identifier{1d9} */
|
1176
|
+
friend inline MatType mmax(const MatType& x) {
|
1177
|
+
return MatType::mmax(x);
|
1178
|
+
}
|
1179
|
+
///@}
|
1180
|
+
|
1181
|
+
///@{
|
1182
|
+
/// Functions called by friend functions defined here
|
1183
|
+
static MatType jtimes(const MatType &ex, const MatType &arg,
|
1184
|
+
const MatType &v, bool tr=false, const Dict& opts=Dict());
|
1185
|
+
static MatType gradient(const MatType &ex, const MatType &arg, const Dict& opts=Dict());
|
1186
|
+
static MatType tangent(const MatType &ex, const MatType &arg, const Dict& opts=Dict());
|
1187
|
+
static MatType linearize(const MatType& f, const MatType& x, const MatType& x0,
|
1188
|
+
const Dict& opts=Dict());
|
1189
|
+
static MatType mpower(const MatType &x, const MatType &y);
|
1190
|
+
static MatType soc(const MatType &x, const MatType &y);
|
1191
|
+
///@}
|
1192
|
+
|
1193
|
+
/** @} */
|
1194
|
+
#endif // SWIG
|
1195
|
+
|
1196
|
+
/** @name Construct symbolic primitives
|
1197
|
+
The "sym" function is intended to work in a similar way as "sym" used
|
1198
|
+
in the Symbolic Toolbox for Matlab but instead creating a
|
1199
|
+
CasADi symbolic primitive.
|
1200
|
+
*/
|
1201
|
+
///@{
|
1202
|
+
|
1203
|
+
/** \brief Create an nrow-by-ncol symbolic primitive
|
1204
|
+
|
1205
|
+
\identifier{1da} */
|
1206
|
+
static MatType sym(const std::string& name, casadi_int nrow=1, casadi_int ncol=1) {
|
1207
|
+
return sym(name, Sparsity::dense(nrow, ncol));
|
1208
|
+
}
|
1209
|
+
|
1210
|
+
/** \brief Construct a symbolic primitive with given dimensions
|
1211
|
+
|
1212
|
+
\identifier{1db} */
|
1213
|
+
static MatType sym(const std::string& name, const std::pair<casadi_int, casadi_int> &rc) {
|
1214
|
+
return sym(name, rc.first, rc.second);
|
1215
|
+
}
|
1216
|
+
|
1217
|
+
/** \brief Create symbolic primitive with a given sparsity pattern
|
1218
|
+
|
1219
|
+
\identifier{1dc} */
|
1220
|
+
static MatType sym(const std::string& name, const Sparsity& sp) {
|
1221
|
+
return MatType::_sym(name, sp);
|
1222
|
+
}
|
1223
|
+
|
1224
|
+
/** \brief Create a vector of length p with with matrices
|
1225
|
+
|
1226
|
+
* with symbolic primitives of given sparsity
|
1227
|
+
|
1228
|
+
\identifier{1dd} */
|
1229
|
+
static std::vector<MatType > sym(const std::string& name, const Sparsity& sp, casadi_int p);
|
1230
|
+
|
1231
|
+
/** \brief Create a vector of length p with nrow-by-ncol symbolic primitives
|
1232
|
+
|
1233
|
+
\identifier{1de} */
|
1234
|
+
static std::vector<MatType > sym(const std::string& name, casadi_int nrow,
|
1235
|
+
casadi_int ncol, casadi_int p) {
|
1236
|
+
return sym(name, Sparsity::dense(nrow, ncol), p);
|
1237
|
+
}
|
1238
|
+
|
1239
|
+
/** \brief Create a vector of length r of vectors of length p with
|
1240
|
+
|
1241
|
+
* symbolic primitives with given sparsity
|
1242
|
+
|
1243
|
+
\identifier{1df} */
|
1244
|
+
static std::vector<std::vector<MatType> >
|
1245
|
+
sym(const std::string& name, const Sparsity& sp, casadi_int p, casadi_int r);
|
1246
|
+
|
1247
|
+
/** \brief Create a vector of length r of vectors of length p
|
1248
|
+
|
1249
|
+
* with nrow-by-ncol symbolic primitives
|
1250
|
+
|
1251
|
+
\identifier{1dg} */
|
1252
|
+
static std::vector<std::vector<MatType> >
|
1253
|
+
sym(const std::string& name, casadi_int nrow, casadi_int ncol, casadi_int p, casadi_int r) {
|
1254
|
+
return sym(name, Sparsity::dense(nrow, ncol), p, r);
|
1255
|
+
}
|
1256
|
+
///@}
|
1257
|
+
|
1258
|
+
///@{
|
1259
|
+
/** \brief Create a dense matrix or a matrix with specified sparsity with all entries zero
|
1260
|
+
|
1261
|
+
\identifier{1dh} */
|
1262
|
+
static MatType zeros(casadi_int nrow=1, casadi_int ncol=1) {
|
1263
|
+
return zeros(Sparsity::dense(nrow, ncol));
|
1264
|
+
}
|
1265
|
+
static MatType zeros(const Sparsity& sp) { return MatType(sp, 0, false);}
|
1266
|
+
static MatType zeros(const std::pair<casadi_int, casadi_int>& rc) {
|
1267
|
+
return zeros(rc.first, rc.second);
|
1268
|
+
}
|
1269
|
+
///@}
|
1270
|
+
|
1271
|
+
///@{
|
1272
|
+
/** \brief Create a dense matrix or a matrix with specified sparsity with all entries one
|
1273
|
+
|
1274
|
+
\identifier{1di} */
|
1275
|
+
static MatType ones(casadi_int nrow=1, casadi_int ncol=1) {
|
1276
|
+
return ones(Sparsity::dense(nrow, ncol));
|
1277
|
+
}
|
1278
|
+
static MatType ones(const Sparsity& sp) { return MatType(sp, 1, false);}
|
1279
|
+
static MatType ones(const std::pair<casadi_int, casadi_int>& rc) {
|
1280
|
+
return ones(rc.first, rc.second);
|
1281
|
+
}
|
1282
|
+
///@}
|
1283
|
+
};
|
1284
|
+
|
1285
|
+
// Throw informative error message
|
1286
|
+
#define CASADI_THROW_ERROR(FNAME, WHAT) \
|
1287
|
+
throw CasadiException("Error in " + MatType::type_name() \
|
1288
|
+
+ "::" FNAME " at " + CASADI_WHERE + ":\n" + std::string(WHAT));
|
1289
|
+
|
1290
|
+
#ifndef SWIG
|
1291
|
+
// Implementations
|
1292
|
+
template<typename MatType>
|
1293
|
+
const Sparsity& GenericMatrix<MatType>::sparsity() const {
|
1294
|
+
return self().sparsity();
|
1295
|
+
}
|
1296
|
+
|
1297
|
+
template<typename MatType>
|
1298
|
+
casadi_int GenericMatrix<MatType>::nnz() const {
|
1299
|
+
return sparsity().nnz();
|
1300
|
+
}
|
1301
|
+
|
1302
|
+
template<typename MatType>
|
1303
|
+
casadi_int GenericMatrix<MatType>::nnz_lower() const {
|
1304
|
+
return sparsity().nnz_lower();
|
1305
|
+
}
|
1306
|
+
|
1307
|
+
template<typename MatType>
|
1308
|
+
casadi_int GenericMatrix<MatType>::nnz_upper() const {
|
1309
|
+
return sparsity().nnz_upper();
|
1310
|
+
}
|
1311
|
+
|
1312
|
+
template<typename MatType>
|
1313
|
+
casadi_int GenericMatrix<MatType>::nnz_diag() const {
|
1314
|
+
return sparsity().nnz_diag();
|
1315
|
+
}
|
1316
|
+
|
1317
|
+
template<typename MatType>
|
1318
|
+
casadi_int GenericMatrix<MatType>::numel() const {
|
1319
|
+
return sparsity().numel();
|
1320
|
+
}
|
1321
|
+
|
1322
|
+
template<typename MatType>
|
1323
|
+
casadi_int GenericMatrix<MatType>::size1() const {
|
1324
|
+
return sparsity().size1();
|
1325
|
+
}
|
1326
|
+
|
1327
|
+
template<typename MatType>
|
1328
|
+
casadi_int GenericMatrix<MatType>::size2() const {
|
1329
|
+
return sparsity().size2();
|
1330
|
+
}
|
1331
|
+
|
1332
|
+
template<typename MatType>
|
1333
|
+
std::pair<casadi_int, casadi_int> GenericMatrix<MatType>::size() const {
|
1334
|
+
return sparsity().size();
|
1335
|
+
}
|
1336
|
+
|
1337
|
+
template<typename MatType>
|
1338
|
+
casadi_int GenericMatrix<MatType>::size(casadi_int axis) const {
|
1339
|
+
return sparsity().size(axis);
|
1340
|
+
}
|
1341
|
+
|
1342
|
+
template<typename MatType>
|
1343
|
+
std::string GenericMatrix<MatType>::dim(bool with_nz) const {
|
1344
|
+
return sparsity().dim(with_nz);
|
1345
|
+
}
|
1346
|
+
|
1347
|
+
template<typename MatType>
|
1348
|
+
bool GenericMatrix<MatType>::is_scalar(bool scalar_and_dense) const {
|
1349
|
+
return sparsity().is_scalar(scalar_and_dense);
|
1350
|
+
}
|
1351
|
+
|
1352
|
+
#endif // SWIG
|
1353
|
+
|
1354
|
+
template<typename MatType>
|
1355
|
+
std::vector<MatType> GenericMatrix<MatType>::sym(const std::string& name,
|
1356
|
+
const Sparsity& sp, casadi_int p) {
|
1357
|
+
std::vector<MatType> ret(p);
|
1358
|
+
std::stringstream ss;
|
1359
|
+
for (casadi_int k=0; k<p; ++k) {
|
1360
|
+
ss.str("");
|
1361
|
+
ss << name << k;
|
1362
|
+
ret[k] = sym(ss.str(), sp);
|
1363
|
+
}
|
1364
|
+
return ret;
|
1365
|
+
}
|
1366
|
+
|
1367
|
+
template<typename MatType>
|
1368
|
+
std::vector<std::vector<MatType> > GenericMatrix<MatType>::sym(const std::string& name,
|
1369
|
+
const Sparsity& sp, casadi_int p,
|
1370
|
+
casadi_int r) {
|
1371
|
+
std::vector<std::vector<MatType> > ret(r);
|
1372
|
+
for (casadi_int k=0; k<r; ++k) {
|
1373
|
+
std::stringstream ss;
|
1374
|
+
ss << name << "_" << k;
|
1375
|
+
ret[k] = sym(ss.str(), sp, p);
|
1376
|
+
}
|
1377
|
+
return ret;
|
1378
|
+
}
|
1379
|
+
|
1380
|
+
template<typename MatType>
|
1381
|
+
MatType GenericMatrix<MatType>::linspace(const MatType& a, const MatType& b, casadi_int nsteps) {
|
1382
|
+
std::vector<MatType> ret(nsteps);
|
1383
|
+
ret[0] = a;
|
1384
|
+
MatType step = (b-a)/static_cast<MatType>(nsteps-1);
|
1385
|
+
|
1386
|
+
for (casadi_int i=1; i<nsteps-1; ++i)
|
1387
|
+
ret[i] = a + i * step;
|
1388
|
+
|
1389
|
+
ret[nsteps-1] = b;
|
1390
|
+
return vertcat(ret);
|
1391
|
+
}
|
1392
|
+
|
1393
|
+
template<typename MatType>
|
1394
|
+
MatType GenericMatrix<MatType>::cross(const MatType& a, const MatType& b, casadi_int dim) {
|
1395
|
+
casadi_assert(a.size1()==b.size1() && a.size2()==b.size2(),
|
1396
|
+
"cross(a, b): Inconsistent dimensions. Dimension of a ("
|
1397
|
+
+ a.dim() + " ) must equal that of b (" + b.dim() + ").");
|
1398
|
+
|
1399
|
+
casadi_assert(a.size1()==3 || a.size2()==3,
|
1400
|
+
"cross(a, b): One of the dimensions of a should have length 3, but got "
|
1401
|
+
+ a.dim() + ".");
|
1402
|
+
casadi_assert(dim==-1 || dim==1 || dim==2,
|
1403
|
+
"cross(a, b, dim): Dim must be 1, 2 or -1 (automatic).");
|
1404
|
+
|
1405
|
+
std::vector<MatType> ret(3);
|
1406
|
+
|
1407
|
+
bool t = a.size1()==3;
|
1408
|
+
|
1409
|
+
if (dim==1) t = true;
|
1410
|
+
if (dim==2) t = false;
|
1411
|
+
|
1412
|
+
MatType a1 = t ? a(0, Slice()) : a(Slice(), 0);
|
1413
|
+
MatType a2 = t ? a(1, Slice()) : a(Slice(), 1);
|
1414
|
+
MatType a3 = t ? a(2, Slice()) : a(Slice(), 2);
|
1415
|
+
|
1416
|
+
MatType b1 = t ? b(0, Slice()) : b(Slice(), 0);
|
1417
|
+
MatType b2 = t ? b(1, Slice()) : b(Slice(), 1);
|
1418
|
+
MatType b3 = t ? b(2, Slice()) : b(Slice(), 2);
|
1419
|
+
|
1420
|
+
ret[0] = a2*b3-a3*b2;
|
1421
|
+
ret[1] = a3*b1-a1*b3;
|
1422
|
+
ret[2] = a1*b2-a2*b1;
|
1423
|
+
|
1424
|
+
return t ? vertcat(ret) : horzcat(ret);
|
1425
|
+
}
|
1426
|
+
|
1427
|
+
double CASADI_EXPORT index_interp1d(const std::vector<double>& x, double xq,
|
1428
|
+
bool equidistant=false);
|
1429
|
+
|
1430
|
+
template<typename MatType>
|
1431
|
+
MatType GenericMatrix<MatType>::interp1d(const std::vector<double>& x, const MatType& v,
|
1432
|
+
const std::vector<double>& xq, const std::string& mode, bool equidistant) {
|
1433
|
+
|
1434
|
+
bool mode_floor = false;
|
1435
|
+
bool mode_ceil = false;
|
1436
|
+
if (mode=="floor") {
|
1437
|
+
mode_floor = true;
|
1438
|
+
} else if (mode=="ceil") {
|
1439
|
+
mode_ceil = true;
|
1440
|
+
} else if (mode=="linear") {
|
1441
|
+
//
|
1442
|
+
} else {
|
1443
|
+
casadi_error("interp1d(x, v, xq, mode): "
|
1444
|
+
"Mode must be 'floor', 'ceil' or 'linear'. Got '" + mode + "' instead.");
|
1445
|
+
}
|
1446
|
+
|
1447
|
+
casadi_assert(is_increasing(x), "interp1d(x, v, xq): x must be increasing.");
|
1448
|
+
|
1449
|
+
casadi_assert(x.size()==v.size1(),
|
1450
|
+
"interp1d(x, v, xq): dimensions mismatch. v expected to have " + str(x.size()) + " rows,"
|
1451
|
+
" but got " + str(v.size1()) + " instead.");
|
1452
|
+
|
1453
|
+
// Need at least two elements
|
1454
|
+
casadi_assert(x.size()>=2, "interp1d(x, v, xq): x must be at least length 2.");
|
1455
|
+
|
1456
|
+
// Vectors to compose a sparse matrix
|
1457
|
+
std::vector<double> val;
|
1458
|
+
std::vector<casadi_int> colind(1, 0);
|
1459
|
+
std::vector<casadi_int> row;
|
1460
|
+
|
1461
|
+
// Number of nonzeros in to-be composed matrix
|
1462
|
+
casadi_int nnz = 0;
|
1463
|
+
for (casadi_int i=0;i<xq.size();++i) {
|
1464
|
+
// Obtain index corresponding to xq[i]
|
1465
|
+
double ind = index_interp1d(x, xq[i], equidistant);
|
1466
|
+
|
1467
|
+
if (mode_floor) ind = floor(ind);
|
1468
|
+
if (mode_ceil) ind = ceil(ind);
|
1469
|
+
|
1470
|
+
// Split into integer and fractional part
|
1471
|
+
double int_partd;
|
1472
|
+
double frac_part = modf(ind, &int_partd);
|
1473
|
+
casadi_int int_part = static_cast<casadi_int>(int_partd);
|
1474
|
+
|
1475
|
+
if (frac_part==0) {
|
1476
|
+
// Create a single entry
|
1477
|
+
val.push_back(1);
|
1478
|
+
row.push_back(int_part);
|
1479
|
+
nnz+=1;
|
1480
|
+
colind.push_back(nnz);
|
1481
|
+
} else {
|
1482
|
+
// Create a double entry
|
1483
|
+
val.push_back(1-frac_part);
|
1484
|
+
val.push_back(frac_part);
|
1485
|
+
row.push_back(int_part);
|
1486
|
+
row.push_back(int_part+1);
|
1487
|
+
nnz+=2;
|
1488
|
+
colind.push_back(nnz);
|
1489
|
+
}
|
1490
|
+
}
|
1491
|
+
|
1492
|
+
// Construct sparsity for composed matrix
|
1493
|
+
Sparsity sp(x.size(), xq.size() , colind, row);
|
1494
|
+
|
1495
|
+
return MatType::mtimes(MatType(sp, val).T(), v);
|
1496
|
+
|
1497
|
+
}
|
1498
|
+
|
1499
|
+
template<typename MatType>
|
1500
|
+
MatType GenericMatrix<MatType>::skew(const MatType& a) {
|
1501
|
+
casadi_assert(a.is_vector() && (a.size1()==3 || a.size2()==3),
|
1502
|
+
"skew(a): Expecting 3-vector, got " + a.dim() + ".");
|
1503
|
+
|
1504
|
+
MatType x = a(0);
|
1505
|
+
MatType y = a(1);
|
1506
|
+
MatType z = a(2);
|
1507
|
+
return blockcat(std::vector< std::vector<MatType> >({{0, -z, y}, {z, 0, -x}, {-y, x, 0}}));
|
1508
|
+
}
|
1509
|
+
|
1510
|
+
template<typename MatType>
|
1511
|
+
MatType GenericMatrix<MatType>::inv_skew(const MatType& a) {
|
1512
|
+
casadi_assert(a.size1()==3 && a.size2()==3,
|
1513
|
+
"inv_skew(a): Expecting 3-by-3 matrix, got " + a.dim() + ".");
|
1514
|
+
|
1515
|
+
return 0.5*vertcat(std::vector<MatType>({a(2, 1)-a(1, 2), a(0, 2)-a(2, 0), a(1, 0)-a(0, 1)}));
|
1516
|
+
}
|
1517
|
+
|
1518
|
+
|
1519
|
+
template<typename MatType>
|
1520
|
+
MatType GenericMatrix<MatType>::tril2symm(const MatType& x) {
|
1521
|
+
casadi_assert(x.is_square(),
|
1522
|
+
"Shape error in tril2symm. Expecting square shape but got " + x.dim());
|
1523
|
+
casadi_assert(x.nnz_upper()-x.nnz_diag()==0,
|
1524
|
+
"Sparsity error in tril2symm. Found above-diagonal entries in argument: " + x.dim());
|
1525
|
+
return x + x.T() - diag(diag(x));
|
1526
|
+
}
|
1527
|
+
|
1528
|
+
template<typename MatType>
|
1529
|
+
MatType GenericMatrix<MatType>::repsum(const MatType& x, casadi_int n, casadi_int m) {
|
1530
|
+
casadi_assert_dev(x.size1() % n==0);
|
1531
|
+
casadi_assert_dev(x.size2() % m==0);
|
1532
|
+
std::vector< std::vector< MatType> > s =
|
1533
|
+
blocksplit(x, x.size1()/n, x.size2()/m);
|
1534
|
+
MatType sum = 0;
|
1535
|
+
for (casadi_int i=0;i<s.size();++i) {
|
1536
|
+
for (casadi_int j=0;j<s[i].size();++j) {
|
1537
|
+
sum = sum + s[i][j];
|
1538
|
+
}
|
1539
|
+
}
|
1540
|
+
return sum;
|
1541
|
+
}
|
1542
|
+
|
1543
|
+
template<typename MatType>
|
1544
|
+
MatType GenericMatrix<MatType>::triu2symm(const MatType& x) {
|
1545
|
+
casadi_assert(x.is_square(),
|
1546
|
+
"Shape error in triu2symm. Expecting square shape but got " + x.dim());
|
1547
|
+
casadi_assert(x.nnz_lower()-x.nnz_diag()==0,
|
1548
|
+
"Sparsity error in triu2symm. Found below-diagonal entries in argument: " + x.dim());
|
1549
|
+
return x + x.T() - diag(diag(x));
|
1550
|
+
}
|
1551
|
+
|
1552
|
+
template<typename MatType>
|
1553
|
+
MatType GenericMatrix<MatType>::bilin(const MatType& A, const MatType& x,
|
1554
|
+
const MatType& y) {
|
1555
|
+
// Check/correct x
|
1556
|
+
casadi_assert_dev(x.is_vector());
|
1557
|
+
if (!x.is_column()) return bilin(A, x.T(), y);
|
1558
|
+
if (!x.is_dense()) return bilin(A, densify(x), y);
|
1559
|
+
|
1560
|
+
// Check/correct y
|
1561
|
+
casadi_assert_dev(y.is_vector());
|
1562
|
+
if (!y.is_column()) return bilin(A, x, y.T());
|
1563
|
+
if (!y.is_dense()) return bilin(A, x, densify(y));
|
1564
|
+
|
1565
|
+
// Assert dimensions
|
1566
|
+
casadi_assert(x.size1()==A.size1() && y.size1()==A.size2(),
|
1567
|
+
"Dimension mismatch. Got x.size1() = " + str(x.size1())
|
1568
|
+
+ " and y.size1() = " + str(y.size1()) + " but A.size() = " + str(A.size()));
|
1569
|
+
|
1570
|
+
// Call the class specific method
|
1571
|
+
return MatType::_bilin(A, x, y);
|
1572
|
+
}
|
1573
|
+
|
1574
|
+
template<typename MatType>
|
1575
|
+
MatType GenericMatrix<MatType>::rank1(const MatType& A, const MatType& alpha,
|
1576
|
+
const MatType& x, const MatType& y) {
|
1577
|
+
// Check/correct x
|
1578
|
+
casadi_assert_dev(x.is_vector());
|
1579
|
+
if (!x.is_column()) return rank1(A, alpha, x.T(), y);
|
1580
|
+
if (!x.is_dense()) return rank1(A, alpha, densify(x), y);
|
1581
|
+
|
1582
|
+
// Check/correct y
|
1583
|
+
casadi_assert_dev(y.is_vector());
|
1584
|
+
if (!y.is_column()) return rank1(A, alpha, x, y.T());
|
1585
|
+
if (!y.is_dense()) return rank1(A, alpha, x, densify(y));
|
1586
|
+
|
1587
|
+
// Check alpha, quick return
|
1588
|
+
casadi_assert_dev(alpha.is_scalar());
|
1589
|
+
if (!alpha.is_dense()) return A;
|
1590
|
+
|
1591
|
+
// Assert dimensions
|
1592
|
+
casadi_assert(x.size1()==A.size1() && y.size1()==A.size2(),
|
1593
|
+
"Dimension mismatch. Got x.size1() = " + str(x.size1())
|
1594
|
+
+ " and y.size1() = " + str(y.size1())
|
1595
|
+
+ " but A.size() = " + str(A.size()));
|
1596
|
+
|
1597
|
+
// Call the class specific method
|
1598
|
+
return MatType::_rank1(A, alpha, x, y);
|
1599
|
+
}
|
1600
|
+
|
1601
|
+
template<typename MatType>
|
1602
|
+
MatType GenericMatrix<MatType>::logsumexp(const MatType& x) {
|
1603
|
+
casadi_assert(x.is_dense(), "Argument must be dense");
|
1604
|
+
casadi_assert(x.is_column(), "Argument must be column vector");
|
1605
|
+
// Call the class specific method
|
1606
|
+
return MatType::_logsumexp(x);
|
1607
|
+
}
|
1608
|
+
|
1609
|
+
template<typename MatType>
|
1610
|
+
MatType GenericMatrix<MatType>::jtimes(const MatType &ex, const MatType &arg,
|
1611
|
+
const MatType &v, bool tr, const Dict& opts) {
|
1612
|
+
try {
|
1613
|
+
// Assert consistent input dimensions
|
1614
|
+
if (tr) {
|
1615
|
+
if (ex.size2()==0 && v.size2()>0) {
|
1616
|
+
casadi_error("Ambiguous dimensions.");
|
1617
|
+
}
|
1618
|
+
casadi_assert(v.size1() == ex.size1() &&
|
1619
|
+
(v.size2()==0 || ex.size2()==0 || v.size2() % ex.size2() == 0),
|
1620
|
+
"'v' has inconsistent dimensions: "
|
1621
|
+
" v " + v.dim(false) + ", ex " + ex.dim(false) + ".");
|
1622
|
+
} else {
|
1623
|
+
if (arg.size2()==0 && v.size2()>0) {
|
1624
|
+
casadi_error("Ambiguous dimensions.");
|
1625
|
+
}
|
1626
|
+
casadi_assert(v.size1() == arg.size1() &&
|
1627
|
+
(v.size2()==0 || arg.size2()==0 || v.size2() % arg.size2() == 0),
|
1628
|
+
"'v' has inconsistent dimensions: "
|
1629
|
+
" v " + v.dim(false) + ", arg " + arg.dim(false) + ".");
|
1630
|
+
}
|
1631
|
+
|
1632
|
+
casadi_int n_seeds = 1;
|
1633
|
+
if (tr) {
|
1634
|
+
if (ex.size2()>0) n_seeds = v.size2() / ex.size2();
|
1635
|
+
} else {
|
1636
|
+
if (arg.size2()>0) n_seeds = v.size2() / arg.size2();
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
// Quick return if no seeds
|
1640
|
+
if (v.is_empty() || ex.is_empty()) {
|
1641
|
+
return MatType(tr ? arg.size1() : ex.size1(),
|
1642
|
+
tr ? arg.size2()*n_seeds : ex.size2()*n_seeds);
|
1643
|
+
}
|
1644
|
+
|
1645
|
+
// Split up the seed into its components
|
1646
|
+
std::vector<MatType> w = horzsplit(v, tr ? ex.size2() : arg.size2());
|
1647
|
+
|
1648
|
+
// Seeds as a vector of vectors
|
1649
|
+
std::vector<std::vector<MatType> > ww(w.size());
|
1650
|
+
for (casadi_int i=0; i<w.size(); ++i) ww[i] = {w[i]};
|
1651
|
+
|
1652
|
+
// Calculate directional derivatives
|
1653
|
+
if (tr) {
|
1654
|
+
ww = reverse({ex}, {arg}, ww, opts);
|
1655
|
+
} else {
|
1656
|
+
ww = forward({ex}, {arg}, ww, opts);
|
1657
|
+
}
|
1658
|
+
|
1659
|
+
// Get results
|
1660
|
+
for (casadi_int i=0; i<w.size(); ++i) w[i] = ww[i][0];
|
1661
|
+
return horzcat(w);
|
1662
|
+
} catch (std::exception& e) {
|
1663
|
+
CASADI_THROW_ERROR("jtimes", e.what());
|
1664
|
+
}
|
1665
|
+
}
|
1666
|
+
|
1667
|
+
template<typename MatType>
|
1668
|
+
MatType GenericMatrix<MatType>::gradient(const MatType &ex, const MatType &arg,
|
1669
|
+
const Dict& opts) {
|
1670
|
+
try {
|
1671
|
+
casadi_assert(ex.is_scalar(),
|
1672
|
+
"'gradient' only defined for scalar outputs: Use 'jacobian' instead.");
|
1673
|
+
return project(jtimes(ex, arg, MatType::ones(ex.sparsity()), true, opts), arg.sparsity());
|
1674
|
+
} catch (std::exception& e) {
|
1675
|
+
CASADI_THROW_ERROR("gradient", e.what());
|
1676
|
+
}
|
1677
|
+
}
|
1678
|
+
|
1679
|
+
template<typename MatType>
|
1680
|
+
MatType GenericMatrix<MatType>::tangent(const MatType &ex, const MatType &arg,
|
1681
|
+
const Dict& opts) {
|
1682
|
+
try {
|
1683
|
+
casadi_assert(arg.is_scalar(),
|
1684
|
+
"'tangent' only defined for scalar inputs: Use 'jacobian' instead.");
|
1685
|
+
return project(jtimes(ex, arg, MatType::ones(arg.sparsity()), false, opts), ex.sparsity());
|
1686
|
+
} catch (std::exception& e) {
|
1687
|
+
CASADI_THROW_ERROR("tangent", e.what());
|
1688
|
+
}
|
1689
|
+
}
|
1690
|
+
|
1691
|
+
template<typename MatType>
|
1692
|
+
MatType GenericMatrix<MatType>::
|
1693
|
+
linearize(const MatType& f, const MatType& x, const MatType& x0, const Dict& opts) {
|
1694
|
+
MatType x_lin = MatType::sym("x_lin", x.sparsity());
|
1695
|
+
// mismatching dimensions
|
1696
|
+
if (x0.size() != x.size()) {
|
1697
|
+
// Scalar x0 is ok
|
1698
|
+
if (x0.sparsity().is_scalar()) {
|
1699
|
+
return linearize(f, x, MatType(x.sparsity(), x0));
|
1700
|
+
}
|
1701
|
+
casadi_error("Dimension mismatch in 'linearize'");
|
1702
|
+
}
|
1703
|
+
return substitute(f + jtimes(f, x, x_lin, false, opts),
|
1704
|
+
MatType::vertcat({x_lin, x}), MatType::vertcat({x, x0}));
|
1705
|
+
}
|
1706
|
+
|
1707
|
+
template<typename MatType>
|
1708
|
+
MatType GenericMatrix<MatType>::mpower(const MatType& a,
|
1709
|
+
const MatType& b) {
|
1710
|
+
if (a.is_scalar() && b.is_scalar()) return pow(a, b);
|
1711
|
+
casadi_assert(a.is_square() && b.is_constant() && b.is_scalar(),
|
1712
|
+
"Not Implemented");
|
1713
|
+
double bv = static_cast<double>(b);
|
1714
|
+
casadi_int N = static_cast<casadi_int>(bv);
|
1715
|
+
casadi_assert(bv-static_cast<double>(N)==0, "mpower only defined for integer powers.");
|
1716
|
+
casadi_assert(bv==N, "Not Implemented");
|
1717
|
+
if (N<0) return inv(mpower(a, -N));
|
1718
|
+
if (N==0) return MatType::eye(a.size1());
|
1719
|
+
if (N==1) return a;
|
1720
|
+
if (N % 2 == 0) {
|
1721
|
+
MatType h = mpower(a, N/2); // NOLINT
|
1722
|
+
return MatType::mtimes(h, h);
|
1723
|
+
} else {
|
1724
|
+
return MatType::mtimes(mpower(a, N-1), a);
|
1725
|
+
}
|
1726
|
+
}
|
1727
|
+
|
1728
|
+
template<typename MatType>
|
1729
|
+
MatType GenericMatrix<MatType>::soc(const MatType& x,
|
1730
|
+
const MatType& y) {
|
1731
|
+
casadi_assert(y.is_scalar(), "y needs to be scalar. Got " + y.dim() + ".");
|
1732
|
+
casadi_assert(x.is_vector(), "x needs to be a vector. Got " + x.dim() + ".");
|
1733
|
+
|
1734
|
+
MatType x_col = x.is_column() ? x : x.T();
|
1735
|
+
|
1736
|
+
x_col = x_col.nz(Slice()); // NOLINT
|
1737
|
+
|
1738
|
+
casadi_int n = x_col.numel();
|
1739
|
+
return blockcat(y*MatType::eye(n), x_col, x_col.T(), y);
|
1740
|
+
}
|
1741
|
+
|
1742
|
+
template<typename MatType>
|
1743
|
+
bool GenericMatrix<MatType>::is_linear(const MatType &expr, const MatType &var) {
|
1744
|
+
return !any(MatType::which_depends(expr, var, 2, true));
|
1745
|
+
}
|
1746
|
+
|
1747
|
+
template<typename MatType>
|
1748
|
+
bool GenericMatrix<MatType>::is_quadratic(const MatType &expr, const MatType &var) {
|
1749
|
+
return is_linear(gradient(expr, var), var);
|
1750
|
+
}
|
1751
|
+
|
1752
|
+
template<typename MatType>
|
1753
|
+
void GenericMatrix<MatType>::quadratic_coeff(const MatType &expr, const MatType &var,
|
1754
|
+
MatType& A, MatType& b, MatType& c, bool check) {
|
1755
|
+
casadi_assert(expr.is_scalar(), "'quadratic_coeff' only defined for scalar expressions.");
|
1756
|
+
A = hessian(expr, var);
|
1757
|
+
b = substitute(jacobian(expr, var), var, 0).T();
|
1758
|
+
if (check)
|
1759
|
+
casadi_assert(!depends_on(A, var), "'quadratic_coeff' called on non-quadratic expression.");
|
1760
|
+
c = substitute(expr, var, 0);
|
1761
|
+
}
|
1762
|
+
|
1763
|
+
template<typename MatType>
|
1764
|
+
void GenericMatrix<MatType>::linear_coeff(const MatType &expr, const MatType &var,
|
1765
|
+
MatType& A, MatType& b, bool check) {
|
1766
|
+
casadi_assert(expr.is_vector(), "'linear_coeff' only defined for vector expressions.");
|
1767
|
+
if (check)
|
1768
|
+
casadi_assert(is_linear(expr, var), "'linear_coeff' called on non-linear expression.");
|
1769
|
+
A = substitute(jacobian(expr, var), var, 0);
|
1770
|
+
b = vec(substitute(expr, var, 0));
|
1771
|
+
}
|
1772
|
+
|
1773
|
+
template<typename MatType>
|
1774
|
+
MatType GenericMatrix<MatType>::diff(const MatType& x, casadi_int n, casadi_int axis) {
|
1775
|
+
casadi_assert(axis==-1 || axis==0 || axis==1, "Axis argument invalid");
|
1776
|
+
casadi_assert(n>=1, "n argument invalid");
|
1777
|
+
|
1778
|
+
MatType ret = x;
|
1779
|
+
for (casadi_int i=0;i<n;++i) {
|
1780
|
+
// Matlab's special case
|
1781
|
+
if (axis==-1 && ret.is_scalar()) return MatType();
|
1782
|
+
|
1783
|
+
casadi_int local_axis = (axis==-1) ? ret.is_row() : axis;
|
1784
|
+
if (local_axis==0) {
|
1785
|
+
if (ret.size1()<=1) {
|
1786
|
+
ret = MatType::zeros(0, ret.size2());
|
1787
|
+
} else {
|
1788
|
+
ret = ret(Slice(1, ret.size1()), Slice())-ret(Slice(0, ret.size1()-1), Slice());
|
1789
|
+
}
|
1790
|
+
} else {
|
1791
|
+
if (ret.size2()<=1) {
|
1792
|
+
ret = MatType::zeros(ret.size1(), 0);
|
1793
|
+
} else {
|
1794
|
+
ret = ret(Slice(), Slice(1, ret.size2()))-ret(Slice(), Slice(0, ret.size2()-1));
|
1795
|
+
}
|
1796
|
+
}
|
1797
|
+
}
|
1798
|
+
return ret;
|
1799
|
+
}
|
1800
|
+
|
1801
|
+
#undef CASADI_THROW_ERROR
|
1802
|
+
|
1803
|
+
} // namespace casadi
|
1804
|
+
|
1805
|
+
#endif // CASADI_GENERIC_MATRIX_HPP
|