casadi 3.7.2__cp314-none-win_amd64.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.
Files changed (2398) hide show
  1. casadi/__init__.py +92 -0
  2. casadi/_casadi.pyd +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +54468 -0
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  10. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
  11. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
  12. casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
  13. casadi/cmake/casadi-config-version.cmake +11 -0
  14. casadi/cmake/casadi-config.cmake +8 -0
  15. casadi/cmake/casadi-targets-release.cmake +19 -0
  16. casadi/cmake/casadi-targets.cmake +94 -0
  17. casadi/cmake/ghc_filesystem/ghc_filesystem-config-version.cmake +76 -0
  18. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  19. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +99 -0
  20. casadi/cmake/highs/highs-config.cmake +17 -0
  21. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  22. casadi/cmake/highs/highs-targets.cmake +105 -0
  23. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  24. casadi/cmake/libzip/libzip-config.cmake +69 -0
  25. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  26. casadi/cmake/libzip/libzip-targets.cmake +99 -0
  27. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  28. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  29. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  30. casadi/cmake/osqp/osqp-config.cmake +1 -0
  31. casadi/cmake/osqp/osqp-targets-release.cmake +29 -0
  32. casadi/cmake/osqp/osqp-targets.cmake +101 -0
  33. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  34. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  35. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +67 -0
  36. casadi/cmake/proxsuite/proxsuiteTargets.cmake +107 -0
  37. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  38. casadi/cmake/qdldl/qdldl-targets-release.cmake +29 -0
  39. casadi/cmake/qdldl/qdldl-targets.cmake +101 -0
  40. casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
  41. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  42. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  43. casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
  44. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  45. casadi/cmake/trlib/trlib-config-version.cmake +59 -0
  46. casadi/cmake/trlib/trlib-config.cmake +99 -0
  47. casadi/daqp.lib +0 -0
  48. casadi/fatrop.lib +0 -0
  49. casadi/highs.exe +0 -0
  50. casadi/highs.lib +0 -0
  51. casadi/hpipm.lib +0 -0
  52. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  53. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  54. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  55. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  56. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  57. casadi/include/alpaqa/alpaqa.hpp +3 -0
  58. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  59. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  60. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  61. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  62. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  63. casadi/include/alpaqa/config/config.hpp +165 -0
  64. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  65. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  66. casadi/include/alpaqa/export.h +42 -0
  67. casadi/include/alpaqa/export.hpp +30 -0
  68. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  69. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  70. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  71. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  72. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  73. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  74. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  75. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  76. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  77. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  78. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  79. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  80. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  81. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  82. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  83. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  84. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  85. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  86. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  87. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  88. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  89. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  90. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  91. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  92. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  93. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  94. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  95. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  96. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  97. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  98. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  99. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  100. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  101. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  102. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  103. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  104. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  105. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  106. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  107. casadi/include/alpaqa/outer/alm.hpp +190 -0
  108. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  109. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  110. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  111. casadi/include/alpaqa/params/params.hpp +60 -0
  112. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  113. casadi/include/alpaqa/problem/box.hpp +82 -0
  114. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  115. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  116. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  117. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  118. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  119. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  120. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  121. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  122. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  123. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  124. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  125. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  126. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  127. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  128. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  129. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  130. casadi/include/alpaqa/util/float.hpp +25 -0
  131. casadi/include/alpaqa/util/index-set.hpp +97 -0
  132. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  133. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  134. casadi/include/alpaqa/util/max-history.hpp +47 -0
  135. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  136. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  137. casadi/include/alpaqa/util/print.hpp +78 -0
  138. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  139. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  140. casadi/include/alpaqa/util/required-method.hpp +29 -0
  141. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  142. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  143. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  144. casadi/include/alpaqa/util/timed.hpp +22 -0
  145. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  146. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  147. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  148. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  149. casadi/include/alpaqa-version.h +8 -0
  150. casadi/include/blasfeo.h +52 -0
  151. casadi/include/blasfeo_block_size.h +447 -0
  152. casadi/include/blasfeo_common.h +274 -0
  153. casadi/include/blasfeo_d_aux.h +255 -0
  154. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  155. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  156. casadi/include/blasfeo_d_aux_old.h +75 -0
  157. casadi/include/blasfeo_d_aux_ref.h +208 -0
  158. casadi/include/blasfeo_d_aux_test.h +226 -0
  159. casadi/include/blasfeo_d_blas.h +46 -0
  160. casadi/include/blasfeo_d_blas_api.h +281 -0
  161. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  162. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  163. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  164. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  165. casadi/include/blasfeo_d_kernel.h +1321 -0
  166. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  167. casadi/include/blasfeo_m_aux.h +57 -0
  168. casadi/include/blasfeo_memory.h +62 -0
  169. casadi/include/blasfeo_naming.h +77 -0
  170. casadi/include/blasfeo_processor_features.h +88 -0
  171. casadi/include/blasfeo_s_aux.h +168 -0
  172. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  173. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  174. casadi/include/blasfeo_s_aux_old.h +64 -0
  175. casadi/include/blasfeo_s_aux_ref.h +147 -0
  176. casadi/include/blasfeo_s_aux_test.h +177 -0
  177. casadi/include/blasfeo_s_blas.h +46 -0
  178. casadi/include/blasfeo_s_blas_api.h +182 -0
  179. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  180. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  181. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  182. casadi/include/blasfeo_s_kernel.h +692 -0
  183. casadi/include/blasfeo_stdlib.h +62 -0
  184. casadi/include/blasfeo_target.h +73 -0
  185. casadi/include/blasfeo_timing.h +114 -0
  186. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  187. casadi/include/casadi/casadi.hpp +31 -0
  188. casadi/include/casadi/casadi.i +4920 -0
  189. casadi/include/casadi/casadi_c.h +138 -0
  190. casadi/include/casadi/casadi_numpy.hpp +97 -0
  191. casadi/include/casadi/config.h +46 -0
  192. casadi/include/casadi/core/archiver.hpp +58 -0
  193. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  194. casadi/include/casadi/core/calculus.hpp +1805 -0
  195. casadi/include/casadi/core/callback.hpp +235 -0
  196. casadi/include/casadi/core/casadi_common.hpp +355 -0
  197. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  198. casadi/include/casadi/core/casadi_export.h +42 -0
  199. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  200. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  201. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  202. casadi/include/casadi/core/casadi_meta.hpp +122 -0
  203. casadi/include/casadi/core/casadi_misc.hpp +1022 -0
  204. casadi/include/casadi/core/casadi_types.hpp +66 -0
  205. casadi/include/casadi/core/code_generator.hpp +1071 -0
  206. casadi/include/casadi/core/conic.hpp +213 -0
  207. casadi/include/casadi/core/core.hpp +75 -0
  208. casadi/include/casadi/core/dae_builder.hpp +885 -0
  209. casadi/include/casadi/core/dm.hpp +90 -0
  210. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  211. casadi/include/casadi/core/dple.hpp +138 -0
  212. casadi/include/casadi/core/exception.hpp +167 -0
  213. casadi/include/casadi/core/expm.hpp +84 -0
  214. casadi/include/casadi/core/external.hpp +70 -0
  215. casadi/include/casadi/core/filesystem.hpp +58 -0
  216. casadi/include/casadi/core/fmu.hpp +270 -0
  217. casadi/include/casadi/core/function.hpp +1389 -0
  218. casadi/include/casadi/core/generic_expression.hpp +760 -0
  219. casadi/include/casadi/core/generic_matrix.hpp +1805 -0
  220. casadi/include/casadi/core/generic_shared.hpp +395 -0
  221. casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
  222. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  223. casadi/include/casadi/core/generic_type.hpp +314 -0
  224. casadi/include/casadi/core/global_options.hpp +107 -0
  225. casadi/include/casadi/core/im.hpp +52 -0
  226. casadi/include/casadi/core/im_fwd.hpp +35 -0
  227. casadi/include/casadi/core/importer.hpp +221 -0
  228. casadi/include/casadi/core/integration_tools.hpp +292 -0
  229. casadi/include/casadi/core/integrator.hpp +290 -0
  230. casadi/include/casadi/core/interpolant.hpp +163 -0
  231. casadi/include/casadi/core/linsol.hpp +171 -0
  232. casadi/include/casadi/core/matrix_decl.hpp +1423 -0
  233. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  234. casadi/include/casadi/core/mx.hpp +1014 -0
  235. casadi/include/casadi/core/nlp_builder.hpp +163 -0
  236. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  237. casadi/include/casadi/core/nlpsol.hpp +234 -0
  238. casadi/include/casadi/core/nonzeros.hpp +111 -0
  239. casadi/include/casadi/core/options.hpp +122 -0
  240. casadi/include/casadi/core/optistack.hpp +704 -0
  241. casadi/include/casadi/core/polynomial.hpp +126 -0
  242. casadi/include/casadi/core/printable.hpp +81 -0
  243. casadi/include/casadi/core/resource.hpp +107 -0
  244. casadi/include/casadi/core/rootfinder.hpp +176 -0
  245. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  246. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  247. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  248. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  249. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  250. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  251. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  252. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  253. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  254. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  255. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  256. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  257. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  258. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  259. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  260. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  261. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  262. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  263. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  264. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  265. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  266. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  267. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  268. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  269. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  270. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  271. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  272. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  273. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  274. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  275. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  276. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  277. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  278. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  279. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  280. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  281. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  282. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  283. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  284. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  285. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  286. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  287. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  288. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  289. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  290. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  291. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  292. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  293. casadi/include/casadi/core/runtime/casadi_nlp.hpp +295 -0
  294. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  295. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  296. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  297. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  298. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  299. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  300. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  301. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  302. casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
  303. casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
  304. casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
  305. casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
  306. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  307. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  308. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  309. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  310. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  311. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  312. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  313. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  314. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  315. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  316. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  317. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  318. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  319. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  320. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  321. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  322. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  323. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  324. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  325. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  326. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  327. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  328. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  329. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  330. casadi/include/casadi/core/serializer.hpp +264 -0
  331. casadi/include/casadi/core/serializing_stream.hpp +336 -0
  332. casadi/include/casadi/core/shared_object.hpp +182 -0
  333. casadi/include/casadi/core/slice.hpp +149 -0
  334. casadi/include/casadi/core/sparsity.hpp +1507 -0
  335. casadi/include/casadi/core/sparsity_interface.hpp +763 -0
  336. casadi/include/casadi/core/submatrix.hpp +156 -0
  337. casadi/include/casadi/core/sx.hpp +244 -0
  338. casadi/include/casadi/core/sx_elem.hpp +376 -0
  339. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  340. casadi/include/casadi/core/timing.hpp +98 -0
  341. casadi/include/casadi/core/tools.hpp +67 -0
  342. casadi/include/casadi/core/xml_file.hpp +93 -0
  343. casadi/include/casadi/core/xml_node.hpp +212 -0
  344. casadi/include/casadi/doc.i +62244 -0
  345. casadi/include/casadi/doc_merged.i +38499 -0
  346. casadi/include/casadi/mem.h +311 -0
  347. casadi/include/casadi/valgrind-casadi.supp +649 -0
  348. casadi/include/casadi/valgrind-python.supp +3886 -0
  349. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  350. casadi/include/coin/BonAuxInfos.hpp +110 -0
  351. casadi/include/coin/BonBabInfos.hpp +57 -0
  352. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  353. casadi/include/coin/BonBonminSetup.hpp +95 -0
  354. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  355. casadi/include/coin/BonCbc.hpp +127 -0
  356. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  357. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  358. casadi/include/coin/BonCbcNode.hpp +133 -0
  359. casadi/include/coin/BonChooseVariable.hpp +345 -0
  360. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  361. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  362. casadi/include/coin/BonDiver.hpp +424 -0
  363. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  364. casadi/include/coin/BonDummyPump.hpp +43 -0
  365. casadi/include/coin/BonEcpCuts.hpp +97 -0
  366. casadi/include/coin/BonExitCodes.hpp +12 -0
  367. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  368. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  369. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  370. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  371. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  372. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  373. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  374. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  375. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  376. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  377. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  378. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  379. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  380. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  381. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  382. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  383. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  384. casadi/include/coin/BonMilpRounding.hpp +74 -0
  385. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  386. casadi/include/coin/BonOAMessages.hpp +44 -0
  387. casadi/include/coin/BonOaDecBase.hpp +297 -0
  388. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  389. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  390. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  391. casadi/include/coin/BonOuterApprox.hpp +123 -0
  392. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  393. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  394. casadi/include/coin/BonQuadCut.hpp +217 -0
  395. casadi/include/coin/BonQuadRow.hpp +122 -0
  396. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  397. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  398. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  399. casadi/include/coin/BonTMINLP.hpp +420 -0
  400. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  401. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  402. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  403. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  404. casadi/include/coin/BonTMatrix.hpp +167 -0
  405. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  406. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  407. casadi/include/coin/BonTypes.hpp +95 -0
  408. casadi/include/coin/BonminConfig.h +19 -0
  409. casadi/include/coin/CbcBranchActual.hpp +26 -0
  410. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  411. casadi/include/coin/CbcBranchBase.hpp +79 -0
  412. casadi/include/coin/CbcBranchCut.hpp +182 -0
  413. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  414. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  415. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  416. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  417. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  418. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  419. casadi/include/coin/CbcClique.hpp +309 -0
  420. casadi/include/coin/CbcCompare.hpp +46 -0
  421. casadi/include/coin/CbcCompareActual.hpp +16 -0
  422. casadi/include/coin/CbcCompareBase.hpp +155 -0
  423. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  424. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  425. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  426. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  427. casadi/include/coin/CbcConfig.h +18 -0
  428. casadi/include/coin/CbcConsequence.hpp +50 -0
  429. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  430. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  431. casadi/include/coin/CbcCutModifier.hpp +59 -0
  432. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  433. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  434. casadi/include/coin/CbcEventHandler.hpp +250 -0
  435. casadi/include/coin/CbcFathom.hpp +136 -0
  436. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  437. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  438. casadi/include/coin/CbcFixVariable.hpp +68 -0
  439. casadi/include/coin/CbcFollowOn.hpp +207 -0
  440. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  441. casadi/include/coin/CbcGeneral.hpp +60 -0
  442. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  443. casadi/include/coin/CbcHeuristic.hpp +735 -0
  444. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  445. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  446. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  447. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  448. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  449. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  450. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  451. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  452. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  453. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  454. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  455. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  456. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  457. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  458. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  459. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  460. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  461. casadi/include/coin/CbcLinked.hpp +1443 -0
  462. casadi/include/coin/CbcMessage.hpp +94 -0
  463. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  464. casadi/include/coin/CbcModel.hpp +3296 -0
  465. casadi/include/coin/CbcNWay.hpp +171 -0
  466. casadi/include/coin/CbcNode.hpp +380 -0
  467. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  468. casadi/include/coin/CbcObject.hpp +288 -0
  469. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  470. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  471. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  472. casadi/include/coin/CbcParam.hpp +338 -0
  473. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  474. casadi/include/coin/CbcSOS.hpp +290 -0
  475. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  476. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  477. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  478. casadi/include/coin/CbcSolver.hpp +460 -0
  479. casadi/include/coin/CbcStrategy.hpp +269 -0
  480. casadi/include/coin/CbcSubProblem.hpp +84 -0
  481. casadi/include/coin/CbcTree.hpp +493 -0
  482. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  483. casadi/include/coin/Cbc_C_Interface.h +904 -0
  484. casadi/include/coin/Cgl012cut.hpp +464 -0
  485. casadi/include/coin/CglAllDifferent.hpp +115 -0
  486. casadi/include/coin/CglClique.hpp +312 -0
  487. casadi/include/coin/CglConfig.h +19 -0
  488. casadi/include/coin/CglCutGenerator.hpp +133 -0
  489. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  490. casadi/include/coin/CglFlowCover.hpp +371 -0
  491. casadi/include/coin/CglGMI.hpp +364 -0
  492. casadi/include/coin/CglGMIParam.hpp +313 -0
  493. casadi/include/coin/CglGomory.hpp +204 -0
  494. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  495. casadi/include/coin/CglLandP.hpp +306 -0
  496. casadi/include/coin/CglLandPValidator.hpp +130 -0
  497. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  498. casadi/include/coin/CglMessage.hpp +49 -0
  499. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  500. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  501. casadi/include/coin/CglOddHole.hpp +160 -0
  502. casadi/include/coin/CglParam.hpp +93 -0
  503. casadi/include/coin/CglPreProcess.hpp +600 -0
  504. casadi/include/coin/CglProbing.hpp +543 -0
  505. casadi/include/coin/CglRedSplit.hpp +448 -0
  506. casadi/include/coin/CglRedSplit2.hpp +494 -0
  507. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  508. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  509. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  510. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  511. casadi/include/coin/CglStored.hpp +140 -0
  512. casadi/include/coin/CglTreeInfo.hpp +216 -0
  513. casadi/include/coin/CglTwomir.hpp +562 -0
  514. casadi/include/coin/CglZeroHalf.hpp +133 -0
  515. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  516. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  517. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  518. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  519. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  520. casadi/include/coin/ClpConfig.h +17 -0
  521. casadi/include/coin/ClpConstraint.hpp +129 -0
  522. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  523. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  524. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  525. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  526. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  527. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  528. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  529. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  530. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  531. casadi/include/coin/ClpEventHandler.hpp +193 -0
  532. casadi/include/coin/ClpFactorization.hpp +556 -0
  533. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  534. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  535. casadi/include/coin/ClpInterior.hpp +622 -0
  536. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  537. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  538. casadi/include/coin/ClpMessage.hpp +131 -0
  539. casadi/include/coin/ClpModel.hpp +1442 -0
  540. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  541. casadi/include/coin/ClpNode.hpp +364 -0
  542. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  543. casadi/include/coin/ClpObjective.hpp +142 -0
  544. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  545. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  546. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  547. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  548. casadi/include/coin/ClpPESimplex.hpp +231 -0
  549. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  550. casadi/include/coin/ClpParameters.hpp +132 -0
  551. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  552. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  553. casadi/include/coin/ClpPresolve.hpp +379 -0
  554. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  555. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  556. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  557. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  558. casadi/include/coin/ClpSimplex.hpp +2137 -0
  559. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  560. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  561. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  562. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  563. casadi/include/coin/ClpSolve.hpp +505 -0
  564. casadi/include/coin/Clp_C_Interface.h +554 -0
  565. casadi/include/coin/CoinAlloc.hpp +179 -0
  566. casadi/include/coin/CoinBuild.hpp +159 -0
  567. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  568. casadi/include/coin/CoinDenseVector.hpp +401 -0
  569. casadi/include/coin/CoinDistance.hpp +51 -0
  570. casadi/include/coin/CoinError.hpp +274 -0
  571. casadi/include/coin/CoinFactorization.hpp +2178 -0
  572. casadi/include/coin/CoinFileIO.hpp +185 -0
  573. casadi/include/coin/CoinFinite.hpp +37 -0
  574. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  575. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  576. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  577. casadi/include/coin/CoinLpIO.hpp +836 -0
  578. casadi/include/coin/CoinMessage.hpp +95 -0
  579. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  580. casadi/include/coin/CoinModel.hpp +1214 -0
  581. casadi/include/coin/CoinModelUseful.hpp +518 -0
  582. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  583. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  584. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  585. casadi/include/coin/CoinPackedVector.hpp +670 -0
  586. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  587. casadi/include/coin/CoinParam.hpp +644 -0
  588. casadi/include/coin/CoinPragma.hpp +29 -0
  589. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  590. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  591. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  592. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  593. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  594. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  595. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  596. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  597. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  598. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  599. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  600. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  601. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  602. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  603. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  604. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  605. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  606. casadi/include/coin/CoinRational.hpp +43 -0
  607. casadi/include/coin/CoinSearchTree.hpp +523 -0
  608. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  609. casadi/include/coin/CoinSignal.hpp +127 -0
  610. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  611. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  612. casadi/include/coin/CoinSnapshot.hpp +572 -0
  613. casadi/include/coin/CoinSort.hpp +753 -0
  614. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  615. casadi/include/coin/CoinTime.hpp +350 -0
  616. casadi/include/coin/CoinTypes.hpp +67 -0
  617. casadi/include/coin/CoinUtility.hpp +26 -0
  618. casadi/include/coin/CoinUtilsConfig.h +34 -0
  619. casadi/include/coin/CoinWarmStart.hpp +56 -0
  620. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  621. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  622. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  623. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  624. casadi/include/coin/Coin_C_defines.h +149 -0
  625. casadi/include/coin/Idiot.hpp +327 -0
  626. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  627. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  628. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  629. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  630. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  631. casadi/include/coin/OsiColCut.hpp +322 -0
  632. casadi/include/coin/OsiCollections.hpp +34 -0
  633. casadi/include/coin/OsiConfig.h +19 -0
  634. casadi/include/coin/OsiCut.hpp +251 -0
  635. casadi/include/coin/OsiCuts.hpp +505 -0
  636. casadi/include/coin/OsiPresolve.hpp +272 -0
  637. casadi/include/coin/OsiRowCut.hpp +345 -0
  638. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  639. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  640. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  641. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  642. casadi/include/coin/OsiUnitTests.hpp +390 -0
  643. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  644. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  645. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  646. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  647. casadi/include/coin-or/IpBlas.hpp +426 -0
  648. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  649. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  650. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  651. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  652. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  653. casadi/include/coin-or/IpDebug.hpp +167 -0
  654. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  655. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  656. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  657. casadi/include/coin-or/IpException.hpp +156 -0
  658. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  659. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  660. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  661. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  662. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  663. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  664. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  665. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  666. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  667. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  668. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  669. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  670. casadi/include/coin-or/IpJournalist.hpp +573 -0
  671. casadi/include/coin-or/IpLapack.hpp +227 -0
  672. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  673. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  674. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  675. casadi/include/coin-or/IpMatrix.hpp +434 -0
  676. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  677. casadi/include/coin-or/IpNLP.hpp +306 -0
  678. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  679. casadi/include/coin-or/IpObserver.hpp +422 -0
  680. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  681. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  682. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  683. casadi/include/coin-or/IpReferenced.hpp +262 -0
  684. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  685. casadi/include/coin-or/IpReturnCodes.h +23 -0
  686. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  687. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  688. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  689. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  690. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  691. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  692. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  693. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  694. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  695. casadi/include/coin-or/IpStdCInterface.h +428 -0
  696. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  697. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  698. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  699. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  700. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  701. casadi/include/coin-or/IpTNLP.hpp +820 -0
  702. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  703. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  704. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  705. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  706. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  707. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  708. casadi/include/coin-or/IpTypes.h +81 -0
  709. casadi/include/coin-or/IpTypes.hpp +30 -0
  710. casadi/include/coin-or/IpUtils.hpp +166 -0
  711. casadi/include/coin-or/IpVector.hpp +892 -0
  712. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  713. casadi/include/coin-or/IpoptConfig.h +45 -0
  714. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  715. casadi/include/coin-or/SensApplication.hpp +188 -0
  716. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  717. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  718. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  719. casadi/include/coin-or/SensRegOp.hpp +21 -0
  720. casadi/include/coin-or/SensSchurData.hpp +182 -0
  721. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  722. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  723. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  724. casadi/include/coin-or/SensUtils.hpp +63 -0
  725. casadi/include/coin-or/metis/defs.h +161 -0
  726. casadi/include/coin-or/metis/macros.h +143 -0
  727. casadi/include/coin-or/metis/metis.h +37 -0
  728. casadi/include/coin-or/metis/proto.h +505 -0
  729. casadi/include/coin-or/metis/rename.h +418 -0
  730. casadi/include/coin-or/metis/struct.h +251 -0
  731. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  732. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  733. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  734. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  735. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  736. casadi/include/d_blas.h +78 -0
  737. casadi/include/d_blas_64.h +73 -0
  738. casadi/include/daqp/api.h +46 -0
  739. casadi/include/daqp/auxiliary.h +29 -0
  740. casadi/include/daqp/bnb.h +32 -0
  741. casadi/include/daqp/codegen.h +18 -0
  742. casadi/include/daqp/constants.h +92 -0
  743. casadi/include/daqp/daqp.h +22 -0
  744. casadi/include/daqp/daqp_prox.h +18 -0
  745. casadi/include/daqp/factorization.h +18 -0
  746. casadi/include/daqp/types.h +161 -0
  747. casadi/include/daqp/utils.h +44 -0
  748. casadi/include/dlfcn.h +94 -0
  749. casadi/include/eigen3/Eigen/Cholesky +45 -0
  750. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  751. casadi/include/eigen3/Eigen/Core +384 -0
  752. casadi/include/eigen3/Eigen/Dense +7 -0
  753. casadi/include/eigen3/Eigen/Eigen +2 -0
  754. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  755. casadi/include/eigen3/Eigen/Geometry +59 -0
  756. casadi/include/eigen3/Eigen/Householder +29 -0
  757. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  758. casadi/include/eigen3/Eigen/Jacobi +32 -0
  759. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  760. casadi/include/eigen3/Eigen/LU +47 -0
  761. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  762. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  763. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  764. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  765. casadi/include/eigen3/Eigen/QR +50 -0
  766. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  767. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  768. casadi/include/eigen3/Eigen/SVD +50 -0
  769. casadi/include/eigen3/Eigen/Sparse +34 -0
  770. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  771. casadi/include/eigen3/Eigen/SparseCore +69 -0
  772. casadi/include/eigen3/Eigen/SparseLU +50 -0
  773. casadi/include/eigen3/Eigen/SparseQR +36 -0
  774. casadi/include/eigen3/Eigen/StdDeque +27 -0
  775. casadi/include/eigen3/Eigen/StdList +26 -0
  776. casadi/include/eigen3/Eigen/StdVector +27 -0
  777. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  778. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  779. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  780. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  781. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  782. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  783. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  784. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  785. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  786. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  787. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  788. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  789. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  790. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  791. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  792. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  793. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  794. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  795. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  796. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  797. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  798. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  799. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  800. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  801. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  802. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  803. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  804. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  805. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  806. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  807. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  808. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  809. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  810. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  811. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  812. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  813. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  814. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  815. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  816. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  817. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  818. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  819. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  820. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  821. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  822. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  823. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  824. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  825. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  826. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  827. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  828. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  829. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  830. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  831. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  832. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  833. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  834. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  835. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  836. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  837. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  838. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  839. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  840. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  841. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  842. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  843. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  844. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  845. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  846. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  847. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  848. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  849. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  850. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  851. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  852. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  853. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  854. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  855. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  856. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  857. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  858. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  859. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  860. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  861. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  862. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  863. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  864. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  865. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  866. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  867. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  868. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  869. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  870. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  871. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  872. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  873. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  874. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  875. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  876. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  877. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  878. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  879. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  880. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  881. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  882. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  883. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  884. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  885. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  886. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  887. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  888. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  889. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  890. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  891. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  892. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  893. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  894. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  895. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  896. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  897. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  898. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  899. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  900. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  901. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  902. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  903. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  904. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  905. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  906. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  907. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  908. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  909. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  910. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  911. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  912. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  913. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  914. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  915. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  916. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  917. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  918. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  919. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  920. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  921. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  922. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  923. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  924. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  925. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  926. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  927. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  928. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  929. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  930. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  931. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  932. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  933. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  934. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  935. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  936. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  937. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  938. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  939. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  940. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  941. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  942. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  943. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  944. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  945. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  946. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  947. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  948. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  949. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  950. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  951. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  952. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  953. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  954. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  955. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  956. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  957. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  958. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  959. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  960. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  961. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  962. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  963. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  964. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  965. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  966. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  967. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  968. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  969. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  970. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  971. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  972. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  973. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  974. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  975. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  976. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  977. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  978. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  979. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  980. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  981. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  982. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  983. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  984. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  985. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  986. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  987. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  988. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  989. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  990. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  991. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  992. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  993. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  994. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  995. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  996. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  997. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  998. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  999. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  1000. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  1001. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  1002. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  1003. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  1004. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  1005. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  1006. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  1007. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  1008. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  1009. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  1010. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  1011. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  1012. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  1013. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  1014. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  1015. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  1016. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  1017. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  1018. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  1019. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  1020. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  1021. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  1022. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  1023. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  1024. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  1025. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  1026. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  1027. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  1028. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  1029. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  1030. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  1031. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  1032. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  1033. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  1034. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  1035. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  1036. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  1037. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  1038. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  1039. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  1040. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  1041. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  1042. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  1043. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  1044. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  1045. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  1046. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  1047. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  1048. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  1049. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  1050. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  1051. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  1052. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  1053. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  1054. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  1055. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  1056. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  1057. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  1058. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  1059. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  1060. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  1061. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  1062. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  1063. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  1064. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  1065. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  1066. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  1067. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  1068. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  1069. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  1070. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  1071. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  1072. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  1073. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  1074. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  1075. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  1076. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  1077. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  1078. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  1079. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  1080. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  1081. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  1082. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  1083. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  1084. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  1085. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  1086. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  1087. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  1088. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  1089. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  1090. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  1091. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  1092. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  1093. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  1094. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  1095. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  1096. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  1097. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  1098. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  1099. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  1100. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  1101. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  1102. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  1103. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  1104. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  1105. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  1106. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  1107. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  1108. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  1109. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  1110. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  1111. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  1112. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  1113. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  1114. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  1115. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  1116. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  1117. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  1118. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  1119. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  1120. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  1121. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  1122. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  1123. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  1124. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  1125. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  1126. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  1127. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  1128. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  1129. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  1130. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  1131. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  1132. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  1133. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  1134. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  1135. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  1136. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  1137. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  1138. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  1139. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  1140. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  1141. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  1142. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  1143. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  1144. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  1145. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  1146. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  1147. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  1148. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  1149. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  1150. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  1151. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  1152. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  1153. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  1154. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  1155. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  1156. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  1157. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  1158. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  1159. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  1160. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  1161. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  1162. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  1163. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  1164. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  1165. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  1166. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  1167. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  1168. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  1169. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  1170. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  1171. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  1172. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  1173. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  1174. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  1175. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  1176. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  1177. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  1178. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  1179. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  1180. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  1181. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  1182. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  1183. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  1184. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  1185. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  1186. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  1187. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  1188. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  1189. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  1190. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  1191. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  1192. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  1193. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  1194. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  1195. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  1196. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  1197. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  1198. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  1199. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  1200. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  1201. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  1202. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  1203. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  1204. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  1205. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  1206. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  1207. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  1208. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  1209. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  1210. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  1211. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  1212. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  1213. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  1214. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  1215. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  1216. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  1217. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  1218. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  1219. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  1220. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  1221. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  1222. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  1223. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  1224. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  1225. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  1226. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  1227. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  1228. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  1229. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  1230. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  1231. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  1232. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  1233. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  1234. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  1235. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  1236. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  1237. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  1238. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  1239. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  1240. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  1241. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  1242. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  1243. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  1244. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  1245. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  1246. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  1247. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  1248. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  1249. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  1250. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  1251. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  1252. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  1253. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  1254. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  1255. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  1256. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  1257. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  1258. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  1259. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  1260. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  1261. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  1262. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  1263. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  1264. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  1265. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  1266. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  1267. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  1268. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  1269. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  1270. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  1271. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  1272. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  1273. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  1274. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  1275. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  1276. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  1277. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  1278. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  1279. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  1280. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  1281. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  1282. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  1283. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  1284. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  1285. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +496 -0
  1286. casadi/include/fatrop/fatrop.hpp +39 -0
  1287. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  1288. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  1289. casadi/include/fatrop/json/json.h +946 -0
  1290. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  1291. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  1292. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  1293. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  1294. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  1295. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  1296. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  1297. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  1298. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  1299. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  1300. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  1301. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  1302. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  1303. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  1304. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  1305. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  1306. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  1307. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  1308. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  1309. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  1310. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  1311. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  1312. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  1313. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  1314. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  1315. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  1316. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  1317. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  1318. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  1319. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  1320. casadi/include/fatrop/solver/Filter.hpp +54 -0
  1321. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  1322. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  1323. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  1324. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  1325. casadi/include/ghc/filesystem.hpp +6083 -0
  1326. casadi/include/ghc/fs_fwd.hpp +38 -0
  1327. casadi/include/ghc/fs_impl.hpp +35 -0
  1328. casadi/include/ghc/fs_std.hpp +60 -0
  1329. casadi/include/ghc/fs_std_fwd.hpp +63 -0
  1330. casadi/include/ghc/fs_std_impl.hpp +46 -0
  1331. casadi/include/highs/HConfig.h +23 -0
  1332. casadi/include/highs/Highs.h +1703 -0
  1333. casadi/include/highs/filereaderlp/builder.hpp +25 -0
  1334. casadi/include/highs/filereaderlp/def.hpp +19 -0
  1335. casadi/include/highs/filereaderlp/model.hpp +68 -0
  1336. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  1337. casadi/include/highs/interfaces/highs_c_api.h +2456 -0
  1338. casadi/include/highs/io/Filereader.h +45 -0
  1339. casadi/include/highs/io/FilereaderEms.h +30 -0
  1340. casadi/include/highs/io/FilereaderLp.h +51 -0
  1341. casadi/include/highs/io/FilereaderMps.h +27 -0
  1342. casadi/include/highs/io/HMPSIO.h +78 -0
  1343. casadi/include/highs/io/HMpsFF.h +238 -0
  1344. casadi/include/highs/io/HighsIO.h +114 -0
  1345. casadi/include/highs/io/LoadOptions.h +24 -0
  1346. casadi/include/highs/ipm/IpxSolution.h +32 -0
  1347. casadi/include/highs/ipm/IpxWrapper.h +70 -0
  1348. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  1349. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  1350. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  1351. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  1352. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  1353. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  1354. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  1355. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  1356. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  1357. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  1358. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  1359. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  1360. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  1361. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  1362. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  1363. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  1364. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  1365. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  1366. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  1367. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  1368. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  1369. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  1370. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  1371. casadi/include/highs/ipm/ipx/basis.h +351 -0
  1372. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  1373. casadi/include/highs/ipm/ipx/control.h +164 -0
  1374. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  1375. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  1376. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  1377. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  1378. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  1379. casadi/include/highs/ipm/ipx/info.h +27 -0
  1380. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  1381. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  1382. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  1383. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  1384. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  1385. casadi/include/highs/ipm/ipx/ipx_parameters.h +76 -0
  1386. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  1387. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  1388. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  1389. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  1390. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  1391. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  1392. casadi/include/highs/ipm/ipx/lp_solver.h +202 -0
  1393. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  1394. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  1395. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  1396. casadi/include/highs/ipm/ipx/model.h +413 -0
  1397. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  1398. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  1399. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  1400. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  1401. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  1402. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  1403. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  1404. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  1405. casadi/include/highs/ipm/ipx/timer.h +24 -0
  1406. casadi/include/highs/ipm/ipx/utils.h +39 -0
  1407. casadi/include/highs/lp_data/HConst.h +320 -0
  1408. casadi/include/highs/lp_data/HStruct.h +182 -0
  1409. casadi/include/highs/lp_data/HighsAnalysis.h +23 -0
  1410. casadi/include/highs/lp_data/HighsCallback.h +47 -0
  1411. casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
  1412. casadi/include/highs/lp_data/HighsDebug.h +34 -0
  1413. casadi/include/highs/lp_data/HighsIis.h +62 -0
  1414. casadi/include/highs/lp_data/HighsInfo.h +329 -0
  1415. casadi/include/highs/lp_data/HighsInfoDebug.h +27 -0
  1416. casadi/include/highs/lp_data/HighsLp.h +100 -0
  1417. casadi/include/highs/lp_data/HighsLpSolverObject.h +45 -0
  1418. casadi/include/highs/lp_data/HighsLpUtils.h +298 -0
  1419. casadi/include/highs/lp_data/HighsModelUtils.h +112 -0
  1420. casadi/include/highs/lp_data/HighsOptions.h +1469 -0
  1421. casadi/include/highs/lp_data/HighsRanging.h +43 -0
  1422. casadi/include/highs/lp_data/HighsSolution.h +144 -0
  1423. casadi/include/highs/lp_data/HighsSolutionDebug.h +87 -0
  1424. casadi/include/highs/lp_data/HighsSolve.h +23 -0
  1425. casadi/include/highs/lp_data/HighsStatus.h +29 -0
  1426. casadi/include/highs/mip/HighsCliqueTable.h +318 -0
  1427. casadi/include/highs/mip/HighsConflictPool.h +109 -0
  1428. casadi/include/highs/mip/HighsCutGeneration.h +106 -0
  1429. casadi/include/highs/mip/HighsCutPool.h +168 -0
  1430. casadi/include/highs/mip/HighsDebugSol.h +132 -0
  1431. casadi/include/highs/mip/HighsDomain.h +653 -0
  1432. casadi/include/highs/mip/HighsDomainChange.h +48 -0
  1433. casadi/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
  1434. casadi/include/highs/mip/HighsGFkSolve.h +438 -0
  1435. casadi/include/highs/mip/HighsImplications.h +170 -0
  1436. casadi/include/highs/mip/HighsLpAggregator.h +50 -0
  1437. casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
  1438. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  1439. casadi/include/highs/mip/HighsMipSolver.h +112 -0
  1440. casadi/include/highs/mip/HighsMipSolverData.h +297 -0
  1441. casadi/include/highs/mip/HighsModkSeparator.h +60 -0
  1442. casadi/include/highs/mip/HighsNodeQueue.h +311 -0
  1443. casadi/include/highs/mip/HighsObjectiveFunction.h +71 -0
  1444. casadi/include/highs/mip/HighsPathSeparator.h +39 -0
  1445. casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
  1446. casadi/include/highs/mip/HighsPseudocost.h +360 -0
  1447. casadi/include/highs/mip/HighsRedcostFixing.h +42 -0
  1448. casadi/include/highs/mip/HighsSearch.h +241 -0
  1449. casadi/include/highs/mip/HighsSeparation.h +41 -0
  1450. casadi/include/highs/mip/HighsSeparator.h +52 -0
  1451. casadi/include/highs/mip/HighsTableauSeparator.h +34 -0
  1452. casadi/include/highs/mip/HighsTransformedLp.h +63 -0
  1453. casadi/include/highs/mip/MipTimer.h +471 -0
  1454. casadi/include/highs/model/HighsHessian.h +54 -0
  1455. casadi/include/highs/model/HighsHessianUtils.h +49 -0
  1456. casadi/include/highs/model/HighsModel.h +52 -0
  1457. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  1458. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  1459. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  1460. casadi/include/highs/parallel/HighsMutex.h +129 -0
  1461. casadi/include/highs/parallel/HighsParallel.h +133 -0
  1462. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  1463. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  1464. casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
  1465. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  1466. casadi/include/highs/parallel/HighsTask.h +175 -0
  1467. casadi/include/highs/parallel/HighsTaskExecutor.h +222 -0
  1468. casadi/include/highs/pdlp/CupdlpWrapper.h +104 -0
  1469. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
  1470. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +433 -0
  1471. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
  1472. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  1473. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  1474. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  1475. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  1476. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
  1477. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1807 -0
  1478. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  1479. casadi/include/highs/presolve/HPresolve.h +405 -0
  1480. casadi/include/highs/presolve/HPresolveAnalysis.h +51 -0
  1481. casadi/include/highs/presolve/HighsPostsolveStack.h +940 -0
  1482. casadi/include/highs/presolve/HighsSymmetry.h +281 -0
  1483. casadi/include/highs/presolve/ICrash.h +124 -0
  1484. casadi/include/highs/presolve/ICrashUtil.h +62 -0
  1485. casadi/include/highs/presolve/ICrashX.h +23 -0
  1486. casadi/include/highs/presolve/PresolveComponent.h +90 -0
  1487. casadi/include/highs/qpsolver/a_asm.hpp +70 -0
  1488. casadi/include/highs/qpsolver/a_quass.hpp +15 -0
  1489. casadi/include/highs/qpsolver/basis.hpp +152 -0
  1490. casadi/include/highs/qpsolver/crashsolution.hpp +13 -0
  1491. casadi/include/highs/qpsolver/dantzigpricing.hpp +73 -0
  1492. casadi/include/highs/qpsolver/devexpricing.hpp +101 -0
  1493. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  1494. casadi/include/highs/qpsolver/factor.hpp +401 -0
  1495. casadi/include/highs/qpsolver/feasibility_bounded.hpp +107 -0
  1496. casadi/include/highs/qpsolver/feasibility_highs.hpp +294 -0
  1497. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  1498. casadi/include/highs/qpsolver/instance.hpp +63 -0
  1499. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  1500. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  1501. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  1502. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  1503. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  1504. casadi/include/highs/qpsolver/quass.hpp +20 -0
  1505. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  1506. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  1507. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  1508. casadi/include/highs/qpsolver/settings.hpp +69 -0
  1509. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  1510. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  1511. casadi/include/highs/qpsolver/steepestedgepricing.hpp +166 -0
  1512. casadi/include/highs/simplex/HApp.h +476 -0
  1513. casadi/include/highs/simplex/HEkk.h +416 -0
  1514. casadi/include/highs/simplex/HEkkDual.h +513 -0
  1515. casadi/include/highs/simplex/HEkkDualRHS.h +134 -0
  1516. casadi/include/highs/simplex/HEkkDualRow.h +201 -0
  1517. casadi/include/highs/simplex/HEkkPrimal.h +191 -0
  1518. casadi/include/highs/simplex/HSimplex.h +42 -0
  1519. casadi/include/highs/simplex/HSimplexDebug.h +48 -0
  1520. casadi/include/highs/simplex/HSimplexNla.h +158 -0
  1521. casadi/include/highs/simplex/HSimplexReport.h +21 -0
  1522. casadi/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
  1523. casadi/include/highs/simplex/SimplexConst.h +273 -0
  1524. casadi/include/highs/simplex/SimplexStruct.h +261 -0
  1525. casadi/include/highs/simplex/SimplexTimer.h +409 -0
  1526. casadi/include/highs/test/DevKkt.h +143 -0
  1527. casadi/include/highs/test/KktCh2.h +79 -0
  1528. casadi/include/highs/util/FactorTimer.h +199 -0
  1529. casadi/include/highs/util/HFactor.h +587 -0
  1530. casadi/include/highs/util/HFactorConst.h +81 -0
  1531. casadi/include/highs/util/HFactorDebug.h +55 -0
  1532. casadi/include/highs/util/HSet.h +89 -0
  1533. casadi/include/highs/util/HVector.h +22 -0
  1534. casadi/include/highs/util/HVectorBase.h +102 -0
  1535. casadi/include/highs/util/HighsCDouble.h +319 -0
  1536. casadi/include/highs/util/HighsComponent.h +53 -0
  1537. casadi/include/highs/util/HighsDataStack.h +83 -0
  1538. casadi/include/highs/util/HighsDisjointSets.h +107 -0
  1539. casadi/include/highs/util/HighsHash.h +1274 -0
  1540. casadi/include/highs/util/HighsHashTree.h +1447 -0
  1541. casadi/include/highs/util/HighsInt.h +36 -0
  1542. casadi/include/highs/util/HighsIntegers.h +212 -0
  1543. casadi/include/highs/util/HighsLinearSumBounds.h +157 -0
  1544. casadi/include/highs/util/HighsMatrixPic.h +37 -0
  1545. casadi/include/highs/util/HighsMatrixSlice.h +561 -0
  1546. casadi/include/highs/util/HighsMatrixUtils.h +54 -0
  1547. casadi/include/highs/util/HighsMemoryAllocation.h +63 -0
  1548. casadi/include/highs/util/HighsRandom.h +242 -0
  1549. casadi/include/highs/util/HighsRbTree.h +452 -0
  1550. casadi/include/highs/util/HighsSort.h +131 -0
  1551. casadi/include/highs/util/HighsSparseMatrix.h +150 -0
  1552. casadi/include/highs/util/HighsSparseVectorSum.h +95 -0
  1553. casadi/include/highs/util/HighsSplay.h +135 -0
  1554. casadi/include/highs/util/HighsTimer.h +381 -0
  1555. casadi/include/highs/util/HighsUtils.h +217 -0
  1556. casadi/include/highs/util/stringutil.h +46 -0
  1557. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  1558. casadi/include/highs/zstr/zstr.hpp +472 -0
  1559. casadi/include/highs_export.h +42 -0
  1560. casadi/include/hpipm_aux_mem.h +52 -0
  1561. casadi/include/hpipm_aux_string.h +50 -0
  1562. casadi/include/hpipm_common.h +76 -0
  1563. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  1564. casadi/include/hpipm_d_cond.h +135 -0
  1565. casadi/include/hpipm_d_cond_aux.h +92 -0
  1566. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  1567. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  1568. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  1569. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  1570. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  1571. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  1572. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  1573. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  1574. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  1575. casadi/include/hpipm_d_dense_qp.h +207 -0
  1576. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  1577. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  1578. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  1579. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  1580. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  1581. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  1582. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  1583. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  1584. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  1585. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  1586. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  1587. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  1588. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  1589. casadi/include/hpipm_d_ocp_qp.h +306 -0
  1590. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  1591. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  1592. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  1593. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  1594. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  1595. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  1596. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  1597. casadi/include/hpipm_d_part_cond.h +115 -0
  1598. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  1599. casadi/include/hpipm_d_sim_erk.h +122 -0
  1600. casadi/include/hpipm_d_sim_rk.h +71 -0
  1601. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  1602. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  1603. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  1604. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  1605. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  1606. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  1607. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  1608. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  1609. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  1610. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  1611. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  1612. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  1613. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  1614. casadi/include/hpipm_m_dense_qp.h +68 -0
  1615. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  1616. casadi/include/hpipm_m_ocp_qp.h +49 -0
  1617. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  1618. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  1619. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  1620. casadi/include/hpipm_s_cond.h +137 -0
  1621. casadi/include/hpipm_s_cond_aux.h +92 -0
  1622. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  1623. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  1624. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  1625. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  1626. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  1627. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  1628. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  1629. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  1630. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  1631. casadi/include/hpipm_s_dense_qp.h +207 -0
  1632. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  1633. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  1634. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  1635. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  1636. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  1637. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  1638. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  1639. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  1640. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  1641. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  1642. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  1643. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  1644. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  1645. casadi/include/hpipm_s_ocp_qp.h +306 -0
  1646. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  1647. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  1648. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  1649. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  1650. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  1651. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  1652. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  1653. casadi/include/hpipm_s_part_cond.h +115 -0
  1654. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  1655. casadi/include/hpipm_s_sim_erk.h +121 -0
  1656. casadi/include/hpipm_s_sim_rk.h +72 -0
  1657. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  1658. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  1659. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  1660. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  1661. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  1662. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  1663. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  1664. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  1665. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  1666. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  1667. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  1668. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  1669. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  1670. casadi/include/hpipm_scenario_tree.h +70 -0
  1671. casadi/include/hpipm_timing.h +67 -0
  1672. casadi/include/hpipm_tree.h +76 -0
  1673. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  1674. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  1675. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1676. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  1677. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  1678. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  1679. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  1680. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  1681. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  1682. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  1683. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  1684. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  1685. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  1686. casadi/include/licenses/cbc-external/LICENSE +245 -0
  1687. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  1688. casadi/include/licenses/cgl-external/LICENSE +245 -0
  1689. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  1690. casadi/include/licenses/clp-external/LICENSE +245 -0
  1691. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  1692. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  1693. casadi/include/licenses/daqp-external/LICENSE +21 -0
  1694. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  1695. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  1696. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  1697. casadi/include/licenses/ghc-external/LICENSE +19 -0
  1698. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  1699. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  1700. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  1701. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1702. casadi/include/licenses/libz-external/LICENSE +22 -0
  1703. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  1704. casadi/include/licenses/libzip-external/LICENSE +31 -0
  1705. casadi/include/licenses/metis-external/LICENSE +87 -0
  1706. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1707. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1708. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1709. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1710. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1711. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1712. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1713. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1714. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1715. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1716. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1717. casadi/include/licenses/osi-external/LICENSE +245 -0
  1718. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1719. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1720. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1721. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1722. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1723. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1724. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1725. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1726. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1727. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1728. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1729. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1730. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1731. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1732. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1733. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1734. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1735. casadi/include/openblas/cblas.h +411 -0
  1736. casadi/include/openblas/f77blas.h +796 -0
  1737. casadi/include/openblas/lapack.h +22997 -0
  1738. casadi/include/openblas/lapacke.h +12665 -0
  1739. casadi/include/openblas/lapacke_config.h +119 -0
  1740. casadi/include/openblas/lapacke_example_aux.h +9 -0
  1741. casadi/include/openblas/lapacke_mangling.h +17 -0
  1742. casadi/include/openblas/lapacke_utils.h +582 -0
  1743. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  1744. casadi/include/openblas/openblas_config.h +140 -0
  1745. casadi/include/osqp/auxil.h +181 -0
  1746. casadi/include/osqp/constants.h +128 -0
  1747. casadi/include/osqp/cs.h +180 -0
  1748. casadi/include/osqp/ctrlc.h +56 -0
  1749. casadi/include/osqp/error.h +38 -0
  1750. casadi/include/osqp/glob_opts.h +167 -0
  1751. casadi/include/osqp/lin_alg.h +216 -0
  1752. casadi/include/osqp/lin_sys.h +54 -0
  1753. casadi/include/osqp/osqp.h +430 -0
  1754. casadi/include/osqp/osqp_configure.h +49 -0
  1755. casadi/include/osqp/polish.h +25 -0
  1756. casadi/include/osqp/proj.h +37 -0
  1757. casadi/include/osqp/scaling.h +44 -0
  1758. casadi/include/osqp/types.h +326 -0
  1759. casadi/include/osqp/util.h +222 -0
  1760. casadi/include/osqp/version.h +9 -0
  1761. casadi/include/proxsuite/config.hpp +68 -0
  1762. casadi/include/proxsuite/deprecated.hpp +56 -0
  1763. casadi/include/proxsuite/fwd.hpp +52 -0
  1764. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1765. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1766. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1767. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1768. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1769. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1770. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1771. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1772. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1773. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1774. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1775. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1776. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1777. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1778. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1779. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1780. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1781. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1782. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1783. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1784. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1785. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1786. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1787. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1788. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1789. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1790. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1791. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1792. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1793. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1794. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1795. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1796. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1797. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1798. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1799. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1800. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1801. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1802. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1803. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1804. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1805. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1806. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1807. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1808. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1809. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1810. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1811. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1812. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1813. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1814. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1815. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1816. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1817. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1818. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1819. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1820. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1821. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1822. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1823. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1824. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1825. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1826. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1827. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1828. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1829. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1830. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1831. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1832. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1833. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1834. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1835. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1836. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1837. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1838. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1839. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1840. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1841. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1842. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1843. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1844. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1845. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1846. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1847. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1848. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1849. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1850. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1851. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1852. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1853. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1854. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1855. casadi/include/proxsuite/warning.hpp +35 -0
  1856. casadi/include/qdldl/qdldl.h +169 -0
  1857. casadi/include/qdldl/qdldl_types.h +23 -0
  1858. casadi/include/s_blas.h +78 -0
  1859. casadi/include/s_blas_64.h +73 -0
  1860. casadi/include/simde/arm/neon/aba.h +208 -0
  1861. casadi/include/simde/arm/neon/abd.h +384 -0
  1862. casadi/include/simde/arm/neon/abdl.h +147 -0
  1863. casadi/include/simde/arm/neon/abs.h +408 -0
  1864. casadi/include/simde/arm/neon/add.h +681 -0
  1865. casadi/include/simde/arm/neon/addl.h +127 -0
  1866. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1867. casadi/include/simde/arm/neon/addlv.h +317 -0
  1868. casadi/include/simde/arm/neon/addv.h +447 -0
  1869. casadi/include/simde/arm/neon/addw.h +222 -0
  1870. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1871. casadi/include/simde/arm/neon/and.h +552 -0
  1872. casadi/include/simde/arm/neon/bic.h +472 -0
  1873. casadi/include/simde/arm/neon/bsl.h +448 -0
  1874. casadi/include/simde/arm/neon/cagt.h +168 -0
  1875. casadi/include/simde/arm/neon/ceq.h +711 -0
  1876. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1877. casadi/include/simde/arm/neon/cge.h +677 -0
  1878. casadi/include/simde/arm/neon/cgez.h +378 -0
  1879. casadi/include/simde/arm/neon/cgt.h +686 -0
  1880. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1881. casadi/include/simde/arm/neon/cle.h +677 -0
  1882. casadi/include/simde/arm/neon/clez.h +378 -0
  1883. casadi/include/simde/arm/neon/cls.h +148 -0
  1884. casadi/include/simde/arm/neon/clt.h +679 -0
  1885. casadi/include/simde/arm/neon/cltz.h +263 -0
  1886. casadi/include/simde/arm/neon/clz.h +423 -0
  1887. casadi/include/simde/arm/neon/cnt.h +145 -0
  1888. casadi/include/simde/arm/neon/combine.h +343 -0
  1889. casadi/include/simde/arm/neon/create.h +186 -0
  1890. casadi/include/simde/arm/neon/cvt.h +492 -0
  1891. casadi/include/simde/arm/neon/dot.h +171 -0
  1892. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1893. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1894. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1895. casadi/include/simde/arm/neon/eor.h +552 -0
  1896. casadi/include/simde/arm/neon/ext.h +887 -0
  1897. casadi/include/simde/arm/neon/get_high.h +260 -0
  1898. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1899. casadi/include/simde/arm/neon/get_low.h +276 -0
  1900. casadi/include/simde/arm/neon/hadd.h +287 -0
  1901. casadi/include/simde/arm/neon/hsub.h +287 -0
  1902. casadi/include/simde/arm/neon/ld1.h +399 -0
  1903. casadi/include/simde/arm/neon/ld3.h +609 -0
  1904. casadi/include/simde/arm/neon/ld4.h +448 -0
  1905. casadi/include/simde/arm/neon/max.h +614 -0
  1906. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1907. casadi/include/simde/arm/neon/maxv.h +400 -0
  1908. casadi/include/simde/arm/neon/min.h +660 -0
  1909. casadi/include/simde/arm/neon/minnm.h +215 -0
  1910. casadi/include/simde/arm/neon/minv.h +424 -0
  1911. casadi/include/simde/arm/neon/mla.h +530 -0
  1912. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1913. casadi/include/simde/arm/neon/mlal.h +156 -0
  1914. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1915. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1916. casadi/include/simde/arm/neon/mls.h +264 -0
  1917. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1918. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1919. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1920. casadi/include/simde/arm/neon/movl.h +208 -0
  1921. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1922. casadi/include/simde/arm/neon/movn.h +195 -0
  1923. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1924. casadi/include/simde/arm/neon/mul.h +594 -0
  1925. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1926. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1927. casadi/include/simde/arm/neon/mull.h +236 -0
  1928. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1929. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1930. casadi/include/simde/arm/neon/mvn.h +426 -0
  1931. casadi/include/simde/arm/neon/neg.h +393 -0
  1932. casadi/include/simde/arm/neon/orn.h +505 -0
  1933. casadi/include/simde/arm/neon/orr.h +552 -0
  1934. casadi/include/simde/arm/neon/padal.h +211 -0
  1935. casadi/include/simde/arm/neon/padd.h +293 -0
  1936. casadi/include/simde/arm/neon/paddl.h +239 -0
  1937. casadi/include/simde/arm/neon/pmax.h +253 -0
  1938. casadi/include/simde/arm/neon/pmin.h +260 -0
  1939. casadi/include/simde/arm/neon/qabs.h +281 -0
  1940. casadi/include/simde/arm/neon/qadd.h +553 -0
  1941. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1942. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1943. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1944. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1945. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1946. casadi/include/simde/arm/neon/qneg.h +301 -0
  1947. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1948. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1949. casadi/include/simde/arm/neon/qshl.h +732 -0
  1950. casadi/include/simde/arm/neon/qsub.h +549 -0
  1951. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1952. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1953. casadi/include/simde/arm/neon/rbit.h +165 -0
  1954. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1955. casadi/include/simde/arm/neon/rev16.h +137 -0
  1956. casadi/include/simde/arm/neon/rev32.h +235 -0
  1957. casadi/include/simde/arm/neon/rev64.h +358 -0
  1958. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1959. casadi/include/simde/arm/neon/rnd.h +143 -0
  1960. casadi/include/simde/arm/neon/rndi.h +135 -0
  1961. casadi/include/simde/arm/neon/rndm.h +143 -0
  1962. casadi/include/simde/arm/neon/rndn.h +135 -0
  1963. casadi/include/simde/arm/neon/rndp.h +143 -0
  1964. casadi/include/simde/arm/neon/rshl.h +903 -0
  1965. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1966. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1967. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1968. casadi/include/simde/arm/neon/shl.h +805 -0
  1969. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1970. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1971. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1972. casadi/include/simde/arm/neon/st1.h +353 -0
  1973. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1974. casadi/include/simde/arm/neon/st3.h +426 -0
  1975. casadi/include/simde/arm/neon/st4.h +445 -0
  1976. casadi/include/simde/arm/neon/sub.h +659 -0
  1977. casadi/include/simde/arm/neon/subl.h +127 -0
  1978. casadi/include/simde/arm/neon/subw.h +221 -0
  1979. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1980. casadi/include/simde/arm/neon/tbl.h +224 -0
  1981. casadi/include/simde/arm/neon/tbx.h +247 -0
  1982. casadi/include/simde/arm/neon/trn.h +252 -0
  1983. casadi/include/simde/arm/neon/trn1.h +500 -0
  1984. casadi/include/simde/arm/neon/trn2.h +499 -0
  1985. casadi/include/simde/arm/neon/tst.h +540 -0
  1986. casadi/include/simde/arm/neon/types.h +683 -0
  1987. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1988. casadi/include/simde/arm/neon/uzp.h +252 -0
  1989. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1990. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1991. casadi/include/simde/arm/neon/zip.h +252 -0
  1992. casadi/include/simde/arm/neon/zip1.h +625 -0
  1993. casadi/include/simde/arm/neon/zip2.h +625 -0
  1994. casadi/include/simde/arm/neon.h +166 -0
  1995. casadi/include/simde/check.h +276 -0
  1996. casadi/include/simde/debug-trap.h +85 -0
  1997. casadi/include/simde/hedley.h +1971 -0
  1998. casadi/include/simde/simde-align.h +449 -0
  1999. casadi/include/simde/simde-arch.h +532 -0
  2000. casadi/include/simde/simde-common.h +890 -0
  2001. casadi/include/simde/simde-complex.h +148 -0
  2002. casadi/include/simde/simde-constify.h +397 -0
  2003. casadi/include/simde/simde-detect-clang.h +109 -0
  2004. casadi/include/simde/simde-diagnostic.h +428 -0
  2005. casadi/include/simde/simde-features.h +522 -0
  2006. casadi/include/simde/simde-math.h +1805 -0
  2007. casadi/include/simde/x86/avx.h +6193 -0
  2008. casadi/include/simde/x86/avx2.h +5660 -0
  2009. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  2010. casadi/include/simde/x86/avx512/abs.h +562 -0
  2011. casadi/include/simde/x86/avx512/add.h +641 -0
  2012. casadi/include/simde/x86/avx512/adds.h +390 -0
  2013. casadi/include/simde/x86/avx512/and.h +305 -0
  2014. casadi/include/simde/x86/avx512/andnot.h +193 -0
  2015. casadi/include/simde/x86/avx512/avg.h +258 -0
  2016. casadi/include/simde/x86/avx512/blend.h +293 -0
  2017. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  2018. casadi/include/simde/x86/avx512/cast.h +324 -0
  2019. casadi/include/simde/x86/avx512/cmp.h +587 -0
  2020. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  2021. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  2022. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  2023. casadi/include/simde/x86/avx512/cmple.h +103 -0
  2024. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  2025. casadi/include/simde/x86/avx512/copysign.h +86 -0
  2026. casadi/include/simde/x86/avx512/cvt.h +122 -0
  2027. casadi/include/simde/x86/avx512/cvts.h +723 -0
  2028. casadi/include/simde/x86/avx512/div.h +162 -0
  2029. casadi/include/simde/x86/avx512/extract.h +198 -0
  2030. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  2031. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  2032. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  2033. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  2034. casadi/include/simde/x86/avx512/insert.h +193 -0
  2035. casadi/include/simde/x86/avx512/kshift.h +152 -0
  2036. casadi/include/simde/x86/avx512/load.h +67 -0
  2037. casadi/include/simde/x86/avx512/loadu.h +113 -0
  2038. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  2039. casadi/include/simde/x86/avx512/madd.h +155 -0
  2040. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  2041. casadi/include/simde/x86/avx512/max.h +587 -0
  2042. casadi/include/simde/x86/avx512/min.h +587 -0
  2043. casadi/include/simde/x86/avx512/mov.h +859 -0
  2044. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  2045. casadi/include/simde/x86/avx512/movm.h +460 -0
  2046. casadi/include/simde/x86/avx512/mul.h +279 -0
  2047. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  2048. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  2049. casadi/include/simde/x86/avx512/mullo.h +117 -0
  2050. casadi/include/simde/x86/avx512/negate.h +88 -0
  2051. casadi/include/simde/x86/avx512/or.h +252 -0
  2052. casadi/include/simde/x86/avx512/packs.h +122 -0
  2053. casadi/include/simde/x86/avx512/packus.h +122 -0
  2054. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  2055. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  2056. casadi/include/simde/x86/avx512/sad.h +77 -0
  2057. casadi/include/simde/x86/avx512/set.h +477 -0
  2058. casadi/include/simde/x86/avx512/set1.h +331 -0
  2059. casadi/include/simde/x86/avx512/set4.h +140 -0
  2060. casadi/include/simde/x86/avx512/setone.h +66 -0
  2061. casadi/include/simde/x86/avx512/setr.h +144 -0
  2062. casadi/include/simde/x86/avx512/setr4.h +140 -0
  2063. casadi/include/simde/x86/avx512/setzero.h +90 -0
  2064. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  2065. casadi/include/simde/x86/avx512/sll.h +247 -0
  2066. casadi/include/simde/x86/avx512/slli.h +179 -0
  2067. casadi/include/simde/x86/avx512/sllv.h +68 -0
  2068. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  2069. casadi/include/simde/x86/avx512/sra.h +81 -0
  2070. casadi/include/simde/x86/avx512/srai.h +70 -0
  2071. casadi/include/simde/x86/avx512/srav.h +67 -0
  2072. casadi/include/simde/x86/avx512/srl.h +216 -0
  2073. casadi/include/simde/x86/avx512/srli.h +180 -0
  2074. casadi/include/simde/x86/avx512/srlv.h +282 -0
  2075. casadi/include/simde/x86/avx512/store.h +93 -0
  2076. casadi/include/simde/x86/avx512/storeu.h +93 -0
  2077. casadi/include/simde/x86/avx512/sub.h +351 -0
  2078. casadi/include/simde/x86/avx512/subs.h +222 -0
  2079. casadi/include/simde/x86/avx512/test.h +193 -0
  2080. casadi/include/simde/x86/avx512/types.h +380 -0
  2081. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  2082. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  2083. casadi/include/simde/x86/avx512/xor.h +263 -0
  2084. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  2085. casadi/include/simde/x86/avx512.h +108 -0
  2086. casadi/include/simde/x86/clmul.h +414 -0
  2087. casadi/include/simde/x86/fma.h +724 -0
  2088. casadi/include/simde/x86/gfni.h +802 -0
  2089. casadi/include/simde/x86/mmx.h +2399 -0
  2090. casadi/include/simde/x86/sse.h +4471 -0
  2091. casadi/include/simde/x86/sse2.h +7389 -0
  2092. casadi/include/simde/x86/sse3.h +499 -0
  2093. casadi/include/simde/x86/sse4.1.h +2216 -0
  2094. casadi/include/simde/x86/sse4.2.h +347 -0
  2095. casadi/include/simde/x86/ssse3.h +1032 -0
  2096. casadi/include/simde/x86/svml.h +12139 -0
  2097. casadi/include/simde/x86/xop.h +3644 -0
  2098. casadi/include/sleqp/defs.h +58 -0
  2099. casadi/include/sleqp/export.h +42 -0
  2100. casadi/include/sleqp/pub_cmp.h +18 -0
  2101. casadi/include/sleqp/pub_dyn.h +140 -0
  2102. casadi/include/sleqp/pub_error.h +50 -0
  2103. casadi/include/sleqp/pub_func.h +257 -0
  2104. casadi/include/sleqp/pub_hess_struct.h +105 -0
  2105. casadi/include/sleqp/pub_iterate.h +88 -0
  2106. casadi/include/sleqp/pub_log.h +88 -0
  2107. casadi/include/sleqp/pub_lsq.h +158 -0
  2108. casadi/include/sleqp/pub_mem.h +52 -0
  2109. casadi/include/sleqp/pub_problem.h +213 -0
  2110. casadi/include/sleqp/pub_scale.h +150 -0
  2111. casadi/include/sleqp/pub_settings.h +162 -0
  2112. casadi/include/sleqp/pub_solver.h +155 -0
  2113. casadi/include/sleqp/pub_types.h +230 -0
  2114. casadi/include/sleqp/pub_working_set.h +135 -0
  2115. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  2116. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  2117. casadi/include/sleqp.h +38 -0
  2118. casadi/include/spral.h +13 -0
  2119. casadi/include/spral_lsmr.h +57 -0
  2120. casadi/include/spral_matrix_util.h +40 -0
  2121. casadi/include/spral_random.h +26 -0
  2122. casadi/include/spral_random_matrix.h +27 -0
  2123. casadi/include/spral_rutherford_boeing.h +51 -0
  2124. casadi/include/spral_scaling.h +139 -0
  2125. casadi/include/spral_ssids.h +121 -0
  2126. casadi/include/spral_ssmfe.h +268 -0
  2127. casadi/include/superscs/cones.h +185 -0
  2128. casadi/include/superscs/constants.h +144 -0
  2129. casadi/include/superscs/cs.h +109 -0
  2130. casadi/include/superscs/ctrlc.h +77 -0
  2131. casadi/include/superscs/directions.h +125 -0
  2132. casadi/include/superscs/glbopts.h +240 -0
  2133. casadi/include/superscs/linAlg.h +437 -0
  2134. casadi/include/superscs/linSys.h +205 -0
  2135. casadi/include/superscs/linsys/amatrix.h +77 -0
  2136. casadi/include/superscs/linsys/common.h +49 -0
  2137. casadi/include/superscs/normalize.h +138 -0
  2138. casadi/include/superscs/scs.h +656 -0
  2139. casadi/include/superscs/scs_blas.h +79 -0
  2140. casadi/include/superscs/scs_parser.h +187 -0
  2141. casadi/include/superscs/unit_test_util.h +210 -0
  2142. casadi/include/superscs/util.h +354 -0
  2143. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  2144. casadi/include/trlib/trlib_krylov.h +493 -0
  2145. casadi/include/trlib/trlib_leftmost.h +181 -0
  2146. casadi/include/trlib/trlib_private.h +109 -0
  2147. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  2148. casadi/include/trlib/trlib_tri_factor.h +409 -0
  2149. casadi/include/trlib/trlib_types.h +36 -0
  2150. casadi/include/trlib.h +44 -0
  2151. casadi/include/zconf.h +545 -0
  2152. casadi/include/zip.h +528 -0
  2153. casadi/include/zipconf.h +48 -0
  2154. casadi/include/zlib.h +1938 -0
  2155. casadi/ipopt.lib +0 -0
  2156. casadi/lapack.lib +0 -0
  2157. casadi/libCbc-3.dll +0 -0
  2158. casadi/libCbc.dll.a +0 -0
  2159. casadi/libCbc.la +35 -0
  2160. casadi/libCbcSolver-3.dll +0 -0
  2161. casadi/libCbcSolver.dll.a +0 -0
  2162. casadi/libCbcSolver.la +35 -0
  2163. casadi/libCgl-1.dll +0 -0
  2164. casadi/libCgl.dll.a +0 -0
  2165. casadi/libCgl.la +35 -0
  2166. casadi/libClp-1.dll +0 -0
  2167. casadi/libClp.dll.a +0 -0
  2168. casadi/libClp.la +35 -0
  2169. casadi/libClpSolver-1.dll +0 -0
  2170. casadi/libClpSolver.dll.a +0 -0
  2171. casadi/libClpSolver.la +35 -0
  2172. casadi/libCoinUtils-3.dll +0 -0
  2173. casadi/libCoinUtils.dll.a +0 -0
  2174. casadi/libCoinUtils.la +35 -0
  2175. casadi/libOsi-1.dll +0 -0
  2176. casadi/libOsi.dll.a +0 -0
  2177. casadi/libOsi.la +35 -0
  2178. casadi/libOsiCbc-3.dll +0 -0
  2179. casadi/libOsiCbc.dll.a +0 -0
  2180. casadi/libOsiCbc.la +35 -0
  2181. casadi/libOsiClp-1.dll +0 -0
  2182. casadi/libOsiClp.dll.a +0 -0
  2183. casadi/libOsiClp.la +35 -0
  2184. casadi/libOsiCommonTests-1.dll +0 -0
  2185. casadi/libOsiCommonTests.dll.a +0 -0
  2186. casadi/libOsiCommonTests.la +35 -0
  2187. casadi/libalpaqa.dll +0 -0
  2188. casadi/libalpaqa.dll.a +0 -0
  2189. casadi/libatomic-1.dll +0 -0
  2190. casadi/libblasfeo.dll +0 -0
  2191. casadi/libblasfeo.dll.a +0 -0
  2192. casadi/libbonmin-4.dll +0 -0
  2193. casadi/libbonmin.dll.a +0 -0
  2194. casadi/libbonmin.la +35 -0
  2195. casadi/libcasadi-tp-openblas.dll +0 -0
  2196. casadi/libcasadi-tp-openblas.dll.a +0 -0
  2197. casadi/libcasadi.dll +0 -0
  2198. casadi/libcasadi.dll.a +0 -0
  2199. casadi/libcasadi.lib +0 -0
  2200. casadi/libcasadi_archiver_libzip.dll +0 -0
  2201. casadi/libcasadi_archiver_libzip.dll.a +0 -0
  2202. casadi/libcasadi_conic_cbc.dll +0 -0
  2203. casadi/libcasadi_conic_cbc.dll.a +0 -0
  2204. casadi/libcasadi_conic_clp.dll +0 -0
  2205. casadi/libcasadi_conic_clp.dll.a +0 -0
  2206. casadi/libcasadi_conic_cplex.dll +0 -0
  2207. casadi/libcasadi_conic_cplex.dll.a +0 -0
  2208. casadi/libcasadi_conic_daqp.dll +0 -0
  2209. casadi/libcasadi_conic_daqp.dll.a +0 -0
  2210. casadi/libcasadi_conic_fatrop.dll +0 -0
  2211. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  2212. casadi/libcasadi_conic_gurobi.dll +0 -0
  2213. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  2214. casadi/libcasadi_conic_highs.dll +0 -0
  2215. casadi/libcasadi_conic_highs.dll.a +0 -0
  2216. casadi/libcasadi_conic_hpipm.dll +0 -0
  2217. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  2218. casadi/libcasadi_conic_ipqp.dll +0 -0
  2219. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  2220. casadi/libcasadi_conic_nlpsol.dll +0 -0
  2221. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  2222. casadi/libcasadi_conic_osqp.dll +0 -0
  2223. casadi/libcasadi_conic_osqp.dll.a +0 -0
  2224. casadi/libcasadi_conic_proxqp.dll +0 -0
  2225. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  2226. casadi/libcasadi_conic_qpoases.dll +0 -0
  2227. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  2228. casadi/libcasadi_conic_qrqp.dll +0 -0
  2229. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  2230. casadi/libcasadi_conic_superscs.dll +0 -0
  2231. casadi/libcasadi_conic_superscs.dll.a +0 -0
  2232. casadi/libcasadi_filesystem_ghc.dll +0 -0
  2233. casadi/libcasadi_filesystem_ghc.dll.a +0 -0
  2234. casadi/libcasadi_importer_shell.dll +0 -0
  2235. casadi/libcasadi_importer_shell.dll.a +0 -0
  2236. casadi/libcasadi_integrator_collocation.dll +0 -0
  2237. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  2238. casadi/libcasadi_integrator_cvodes.dll +0 -0
  2239. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  2240. casadi/libcasadi_integrator_idas.dll +0 -0
  2241. casadi/libcasadi_integrator_idas.dll.a +0 -0
  2242. casadi/libcasadi_integrator_rk.dll +0 -0
  2243. casadi/libcasadi_integrator_rk.dll.a +0 -0
  2244. casadi/libcasadi_interpolant_bspline.dll +0 -0
  2245. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  2246. casadi/libcasadi_interpolant_linear.dll +0 -0
  2247. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  2248. casadi/libcasadi_linsol_csparse.dll +0 -0
  2249. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  2250. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  2251. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  2252. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  2253. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  2254. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  2255. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  2256. casadi/libcasadi_linsol_ldl.dll +0 -0
  2257. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  2258. casadi/libcasadi_linsol_lsqr.dll +0 -0
  2259. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  2260. casadi/libcasadi_linsol_ma27.dll +0 -0
  2261. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  2262. casadi/libcasadi_linsol_mumps.dll +0 -0
  2263. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  2264. casadi/libcasadi_linsol_qr.dll +0 -0
  2265. casadi/libcasadi_linsol_qr.dll.a +0 -0
  2266. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  2267. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  2268. casadi/libcasadi_linsol_tridiag.dll +0 -0
  2269. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  2270. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  2271. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  2272. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  2273. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  2274. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  2275. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  2276. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  2277. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  2278. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  2279. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  2280. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  2281. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  2282. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  2283. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  2284. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  2285. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  2286. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  2287. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  2288. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  2289. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  2290. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  2291. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  2292. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  2293. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  2294. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  2295. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  2296. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  2297. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  2298. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  2299. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  2300. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  2301. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  2302. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  2303. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  2304. casadi/libcasadi_rootfinder_newton.dll +0 -0
  2305. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  2306. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  2307. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  2308. casadi/libcasadi_sundials_common.dll +0 -0
  2309. casadi/libcasadi_sundials_common.dll.a +0 -0
  2310. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  2311. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  2312. casadi/libcoinmetis-2.dll +0 -0
  2313. casadi/libcoinmetis.dll.a +0 -0
  2314. casadi/libcoinmetis.la +41 -0
  2315. casadi/libcoinmumps-3.dll +0 -0
  2316. casadi/libcoinmumps.dll.a +0 -0
  2317. casadi/libcoinmumps.la +41 -0
  2318. casadi/libcplex_adaptor.dll +0 -0
  2319. casadi/libdaqp.dll +0 -0
  2320. casadi/libdaqp.dll.a +0 -0
  2321. casadi/libdaqpstat.a +0 -0
  2322. casadi/libdl.dll +0 -0
  2323. casadi/libdl.dll.a +0 -0
  2324. casadi/libfatrop.dll +0 -0
  2325. casadi/libfatrop.dll.a +0 -0
  2326. casadi/libgcc_s_seh-1.dll +0 -0
  2327. casadi/libgfortran-5.dll +0 -0
  2328. casadi/libgomp-1.dll +0 -0
  2329. casadi/libgurobi_adaptor.dll +0 -0
  2330. casadi/libhighs.dll +0 -0
  2331. casadi/libhighs.dll.a +0 -0
  2332. casadi/libhpipm.dll +0 -0
  2333. casadi/libhpipm.dll.a +0 -0
  2334. casadi/libindirect.a +0 -0
  2335. casadi/libipopt-3.dll +0 -0
  2336. casadi/libipopt.dll.a +0 -0
  2337. casadi/libipopt.la +41 -0
  2338. casadi/liblinsys.a +0 -0
  2339. casadi/libmatlab_ipc.dll +0 -0
  2340. casadi/libmatlab_ipc.dll.a +0 -0
  2341. casadi/libosqp.a +0 -0
  2342. casadi/libosqp.dll +0 -0
  2343. casadi/libosqp.dll.a +0 -0
  2344. casadi/libqdldl.a +0 -0
  2345. casadi/libqdldl.dll +0 -0
  2346. casadi/libqdldl.dll.a +0 -0
  2347. casadi/libquadmath-0.dll +0 -0
  2348. casadi/libsipopt-3.dll +0 -0
  2349. casadi/libsipopt.dll.a +0 -0
  2350. casadi/libsipopt.la +41 -0
  2351. casadi/libsleqp.dll +0 -0
  2352. casadi/libsleqp.dll.a +0 -0
  2353. casadi/libspral.a +0 -0
  2354. casadi/libssp-0.dll +0 -0
  2355. casadi/libstdc++-6.dll +0 -0
  2356. casadi/libsuperscs.a +0 -0
  2357. casadi/libtrlib.dll +0 -0
  2358. casadi/libtrlib.dll.a +0 -0
  2359. casadi/libwinpthread-1.dll +0 -0
  2360. casadi/libzip.a +0 -0
  2361. casadi/libzlib.dll +0 -0
  2362. casadi/libzlib.dll.a +0 -0
  2363. casadi/libzlibstatic.a +0 -0
  2364. casadi/matlab_ipc.lib +0 -0
  2365. casadi/osqp.lib +0 -0
  2366. casadi/pkgconfig/blas.pc +11 -0
  2367. casadi/pkgconfig/bonmin.pc +12 -0
  2368. casadi/pkgconfig/casadi.pc +12 -0
  2369. casadi/pkgconfig/cbc.pc +12 -0
  2370. casadi/pkgconfig/cgl.pc +12 -0
  2371. casadi/pkgconfig/clp.pc +12 -0
  2372. casadi/pkgconfig/coinmetis.pc +13 -0
  2373. casadi/pkgconfig/coinmumps.pc +15 -0
  2374. casadi/pkgconfig/coinutils.pc +12 -0
  2375. casadi/pkgconfig/highs.pc +12 -0
  2376. casadi/pkgconfig/ipopt.pc +15 -0
  2377. casadi/pkgconfig/lapack.pc +11 -0
  2378. casadi/pkgconfig/libzip.pc +14 -0
  2379. casadi/pkgconfig/openblas.pc +11 -0
  2380. casadi/pkgconfig/osi-cbc.pc +12 -0
  2381. casadi/pkgconfig/osi-clp.pc +12 -0
  2382. casadi/pkgconfig/osi-unittests.pc +12 -0
  2383. casadi/pkgconfig/osi.pc +12 -0
  2384. casadi/pkgconfig/proxsuite.pc +22 -0
  2385. casadi/pkgconfig/sleqp.pc +10 -0
  2386. casadi/sleqp.lib +0 -0
  2387. casadi/spral_ssids.exe +0 -0
  2388. casadi/std-e414687e404555e5.dll +0 -0
  2389. casadi/tools/__init__.py +54 -0
  2390. casadi/tools/bounds.py +107 -0
  2391. casadi/tools/graph/__init__.py +35 -0
  2392. casadi/tools/graph/graph.py +747 -0
  2393. casadi/tools/in_out.py +89 -0
  2394. casadi/tools/structure3.py +1441 -0
  2395. casadi-3.7.2.dist-info/METADATA +45 -0
  2396. casadi-3.7.2.dist-info/RECORD +2398 -0
  2397. casadi-3.7.2.dist-info/WHEEL +4 -0
  2398. dummy.txt +1 -0
@@ -0,0 +1,1366 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // We used the "A Divide-And-Conquer Algorithm for the Bidiagonal SVD"
5
+ // research report written by Ming Gu and Stanley C.Eisenstat
6
+ // The code variable names correspond to the names they used in their
7
+ // report
8
+ //
9
+ // Copyright (C) 2013 Gauthier Brun <brun.gauthier@gmail.com>
10
+ // Copyright (C) 2013 Nicolas Carre <nicolas.carre@ensimag.fr>
11
+ // Copyright (C) 2013 Jean Ceccato <jean.ceccato@ensimag.fr>
12
+ // Copyright (C) 2013 Pierre Zoppitelli <pierre.zoppitelli@ensimag.fr>
13
+ // Copyright (C) 2013 Jitse Niesen <jitse@maths.leeds.ac.uk>
14
+ // Copyright (C) 2014-2017 Gael Guennebaud <gael.guennebaud@inria.fr>
15
+ //
16
+ // Source Code Form is subject to the terms of the Mozilla
17
+ // Public License v. 2.0. If a copy of the MPL was not distributed
18
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
19
+
20
+ #ifndef EIGEN_BDCSVD_H
21
+ #define EIGEN_BDCSVD_H
22
+ // #define EIGEN_BDCSVD_DEBUG_VERBOSE
23
+ // #define EIGEN_BDCSVD_SANITY_CHECKS
24
+
25
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
26
+ #undef eigen_internal_assert
27
+ #define eigen_internal_assert(X) assert(X);
28
+ #endif
29
+
30
+ namespace Eigen {
31
+
32
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
33
+ IOFormat bdcsvdfmt(8, 0, ", ", "\n", " [", "]");
34
+ #endif
35
+
36
+ template<typename _MatrixType> class BDCSVD;
37
+
38
+ namespace internal {
39
+
40
+ template<typename _MatrixType>
41
+ struct traits<BDCSVD<_MatrixType> >
42
+ : traits<_MatrixType>
43
+ {
44
+ typedef _MatrixType MatrixType;
45
+ };
46
+
47
+ } // end namespace internal
48
+
49
+
50
+ /** \ingroup SVD_Module
51
+ *
52
+ *
53
+ * \class BDCSVD
54
+ *
55
+ * \brief class Bidiagonal Divide and Conquer SVD
56
+ *
57
+ * \tparam _MatrixType the type of the matrix of which we are computing the SVD decomposition
58
+ *
59
+ * This class first reduces the input matrix to bi-diagonal form using class UpperBidiagonalization,
60
+ * and then performs a divide-and-conquer diagonalization. Small blocks are diagonalized using class JacobiSVD.
61
+ * You can control the switching size with the setSwitchSize() method, default is 16.
62
+ * For small matrice (<16), it is thus preferable to directly use JacobiSVD. For larger ones, BDCSVD is highly
63
+ * recommended and can several order of magnitude faster.
64
+ *
65
+ * \warning this algorithm is unlikely to provide accurate result when compiled with unsafe math optimizations.
66
+ * For instance, this concerns Intel's compiler (ICC), which performs such optimization by default unless
67
+ * you compile with the \c -fp-model \c precise option. Likewise, the \c -ffast-math option of GCC or clang will
68
+ * significantly degrade the accuracy.
69
+ *
70
+ * \sa class JacobiSVD
71
+ */
72
+ template<typename _MatrixType>
73
+ class BDCSVD : public SVDBase<BDCSVD<_MatrixType> >
74
+ {
75
+ typedef SVDBase<BDCSVD> Base;
76
+
77
+ public:
78
+ using Base::rows;
79
+ using Base::cols;
80
+ using Base::computeU;
81
+ using Base::computeV;
82
+
83
+ typedef _MatrixType MatrixType;
84
+ typedef typename MatrixType::Scalar Scalar;
85
+ typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
86
+ typedef typename NumTraits<RealScalar>::Literal Literal;
87
+ enum {
88
+ RowsAtCompileTime = MatrixType::RowsAtCompileTime,
89
+ ColsAtCompileTime = MatrixType::ColsAtCompileTime,
90
+ DiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime, ColsAtCompileTime),
91
+ MaxRowsAtCompileTime = MatrixType::MaxRowsAtCompileTime,
92
+ MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime,
93
+ MaxDiagSizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_FIXED(MaxRowsAtCompileTime, MaxColsAtCompileTime),
94
+ MatrixOptions = MatrixType::Options
95
+ };
96
+
97
+ typedef typename Base::MatrixUType MatrixUType;
98
+ typedef typename Base::MatrixVType MatrixVType;
99
+ typedef typename Base::SingularValuesType SingularValuesType;
100
+
101
+ typedef Matrix<Scalar, Dynamic, Dynamic, ColMajor> MatrixX;
102
+ typedef Matrix<RealScalar, Dynamic, Dynamic, ColMajor> MatrixXr;
103
+ typedef Matrix<RealScalar, Dynamic, 1> VectorType;
104
+ typedef Array<RealScalar, Dynamic, 1> ArrayXr;
105
+ typedef Array<Index,1,Dynamic> ArrayXi;
106
+ typedef Ref<ArrayXr> ArrayRef;
107
+ typedef Ref<ArrayXi> IndicesRef;
108
+
109
+ /** \brief Default Constructor.
110
+ *
111
+ * The default constructor is useful in cases in which the user intends to
112
+ * perform decompositions via BDCSVD::compute(const MatrixType&).
113
+ */
114
+ BDCSVD() : m_algoswap(16), m_isTranspose(false), m_compU(false), m_compV(false), m_numIters(0)
115
+ {}
116
+
117
+
118
+ /** \brief Default Constructor with memory preallocation
119
+ *
120
+ * Like the default constructor but with preallocation of the internal data
121
+ * according to the specified problem size.
122
+ * \sa BDCSVD()
123
+ */
124
+ BDCSVD(Index rows, Index cols, unsigned int computationOptions = 0)
125
+ : m_algoswap(16), m_numIters(0)
126
+ {
127
+ allocate(rows, cols, computationOptions);
128
+ }
129
+
130
+ /** \brief Constructor performing the decomposition of given matrix.
131
+ *
132
+ * \param matrix the matrix to decompose
133
+ * \param computationOptions optional parameter allowing to specify if you want full or thin U or V unitaries to be computed.
134
+ * By default, none is computed. This is a bit - field, the possible bits are #ComputeFullU, #ComputeThinU,
135
+ * #ComputeFullV, #ComputeThinV.
136
+ *
137
+ * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
138
+ * available with the (non - default) FullPivHouseholderQR preconditioner.
139
+ */
140
+ BDCSVD(const MatrixType& matrix, unsigned int computationOptions = 0)
141
+ : m_algoswap(16), m_numIters(0)
142
+ {
143
+ compute(matrix, computationOptions);
144
+ }
145
+
146
+ ~BDCSVD()
147
+ {
148
+ }
149
+
150
+ /** \brief Method performing the decomposition of given matrix using custom options.
151
+ *
152
+ * \param matrix the matrix to decompose
153
+ * \param computationOptions optional parameter allowing to specify if you want full or thin U or V unitaries to be computed.
154
+ * By default, none is computed. This is a bit - field, the possible bits are #ComputeFullU, #ComputeThinU,
155
+ * #ComputeFullV, #ComputeThinV.
156
+ *
157
+ * Thin unitaries are only available if your matrix type has a Dynamic number of columns (for example MatrixXf). They also are not
158
+ * available with the (non - default) FullPivHouseholderQR preconditioner.
159
+ */
160
+ BDCSVD& compute(const MatrixType& matrix, unsigned int computationOptions);
161
+
162
+ /** \brief Method performing the decomposition of given matrix using current options.
163
+ *
164
+ * \param matrix the matrix to decompose
165
+ *
166
+ * This method uses the current \a computationOptions, as already passed to the constructor or to compute(const MatrixType&, unsigned int).
167
+ */
168
+ BDCSVD& compute(const MatrixType& matrix)
169
+ {
170
+ return compute(matrix, this->m_computationOptions);
171
+ }
172
+
173
+ void setSwitchSize(int s)
174
+ {
175
+ eigen_assert(s>3 && "BDCSVD the size of the algo switch has to be greater than 3");
176
+ m_algoswap = s;
177
+ }
178
+
179
+ private:
180
+ void allocate(Index rows, Index cols, unsigned int computationOptions);
181
+ void divide(Index firstCol, Index lastCol, Index firstRowW, Index firstColW, Index shift);
182
+ void computeSVDofM(Index firstCol, Index n, MatrixXr& U, VectorType& singVals, MatrixXr& V);
183
+ void computeSingVals(const ArrayRef& col0, const ArrayRef& diag, const IndicesRef& perm, VectorType& singVals, ArrayRef shifts, ArrayRef mus);
184
+ void perturbCol0(const ArrayRef& col0, const ArrayRef& diag, const IndicesRef& perm, const VectorType& singVals, const ArrayRef& shifts, const ArrayRef& mus, ArrayRef zhat);
185
+ void computeSingVecs(const ArrayRef& zhat, const ArrayRef& diag, const IndicesRef& perm, const VectorType& singVals, const ArrayRef& shifts, const ArrayRef& mus, MatrixXr& U, MatrixXr& V);
186
+ void deflation43(Index firstCol, Index shift, Index i, Index size);
187
+ void deflation44(Index firstColu , Index firstColm, Index firstRowW, Index firstColW, Index i, Index j, Index size);
188
+ void deflation(Index firstCol, Index lastCol, Index k, Index firstRowW, Index firstColW, Index shift);
189
+ template<typename HouseholderU, typename HouseholderV, typename NaiveU, typename NaiveV>
190
+ void copyUV(const HouseholderU &householderU, const HouseholderV &householderV, const NaiveU &naiveU, const NaiveV &naivev);
191
+ void structured_update(Block<MatrixXr,Dynamic,Dynamic> A, const MatrixXr &B, Index n1);
192
+ static RealScalar secularEq(RealScalar x, const ArrayRef& col0, const ArrayRef& diag, const IndicesRef &perm, const ArrayRef& diagShifted, RealScalar shift);
193
+
194
+ protected:
195
+ MatrixXr m_naiveU, m_naiveV;
196
+ MatrixXr m_computed;
197
+ Index m_nRec;
198
+ ArrayXr m_workspace;
199
+ ArrayXi m_workspaceI;
200
+ int m_algoswap;
201
+ bool m_isTranspose, m_compU, m_compV;
202
+
203
+ using Base::m_singularValues;
204
+ using Base::m_diagSize;
205
+ using Base::m_computeFullU;
206
+ using Base::m_computeFullV;
207
+ using Base::m_computeThinU;
208
+ using Base::m_computeThinV;
209
+ using Base::m_matrixU;
210
+ using Base::m_matrixV;
211
+ using Base::m_info;
212
+ using Base::m_isInitialized;
213
+ using Base::m_nonzeroSingularValues;
214
+
215
+ public:
216
+ int m_numIters;
217
+ }; //end class BDCSVD
218
+
219
+
220
+ // Method to allocate and initialize matrix and attributes
221
+ template<typename MatrixType>
222
+ void BDCSVD<MatrixType>::allocate(Eigen::Index rows, Eigen::Index cols, unsigned int computationOptions)
223
+ {
224
+ m_isTranspose = (cols > rows);
225
+
226
+ if (Base::allocate(rows, cols, computationOptions))
227
+ return;
228
+
229
+ m_computed = MatrixXr::Zero(m_diagSize + 1, m_diagSize );
230
+ m_compU = computeV();
231
+ m_compV = computeU();
232
+ if (m_isTranspose)
233
+ std::swap(m_compU, m_compV);
234
+
235
+ if (m_compU) m_naiveU = MatrixXr::Zero(m_diagSize + 1, m_diagSize + 1 );
236
+ else m_naiveU = MatrixXr::Zero(2, m_diagSize + 1 );
237
+
238
+ if (m_compV) m_naiveV = MatrixXr::Zero(m_diagSize, m_diagSize);
239
+
240
+ m_workspace.resize((m_diagSize+1)*(m_diagSize+1)*3);
241
+ m_workspaceI.resize(3*m_diagSize);
242
+ }// end allocate
243
+
244
+ template<typename MatrixType>
245
+ BDCSVD<MatrixType>& BDCSVD<MatrixType>::compute(const MatrixType& matrix, unsigned int computationOptions)
246
+ {
247
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
248
+ std::cout << "\n\n\n======================================================================================================================\n\n\n";
249
+ #endif
250
+ allocate(matrix.rows(), matrix.cols(), computationOptions);
251
+ using std::abs;
252
+
253
+ const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
254
+
255
+ //**** step -1 - If the problem is too small, directly falls back to JacobiSVD and return
256
+ if(matrix.cols() < m_algoswap)
257
+ {
258
+ // FIXME this line involves temporaries
259
+ JacobiSVD<MatrixType> jsvd(matrix,computationOptions);
260
+ m_isInitialized = true;
261
+ m_info = jsvd.info();
262
+ if (m_info == Success || m_info == NoConvergence) {
263
+ if(computeU()) m_matrixU = jsvd.matrixU();
264
+ if(computeV()) m_matrixV = jsvd.matrixV();
265
+ m_singularValues = jsvd.singularValues();
266
+ m_nonzeroSingularValues = jsvd.nonzeroSingularValues();
267
+ }
268
+ return *this;
269
+ }
270
+
271
+ //**** step 0 - Copy the input matrix and apply scaling to reduce over/under-flows
272
+ RealScalar scale = matrix.cwiseAbs().template maxCoeff<PropagateNaN>();
273
+ if (!(numext::isfinite)(scale)) {
274
+ m_isInitialized = true;
275
+ m_info = InvalidInput;
276
+ return *this;
277
+ }
278
+
279
+ if(scale==Literal(0)) scale = Literal(1);
280
+ MatrixX copy;
281
+ if (m_isTranspose) copy = matrix.adjoint()/scale;
282
+ else copy = matrix/scale;
283
+
284
+ //**** step 1 - Bidiagonalization
285
+ // FIXME this line involves temporaries
286
+ internal::UpperBidiagonalization<MatrixX> bid(copy);
287
+
288
+ //**** step 2 - Divide & Conquer
289
+ m_naiveU.setZero();
290
+ m_naiveV.setZero();
291
+ // FIXME this line involves a temporary matrix
292
+ m_computed.topRows(m_diagSize) = bid.bidiagonal().toDenseMatrix().transpose();
293
+ m_computed.template bottomRows<1>().setZero();
294
+ divide(0, m_diagSize - 1, 0, 0, 0);
295
+ if (m_info != Success && m_info != NoConvergence) {
296
+ m_isInitialized = true;
297
+ return *this;
298
+ }
299
+
300
+ //**** step 3 - Copy singular values and vectors
301
+ for (int i=0; i<m_diagSize; i++)
302
+ {
303
+ RealScalar a = abs(m_computed.coeff(i, i));
304
+ m_singularValues.coeffRef(i) = a * scale;
305
+ if (a<considerZero)
306
+ {
307
+ m_nonzeroSingularValues = i;
308
+ m_singularValues.tail(m_diagSize - i - 1).setZero();
309
+ break;
310
+ }
311
+ else if (i == m_diagSize - 1)
312
+ {
313
+ m_nonzeroSingularValues = i + 1;
314
+ break;
315
+ }
316
+ }
317
+
318
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
319
+ // std::cout << "m_naiveU\n" << m_naiveU << "\n\n";
320
+ // std::cout << "m_naiveV\n" << m_naiveV << "\n\n";
321
+ #endif
322
+ if(m_isTranspose) copyUV(bid.householderV(), bid.householderU(), m_naiveV, m_naiveU);
323
+ else copyUV(bid.householderU(), bid.householderV(), m_naiveU, m_naiveV);
324
+
325
+ m_isInitialized = true;
326
+ return *this;
327
+ }// end compute
328
+
329
+
330
+ template<typename MatrixType>
331
+ template<typename HouseholderU, typename HouseholderV, typename NaiveU, typename NaiveV>
332
+ void BDCSVD<MatrixType>::copyUV(const HouseholderU &householderU, const HouseholderV &householderV, const NaiveU &naiveU, const NaiveV &naiveV)
333
+ {
334
+ // Note exchange of U and V: m_matrixU is set from m_naiveV and vice versa
335
+ if (computeU())
336
+ {
337
+ Index Ucols = m_computeThinU ? m_diagSize : householderU.cols();
338
+ m_matrixU = MatrixX::Identity(householderU.cols(), Ucols);
339
+ m_matrixU.topLeftCorner(m_diagSize, m_diagSize) = naiveV.template cast<Scalar>().topLeftCorner(m_diagSize, m_diagSize);
340
+ householderU.applyThisOnTheLeft(m_matrixU); // FIXME this line involves a temporary buffer
341
+ }
342
+ if (computeV())
343
+ {
344
+ Index Vcols = m_computeThinV ? m_diagSize : householderV.cols();
345
+ m_matrixV = MatrixX::Identity(householderV.cols(), Vcols);
346
+ m_matrixV.topLeftCorner(m_diagSize, m_diagSize) = naiveU.template cast<Scalar>().topLeftCorner(m_diagSize, m_diagSize);
347
+ householderV.applyThisOnTheLeft(m_matrixV); // FIXME this line involves a temporary buffer
348
+ }
349
+ }
350
+
351
+ /** \internal
352
+ * Performs A = A * B exploiting the special structure of the matrix A. Splitting A as:
353
+ * A = [A1]
354
+ * [A2]
355
+ * such that A1.rows()==n1, then we assume that at least half of the columns of A1 and A2 are zeros.
356
+ * We can thus pack them prior to the the matrix product. However, this is only worth the effort if the matrix is large
357
+ * enough.
358
+ */
359
+ template<typename MatrixType>
360
+ void BDCSVD<MatrixType>::structured_update(Block<MatrixXr,Dynamic,Dynamic> A, const MatrixXr &B, Index n1)
361
+ {
362
+ Index n = A.rows();
363
+ if(n>100)
364
+ {
365
+ // If the matrices are large enough, let's exploit the sparse structure of A by
366
+ // splitting it in half (wrt n1), and packing the non-zero columns.
367
+ Index n2 = n - n1;
368
+ Map<MatrixXr> A1(m_workspace.data() , n1, n);
369
+ Map<MatrixXr> A2(m_workspace.data()+ n1*n, n2, n);
370
+ Map<MatrixXr> B1(m_workspace.data()+ n*n, n, n);
371
+ Map<MatrixXr> B2(m_workspace.data()+2*n*n, n, n);
372
+ Index k1=0, k2=0;
373
+ for(Index j=0; j<n; ++j)
374
+ {
375
+ if( (A.col(j).head(n1).array()!=Literal(0)).any() )
376
+ {
377
+ A1.col(k1) = A.col(j).head(n1);
378
+ B1.row(k1) = B.row(j);
379
+ ++k1;
380
+ }
381
+ if( (A.col(j).tail(n2).array()!=Literal(0)).any() )
382
+ {
383
+ A2.col(k2) = A.col(j).tail(n2);
384
+ B2.row(k2) = B.row(j);
385
+ ++k2;
386
+ }
387
+ }
388
+
389
+ A.topRows(n1).noalias() = A1.leftCols(k1) * B1.topRows(k1);
390
+ A.bottomRows(n2).noalias() = A2.leftCols(k2) * B2.topRows(k2);
391
+ }
392
+ else
393
+ {
394
+ Map<MatrixXr,Aligned> tmp(m_workspace.data(),n,n);
395
+ tmp.noalias() = A*B;
396
+ A = tmp;
397
+ }
398
+ }
399
+
400
+ // The divide algorithm is done "in place", we are always working on subsets of the same matrix. The divide methods takes as argument the
401
+ // place of the submatrix we are currently working on.
402
+
403
+ //@param firstCol : The Index of the first column of the submatrix of m_computed and for m_naiveU;
404
+ //@param lastCol : The Index of the last column of the submatrix of m_computed and for m_naiveU;
405
+ // lastCol + 1 - firstCol is the size of the submatrix.
406
+ //@param firstRowW : The Index of the first row of the matrix W that we are to change. (see the reference paper section 1 for more information on W)
407
+ //@param firstRowW : Same as firstRowW with the column.
408
+ //@param shift : Each time one takes the left submatrix, one must add 1 to the shift. Why? Because! We actually want the last column of the U submatrix
409
+ // to become the first column (*coeff) and to shift all the other columns to the right. There are more details on the reference paper.
410
+ template<typename MatrixType>
411
+ void BDCSVD<MatrixType>::divide(Eigen::Index firstCol, Eigen::Index lastCol, Eigen::Index firstRowW, Eigen::Index firstColW, Eigen::Index shift)
412
+ {
413
+ // requires rows = cols + 1;
414
+ using std::pow;
415
+ using std::sqrt;
416
+ using std::abs;
417
+ const Index n = lastCol - firstCol + 1;
418
+ const Index k = n/2;
419
+ const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
420
+ RealScalar alphaK;
421
+ RealScalar betaK;
422
+ RealScalar r0;
423
+ RealScalar lambda, phi, c0, s0;
424
+ VectorType l, f;
425
+ // We use the other algorithm which is more efficient for small
426
+ // matrices.
427
+ if (n < m_algoswap)
428
+ {
429
+ // FIXME this line involves temporaries
430
+ JacobiSVD<MatrixXr> b(m_computed.block(firstCol, firstCol, n + 1, n), ComputeFullU | (m_compV ? ComputeFullV : 0));
431
+ m_info = b.info();
432
+ if (m_info != Success && m_info != NoConvergence) return;
433
+ if (m_compU)
434
+ m_naiveU.block(firstCol, firstCol, n + 1, n + 1).real() = b.matrixU();
435
+ else
436
+ {
437
+ m_naiveU.row(0).segment(firstCol, n + 1).real() = b.matrixU().row(0);
438
+ m_naiveU.row(1).segment(firstCol, n + 1).real() = b.matrixU().row(n);
439
+ }
440
+ if (m_compV) m_naiveV.block(firstRowW, firstColW, n, n).real() = b.matrixV();
441
+ m_computed.block(firstCol + shift, firstCol + shift, n + 1, n).setZero();
442
+ m_computed.diagonal().segment(firstCol + shift, n) = b.singularValues().head(n);
443
+ return;
444
+ }
445
+ // We use the divide and conquer algorithm
446
+ alphaK = m_computed(firstCol + k, firstCol + k);
447
+ betaK = m_computed(firstCol + k + 1, firstCol + k);
448
+ // The divide must be done in that order in order to have good results. Divide change the data inside the submatrices
449
+ // and the divide of the right submatrice reads one column of the left submatrice. That's why we need to treat the
450
+ // right submatrix before the left one.
451
+ divide(k + 1 + firstCol, lastCol, k + 1 + firstRowW, k + 1 + firstColW, shift);
452
+ if (m_info != Success && m_info != NoConvergence) return;
453
+ divide(firstCol, k - 1 + firstCol, firstRowW, firstColW + 1, shift + 1);
454
+ if (m_info != Success && m_info != NoConvergence) return;
455
+
456
+ if (m_compU)
457
+ {
458
+ lambda = m_naiveU(firstCol + k, firstCol + k);
459
+ phi = m_naiveU(firstCol + k + 1, lastCol + 1);
460
+ }
461
+ else
462
+ {
463
+ lambda = m_naiveU(1, firstCol + k);
464
+ phi = m_naiveU(0, lastCol + 1);
465
+ }
466
+ r0 = sqrt((abs(alphaK * lambda) * abs(alphaK * lambda)) + abs(betaK * phi) * abs(betaK * phi));
467
+ if (m_compU)
468
+ {
469
+ l = m_naiveU.row(firstCol + k).segment(firstCol, k);
470
+ f = m_naiveU.row(firstCol + k + 1).segment(firstCol + k + 1, n - k - 1);
471
+ }
472
+ else
473
+ {
474
+ l = m_naiveU.row(1).segment(firstCol, k);
475
+ f = m_naiveU.row(0).segment(firstCol + k + 1, n - k - 1);
476
+ }
477
+ if (m_compV) m_naiveV(firstRowW+k, firstColW) = Literal(1);
478
+ if (r0<considerZero)
479
+ {
480
+ c0 = Literal(1);
481
+ s0 = Literal(0);
482
+ }
483
+ else
484
+ {
485
+ c0 = alphaK * lambda / r0;
486
+ s0 = betaK * phi / r0;
487
+ }
488
+
489
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
490
+ assert(m_naiveU.allFinite());
491
+ assert(m_naiveV.allFinite());
492
+ assert(m_computed.allFinite());
493
+ #endif
494
+
495
+ if (m_compU)
496
+ {
497
+ MatrixXr q1 (m_naiveU.col(firstCol + k).segment(firstCol, k + 1));
498
+ // we shiftW Q1 to the right
499
+ for (Index i = firstCol + k - 1; i >= firstCol; i--)
500
+ m_naiveU.col(i + 1).segment(firstCol, k + 1) = m_naiveU.col(i).segment(firstCol, k + 1);
501
+ // we shift q1 at the left with a factor c0
502
+ m_naiveU.col(firstCol).segment( firstCol, k + 1) = (q1 * c0);
503
+ // last column = q1 * - s0
504
+ m_naiveU.col(lastCol + 1).segment(firstCol, k + 1) = (q1 * ( - s0));
505
+ // first column = q2 * s0
506
+ m_naiveU.col(firstCol).segment(firstCol + k + 1, n - k) = m_naiveU.col(lastCol + 1).segment(firstCol + k + 1, n - k) * s0;
507
+ // q2 *= c0
508
+ m_naiveU.col(lastCol + 1).segment(firstCol + k + 1, n - k) *= c0;
509
+ }
510
+ else
511
+ {
512
+ RealScalar q1 = m_naiveU(0, firstCol + k);
513
+ // we shift Q1 to the right
514
+ for (Index i = firstCol + k - 1; i >= firstCol; i--)
515
+ m_naiveU(0, i + 1) = m_naiveU(0, i);
516
+ // we shift q1 at the left with a factor c0
517
+ m_naiveU(0, firstCol) = (q1 * c0);
518
+ // last column = q1 * - s0
519
+ m_naiveU(0, lastCol + 1) = (q1 * ( - s0));
520
+ // first column = q2 * s0
521
+ m_naiveU(1, firstCol) = m_naiveU(1, lastCol + 1) *s0;
522
+ // q2 *= c0
523
+ m_naiveU(1, lastCol + 1) *= c0;
524
+ m_naiveU.row(1).segment(firstCol + 1, k).setZero();
525
+ m_naiveU.row(0).segment(firstCol + k + 1, n - k - 1).setZero();
526
+ }
527
+
528
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
529
+ assert(m_naiveU.allFinite());
530
+ assert(m_naiveV.allFinite());
531
+ assert(m_computed.allFinite());
532
+ #endif
533
+
534
+ m_computed(firstCol + shift, firstCol + shift) = r0;
535
+ m_computed.col(firstCol + shift).segment(firstCol + shift + 1, k) = alphaK * l.transpose().real();
536
+ m_computed.col(firstCol + shift).segment(firstCol + shift + k + 1, n - k - 1) = betaK * f.transpose().real();
537
+
538
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
539
+ ArrayXr tmp1 = (m_computed.block(firstCol+shift, firstCol+shift, n, n)).jacobiSvd().singularValues();
540
+ #endif
541
+ // Second part: try to deflate singular values in combined matrix
542
+ deflation(firstCol, lastCol, k, firstRowW, firstColW, shift);
543
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
544
+ ArrayXr tmp2 = (m_computed.block(firstCol+shift, firstCol+shift, n, n)).jacobiSvd().singularValues();
545
+ std::cout << "\n\nj1 = " << tmp1.transpose().format(bdcsvdfmt) << "\n";
546
+ std::cout << "j2 = " << tmp2.transpose().format(bdcsvdfmt) << "\n\n";
547
+ std::cout << "err: " << ((tmp1-tmp2).abs()>1e-12*tmp2.abs()).transpose() << "\n";
548
+ static int count = 0;
549
+ std::cout << "# " << ++count << "\n\n";
550
+ assert((tmp1-tmp2).matrix().norm() < 1e-14*tmp2.matrix().norm());
551
+ // assert(count<681);
552
+ // assert(((tmp1-tmp2).abs()<1e-13*tmp2.abs()).all());
553
+ #endif
554
+
555
+ // Third part: compute SVD of combined matrix
556
+ MatrixXr UofSVD, VofSVD;
557
+ VectorType singVals;
558
+ computeSVDofM(firstCol + shift, n, UofSVD, singVals, VofSVD);
559
+
560
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
561
+ assert(UofSVD.allFinite());
562
+ assert(VofSVD.allFinite());
563
+ #endif
564
+
565
+ if (m_compU)
566
+ structured_update(m_naiveU.block(firstCol, firstCol, n + 1, n + 1), UofSVD, (n+2)/2);
567
+ else
568
+ {
569
+ Map<Matrix<RealScalar,2,Dynamic>,Aligned> tmp(m_workspace.data(),2,n+1);
570
+ tmp.noalias() = m_naiveU.middleCols(firstCol, n+1) * UofSVD;
571
+ m_naiveU.middleCols(firstCol, n + 1) = tmp;
572
+ }
573
+
574
+ if (m_compV) structured_update(m_naiveV.block(firstRowW, firstColW, n, n), VofSVD, (n+1)/2);
575
+
576
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
577
+ assert(m_naiveU.allFinite());
578
+ assert(m_naiveV.allFinite());
579
+ assert(m_computed.allFinite());
580
+ #endif
581
+
582
+ m_computed.block(firstCol + shift, firstCol + shift, n, n).setZero();
583
+ m_computed.block(firstCol + shift, firstCol + shift, n, n).diagonal() = singVals;
584
+ }// end divide
585
+
586
+ // Compute SVD of m_computed.block(firstCol, firstCol, n + 1, n); this block only has non-zeros in
587
+ // the first column and on the diagonal and has undergone deflation, so diagonal is in increasing
588
+ // order except for possibly the (0,0) entry. The computed SVD is stored U, singVals and V, except
589
+ // that if m_compV is false, then V is not computed. Singular values are sorted in decreasing order.
590
+ //
591
+ // TODO Opportunities for optimization: better root finding algo, better stopping criterion, better
592
+ // handling of round-off errors, be consistent in ordering
593
+ // For instance, to solve the secular equation using FMM, see http://www.stat.uchicago.edu/~lekheng/courses/302/classics/greengard-rokhlin.pdf
594
+ template <typename MatrixType>
595
+ void BDCSVD<MatrixType>::computeSVDofM(Eigen::Index firstCol, Eigen::Index n, MatrixXr& U, VectorType& singVals, MatrixXr& V)
596
+ {
597
+ const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
598
+ using std::abs;
599
+ ArrayRef col0 = m_computed.col(firstCol).segment(firstCol, n);
600
+ m_workspace.head(n) = m_computed.block(firstCol, firstCol, n, n).diagonal();
601
+ ArrayRef diag = m_workspace.head(n);
602
+ diag(0) = Literal(0);
603
+
604
+ // Allocate space for singular values and vectors
605
+ singVals.resize(n);
606
+ U.resize(n+1, n+1);
607
+ if (m_compV) V.resize(n, n);
608
+
609
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
610
+ if (col0.hasNaN() || diag.hasNaN())
611
+ std::cout << "\n\nHAS NAN\n\n";
612
+ #endif
613
+
614
+ // Many singular values might have been deflated, the zero ones have been moved to the end,
615
+ // but others are interleaved and we must ignore them at this stage.
616
+ // To this end, let's compute a permutation skipping them:
617
+ Index actual_n = n;
618
+ while(actual_n>1 && diag(actual_n-1)==Literal(0)) {--actual_n; eigen_internal_assert(col0(actual_n)==Literal(0)); }
619
+ Index m = 0; // size of the deflated problem
620
+ for(Index k=0;k<actual_n;++k)
621
+ if(abs(col0(k))>considerZero)
622
+ m_workspaceI(m++) = k;
623
+ Map<ArrayXi> perm(m_workspaceI.data(),m);
624
+
625
+ Map<ArrayXr> shifts(m_workspace.data()+1*n, n);
626
+ Map<ArrayXr> mus(m_workspace.data()+2*n, n);
627
+ Map<ArrayXr> zhat(m_workspace.data()+3*n, n);
628
+
629
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
630
+ std::cout << "computeSVDofM using:\n";
631
+ std::cout << " z: " << col0.transpose() << "\n";
632
+ std::cout << " d: " << diag.transpose() << "\n";
633
+ #endif
634
+
635
+ // Compute singVals, shifts, and mus
636
+ computeSingVals(col0, diag, perm, singVals, shifts, mus);
637
+
638
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
639
+ std::cout << " j: " << (m_computed.block(firstCol, firstCol, n, n)).jacobiSvd().singularValues().transpose().reverse() << "\n\n";
640
+ std::cout << " sing-val: " << singVals.transpose() << "\n";
641
+ std::cout << " mu: " << mus.transpose() << "\n";
642
+ std::cout << " shift: " << shifts.transpose() << "\n";
643
+
644
+ {
645
+ std::cout << "\n\n mus: " << mus.head(actual_n).transpose() << "\n\n";
646
+ std::cout << " check1 (expect0) : " << ((singVals.array()-(shifts+mus)) / singVals.array()).head(actual_n).transpose() << "\n\n";
647
+ assert((((singVals.array()-(shifts+mus)) / singVals.array()).head(actual_n) >= 0).all());
648
+ std::cout << " check2 (>0) : " << ((singVals.array()-diag) / singVals.array()).head(actual_n).transpose() << "\n\n";
649
+ assert((((singVals.array()-diag) / singVals.array()).head(actual_n) >= 0).all());
650
+ }
651
+ #endif
652
+
653
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
654
+ assert(singVals.allFinite());
655
+ assert(mus.allFinite());
656
+ assert(shifts.allFinite());
657
+ #endif
658
+
659
+ // Compute zhat
660
+ perturbCol0(col0, diag, perm, singVals, shifts, mus, zhat);
661
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
662
+ std::cout << " zhat: " << zhat.transpose() << "\n";
663
+ #endif
664
+
665
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
666
+ assert(zhat.allFinite());
667
+ #endif
668
+
669
+ computeSingVecs(zhat, diag, perm, singVals, shifts, mus, U, V);
670
+
671
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
672
+ std::cout << "U^T U: " << (U.transpose() * U - MatrixXr(MatrixXr::Identity(U.cols(),U.cols()))).norm() << "\n";
673
+ std::cout << "V^T V: " << (V.transpose() * V - MatrixXr(MatrixXr::Identity(V.cols(),V.cols()))).norm() << "\n";
674
+ #endif
675
+
676
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
677
+ assert(m_naiveU.allFinite());
678
+ assert(m_naiveV.allFinite());
679
+ assert(m_computed.allFinite());
680
+ assert(U.allFinite());
681
+ assert(V.allFinite());
682
+ // assert((U.transpose() * U - MatrixXr(MatrixXr::Identity(U.cols(),U.cols()))).norm() < 100*NumTraits<RealScalar>::epsilon() * n);
683
+ // assert((V.transpose() * V - MatrixXr(MatrixXr::Identity(V.cols(),V.cols()))).norm() < 100*NumTraits<RealScalar>::epsilon() * n);
684
+ #endif
685
+
686
+ // Because of deflation, the singular values might not be completely sorted.
687
+ // Fortunately, reordering them is a O(n) problem
688
+ for(Index i=0; i<actual_n-1; ++i)
689
+ {
690
+ if(singVals(i)>singVals(i+1))
691
+ {
692
+ using std::swap;
693
+ swap(singVals(i),singVals(i+1));
694
+ U.col(i).swap(U.col(i+1));
695
+ if(m_compV) V.col(i).swap(V.col(i+1));
696
+ }
697
+ }
698
+
699
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
700
+ {
701
+ bool singular_values_sorted = (((singVals.segment(1,actual_n-1)-singVals.head(actual_n-1))).array() >= 0).all();
702
+ if(!singular_values_sorted)
703
+ std::cout << "Singular values are not sorted: " << singVals.segment(1,actual_n).transpose() << "\n";
704
+ assert(singular_values_sorted);
705
+ }
706
+ #endif
707
+
708
+ // Reverse order so that singular values in increased order
709
+ // Because of deflation, the zeros singular-values are already at the end
710
+ singVals.head(actual_n).reverseInPlace();
711
+ U.leftCols(actual_n).rowwise().reverseInPlace();
712
+ if (m_compV) V.leftCols(actual_n).rowwise().reverseInPlace();
713
+
714
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
715
+ JacobiSVD<MatrixXr> jsvd(m_computed.block(firstCol, firstCol, n, n) );
716
+ std::cout << " * j: " << jsvd.singularValues().transpose() << "\n\n";
717
+ std::cout << " * sing-val: " << singVals.transpose() << "\n";
718
+ // std::cout << " * err: " << ((jsvd.singularValues()-singVals)>1e-13*singVals.norm()).transpose() << "\n";
719
+ #endif
720
+ }
721
+
722
+ template <typename MatrixType>
723
+ typename BDCSVD<MatrixType>::RealScalar BDCSVD<MatrixType>::secularEq(RealScalar mu, const ArrayRef& col0, const ArrayRef& diag, const IndicesRef &perm, const ArrayRef& diagShifted, RealScalar shift)
724
+ {
725
+ Index m = perm.size();
726
+ RealScalar res = Literal(1);
727
+ for(Index i=0; i<m; ++i)
728
+ {
729
+ Index j = perm(i);
730
+ // The following expression could be rewritten to involve only a single division,
731
+ // but this would make the expression more sensitive to overflow.
732
+ res += (col0(j) / (diagShifted(j) - mu)) * (col0(j) / (diag(j) + shift + mu));
733
+ }
734
+ return res;
735
+
736
+ }
737
+
738
+ template <typename MatrixType>
739
+ void BDCSVD<MatrixType>::computeSingVals(const ArrayRef& col0, const ArrayRef& diag, const IndicesRef &perm,
740
+ VectorType& singVals, ArrayRef shifts, ArrayRef mus)
741
+ {
742
+ using std::abs;
743
+ using std::swap;
744
+ using std::sqrt;
745
+
746
+ Index n = col0.size();
747
+ Index actual_n = n;
748
+ // Note that here actual_n is computed based on col0(i)==0 instead of diag(i)==0 as above
749
+ // because 1) we have diag(i)==0 => col0(i)==0 and 2) if col0(i)==0, then diag(i) is already a singular value.
750
+ while(actual_n>1 && col0(actual_n-1)==Literal(0)) --actual_n;
751
+
752
+ for (Index k = 0; k < n; ++k)
753
+ {
754
+ if (col0(k) == Literal(0) || actual_n==1)
755
+ {
756
+ // if col0(k) == 0, then entry is deflated, so singular value is on diagonal
757
+ // if actual_n==1, then the deflated problem is already diagonalized
758
+ singVals(k) = k==0 ? col0(0) : diag(k);
759
+ mus(k) = Literal(0);
760
+ shifts(k) = k==0 ? col0(0) : diag(k);
761
+ continue;
762
+ }
763
+
764
+ // otherwise, use secular equation to find singular value
765
+ RealScalar left = diag(k);
766
+ RealScalar right; // was: = (k != actual_n-1) ? diag(k+1) : (diag(actual_n-1) + col0.matrix().norm());
767
+ if(k==actual_n-1)
768
+ right = (diag(actual_n-1) + col0.matrix().norm());
769
+ else
770
+ {
771
+ // Skip deflated singular values,
772
+ // recall that at this stage we assume that z[j]!=0 and all entries for which z[j]==0 have been put aside.
773
+ // This should be equivalent to using perm[]
774
+ Index l = k+1;
775
+ while(col0(l)==Literal(0)) { ++l; eigen_internal_assert(l<actual_n); }
776
+ right = diag(l);
777
+ }
778
+
779
+ // first decide whether it's closer to the left end or the right end
780
+ RealScalar mid = left + (right-left) / Literal(2);
781
+ RealScalar fMid = secularEq(mid, col0, diag, perm, diag, Literal(0));
782
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
783
+ std::cout << "right-left = " << right-left << "\n";
784
+ // std::cout << "fMid = " << fMid << " " << secularEq(mid-left, col0, diag, perm, ArrayXr(diag-left), left)
785
+ // << " " << secularEq(mid-right, col0, diag, perm, ArrayXr(diag-right), right) << "\n";
786
+ std::cout << " = " << secularEq(left+RealScalar(0.000001)*(right-left), col0, diag, perm, diag, 0)
787
+ << " " << secularEq(left+RealScalar(0.1) *(right-left), col0, diag, perm, diag, 0)
788
+ << " " << secularEq(left+RealScalar(0.2) *(right-left), col0, diag, perm, diag, 0)
789
+ << " " << secularEq(left+RealScalar(0.3) *(right-left), col0, diag, perm, diag, 0)
790
+ << " " << secularEq(left+RealScalar(0.4) *(right-left), col0, diag, perm, diag, 0)
791
+ << " " << secularEq(left+RealScalar(0.49) *(right-left), col0, diag, perm, diag, 0)
792
+ << " " << secularEq(left+RealScalar(0.5) *(right-left), col0, diag, perm, diag, 0)
793
+ << " " << secularEq(left+RealScalar(0.51) *(right-left), col0, diag, perm, diag, 0)
794
+ << " " << secularEq(left+RealScalar(0.6) *(right-left), col0, diag, perm, diag, 0)
795
+ << " " << secularEq(left+RealScalar(0.7) *(right-left), col0, diag, perm, diag, 0)
796
+ << " " << secularEq(left+RealScalar(0.8) *(right-left), col0, diag, perm, diag, 0)
797
+ << " " << secularEq(left+RealScalar(0.9) *(right-left), col0, diag, perm, diag, 0)
798
+ << " " << secularEq(left+RealScalar(0.999999)*(right-left), col0, diag, perm, diag, 0) << "\n";
799
+ #endif
800
+ RealScalar shift = (k == actual_n-1 || fMid > Literal(0)) ? left : right;
801
+
802
+ // measure everything relative to shift
803
+ Map<ArrayXr> diagShifted(m_workspace.data()+4*n, n);
804
+ diagShifted = diag - shift;
805
+
806
+ if(k!=actual_n-1)
807
+ {
808
+ // check that after the shift, f(mid) is still negative:
809
+ RealScalar midShifted = (right - left) / RealScalar(2);
810
+ if(shift==right)
811
+ midShifted = -midShifted;
812
+ RealScalar fMidShifted = secularEq(midShifted, col0, diag, perm, diagShifted, shift);
813
+ if(fMidShifted>0)
814
+ {
815
+ // fMid was erroneous, fix it:
816
+ shift = fMidShifted > Literal(0) ? left : right;
817
+ diagShifted = diag - shift;
818
+ }
819
+ }
820
+
821
+ // initial guess
822
+ RealScalar muPrev, muCur;
823
+ if (shift == left)
824
+ {
825
+ muPrev = (right - left) * RealScalar(0.1);
826
+ if (k == actual_n-1) muCur = right - left;
827
+ else muCur = (right - left) * RealScalar(0.5);
828
+ }
829
+ else
830
+ {
831
+ muPrev = -(right - left) * RealScalar(0.1);
832
+ muCur = -(right - left) * RealScalar(0.5);
833
+ }
834
+
835
+ RealScalar fPrev = secularEq(muPrev, col0, diag, perm, diagShifted, shift);
836
+ RealScalar fCur = secularEq(muCur, col0, diag, perm, diagShifted, shift);
837
+ if (abs(fPrev) < abs(fCur))
838
+ {
839
+ swap(fPrev, fCur);
840
+ swap(muPrev, muCur);
841
+ }
842
+
843
+ // rational interpolation: fit a function of the form a / mu + b through the two previous
844
+ // iterates and use its zero to compute the next iterate
845
+ bool useBisection = fPrev*fCur>Literal(0);
846
+ while (fCur!=Literal(0) && abs(muCur - muPrev) > Literal(8) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScalar>(abs(muCur), abs(muPrev)) && abs(fCur - fPrev)>NumTraits<RealScalar>::epsilon() && !useBisection)
847
+ {
848
+ ++m_numIters;
849
+
850
+ // Find a and b such that the function f(mu) = a / mu + b matches the current and previous samples.
851
+ RealScalar a = (fCur - fPrev) / (Literal(1)/muCur - Literal(1)/muPrev);
852
+ RealScalar b = fCur - a / muCur;
853
+ // And find mu such that f(mu)==0:
854
+ RealScalar muZero = -a/b;
855
+ RealScalar fZero = secularEq(muZero, col0, diag, perm, diagShifted, shift);
856
+
857
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
858
+ assert((numext::isfinite)(fZero));
859
+ #endif
860
+
861
+ muPrev = muCur;
862
+ fPrev = fCur;
863
+ muCur = muZero;
864
+ fCur = fZero;
865
+
866
+ if (shift == left && (muCur < Literal(0) || muCur > right - left)) useBisection = true;
867
+ if (shift == right && (muCur < -(right - left) || muCur > Literal(0))) useBisection = true;
868
+ if (abs(fCur)>abs(fPrev)) useBisection = true;
869
+ }
870
+
871
+ // fall back on bisection method if rational interpolation did not work
872
+ if (useBisection)
873
+ {
874
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
875
+ std::cout << "useBisection for k = " << k << ", actual_n = " << actual_n << "\n";
876
+ #endif
877
+ RealScalar leftShifted, rightShifted;
878
+ if (shift == left)
879
+ {
880
+ // to avoid overflow, we must have mu > max(real_min, |z(k)|/sqrt(real_max)),
881
+ // the factor 2 is to be more conservative
882
+ leftShifted = numext::maxi<RealScalar>( (std::numeric_limits<RealScalar>::min)(), Literal(2) * abs(col0(k)) / sqrt((std::numeric_limits<RealScalar>::max)()) );
883
+
884
+ // check that we did it right:
885
+ eigen_internal_assert( (numext::isfinite)( (col0(k)/leftShifted)*(col0(k)/(diag(k)+shift+leftShifted)) ) );
886
+ // I don't understand why the case k==0 would be special there:
887
+ // if (k == 0) rightShifted = right - left; else
888
+ rightShifted = (k==actual_n-1) ? right : ((right - left) * RealScalar(0.51)); // theoretically we can take 0.5, but let's be safe
889
+ }
890
+ else
891
+ {
892
+ leftShifted = -(right - left) * RealScalar(0.51);
893
+ if(k+1<n)
894
+ rightShifted = -numext::maxi<RealScalar>( (std::numeric_limits<RealScalar>::min)(), abs(col0(k+1)) / sqrt((std::numeric_limits<RealScalar>::max)()) );
895
+ else
896
+ rightShifted = -(std::numeric_limits<RealScalar>::min)();
897
+ }
898
+
899
+ RealScalar fLeft = secularEq(leftShifted, col0, diag, perm, diagShifted, shift);
900
+ eigen_internal_assert(fLeft<Literal(0));
901
+
902
+ #if defined EIGEN_INTERNAL_DEBUGGING || defined EIGEN_BDCSVD_SANITY_CHECKS
903
+ RealScalar fRight = secularEq(rightShifted, col0, diag, perm, diagShifted, shift);
904
+ #endif
905
+
906
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
907
+ if(!(numext::isfinite)(fLeft))
908
+ std::cout << "f(" << leftShifted << ") =" << fLeft << " ; " << left << " " << shift << " " << right << "\n";
909
+ assert((numext::isfinite)(fLeft));
910
+
911
+ if(!(numext::isfinite)(fRight))
912
+ std::cout << "f(" << rightShifted << ") =" << fRight << " ; " << left << " " << shift << " " << right << "\n";
913
+ // assert((numext::isfinite)(fRight));
914
+ #endif
915
+
916
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
917
+ if(!(fLeft * fRight<0))
918
+ {
919
+ std::cout << "f(leftShifted) using leftShifted=" << leftShifted << " ; diagShifted(1:10):" << diagShifted.head(10).transpose() << "\n ; "
920
+ << "left==shift=" << bool(left==shift) << " ; left-shift = " << (left-shift) << "\n";
921
+ std::cout << "k=" << k << ", " << fLeft << " * " << fRight << " == " << fLeft * fRight << " ; "
922
+ << "[" << left << " .. " << right << "] -> [" << leftShifted << " " << rightShifted << "], shift=" << shift
923
+ << " , f(right)=" << secularEq(0, col0, diag, perm, diagShifted, shift)
924
+ << " == " << secularEq(right, col0, diag, perm, diag, 0) << " == " << fRight << "\n";
925
+ }
926
+ #endif
927
+ eigen_internal_assert(fLeft * fRight < Literal(0));
928
+
929
+ if(fLeft<Literal(0))
930
+ {
931
+ while (rightShifted - leftShifted > Literal(2) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScalar>(abs(leftShifted), abs(rightShifted)))
932
+ {
933
+ RealScalar midShifted = (leftShifted + rightShifted) / Literal(2);
934
+ fMid = secularEq(midShifted, col0, diag, perm, diagShifted, shift);
935
+ eigen_internal_assert((numext::isfinite)(fMid));
936
+
937
+ if (fLeft * fMid < Literal(0))
938
+ {
939
+ rightShifted = midShifted;
940
+ }
941
+ else
942
+ {
943
+ leftShifted = midShifted;
944
+ fLeft = fMid;
945
+ }
946
+ }
947
+ muCur = (leftShifted + rightShifted) / Literal(2);
948
+ }
949
+ else
950
+ {
951
+ // We have a problem as shifting on the left or right give either a positive or negative value
952
+ // at the middle of [left,right]...
953
+ // Instead fo abbording or entering an infinite loop,
954
+ // let's just use the middle as the estimated zero-crossing:
955
+ muCur = (right - left) * RealScalar(0.5);
956
+ if(shift == right)
957
+ muCur = -muCur;
958
+ }
959
+ }
960
+
961
+ singVals[k] = shift + muCur;
962
+ shifts[k] = shift;
963
+ mus[k] = muCur;
964
+
965
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
966
+ if(k+1<n)
967
+ std::cout << "found " << singVals[k] << " == " << shift << " + " << muCur << " from " << diag(k) << " .. " << diag(k+1) << "\n";
968
+ #endif
969
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
970
+ assert(k==0 || singVals[k]>=singVals[k-1]);
971
+ assert(singVals[k]>=diag(k));
972
+ #endif
973
+
974
+ // perturb singular value slightly if it equals diagonal entry to avoid division by zero later
975
+ // (deflation is supposed to avoid this from happening)
976
+ // - this does no seem to be necessary anymore -
977
+ // if (singVals[k] == left) singVals[k] *= 1 + NumTraits<RealScalar>::epsilon();
978
+ // if (singVals[k] == right) singVals[k] *= 1 - NumTraits<RealScalar>::epsilon();
979
+ }
980
+ }
981
+
982
+
983
+ // zhat is perturbation of col0 for which singular vectors can be computed stably (see Section 3.1)
984
+ template <typename MatrixType>
985
+ void BDCSVD<MatrixType>::perturbCol0
986
+ (const ArrayRef& col0, const ArrayRef& diag, const IndicesRef &perm, const VectorType& singVals,
987
+ const ArrayRef& shifts, const ArrayRef& mus, ArrayRef zhat)
988
+ {
989
+ using std::sqrt;
990
+ Index n = col0.size();
991
+ Index m = perm.size();
992
+ if(m==0)
993
+ {
994
+ zhat.setZero();
995
+ return;
996
+ }
997
+ Index lastIdx = perm(m-1);
998
+ // The offset permits to skip deflated entries while computing zhat
999
+ for (Index k = 0; k < n; ++k)
1000
+ {
1001
+ if (col0(k) == Literal(0)) // deflated
1002
+ zhat(k) = Literal(0);
1003
+ else
1004
+ {
1005
+ // see equation (3.6)
1006
+ RealScalar dk = diag(k);
1007
+ RealScalar prod = (singVals(lastIdx) + dk) * (mus(lastIdx) + (shifts(lastIdx) - dk));
1008
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1009
+ if(prod<0) {
1010
+ std::cout << "k = " << k << " ; z(k)=" << col0(k) << ", diag(k)=" << dk << "\n";
1011
+ std::cout << "prod = " << "(" << singVals(lastIdx) << " + " << dk << ") * (" << mus(lastIdx) << " + (" << shifts(lastIdx) << " - " << dk << "))" << "\n";
1012
+ std::cout << " = " << singVals(lastIdx) + dk << " * " << mus(lastIdx) + (shifts(lastIdx) - dk) << "\n";
1013
+ }
1014
+ assert(prod>=0);
1015
+ #endif
1016
+
1017
+ for(Index l = 0; l<m; ++l)
1018
+ {
1019
+ Index i = perm(l);
1020
+ if(i!=k)
1021
+ {
1022
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1023
+ if(i>=k && (l==0 || l-1>=m))
1024
+ {
1025
+ std::cout << "Error in perturbCol0\n";
1026
+ std::cout << " " << k << "/" << n << " " << l << "/" << m << " " << i << "/" << n << " ; " << col0(k) << " " << diag(k) << " " << "\n";
1027
+ std::cout << " " <<diag(i) << "\n";
1028
+ Index j = (i<k /*|| l==0*/) ? i : perm(l-1);
1029
+ std::cout << " " << "j=" << j << "\n";
1030
+ }
1031
+ #endif
1032
+ Index j = i<k ? i : perm(l-1);
1033
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1034
+ if(!(dk!=Literal(0) || diag(i)!=Literal(0)))
1035
+ {
1036
+ std::cout << "k=" << k << ", i=" << i << ", l=" << l << ", perm.size()=" << perm.size() << "\n";
1037
+ }
1038
+ assert(dk!=Literal(0) || diag(i)!=Literal(0));
1039
+ #endif
1040
+ prod *= ((singVals(j)+dk) / ((diag(i)+dk))) * ((mus(j)+(shifts(j)-dk)) / ((diag(i)-dk)));
1041
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1042
+ assert(prod>=0);
1043
+ #endif
1044
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1045
+ if(i!=k && numext::abs(((singVals(j)+dk)*(mus(j)+(shifts(j)-dk)))/((diag(i)+dk)*(diag(i)-dk)) - 1) > 0.9 )
1046
+ std::cout << " " << ((singVals(j)+dk)*(mus(j)+(shifts(j)-dk)))/((diag(i)+dk)*(diag(i)-dk)) << " == (" << (singVals(j)+dk) << " * " << (mus(j)+(shifts(j)-dk))
1047
+ << ") / (" << (diag(i)+dk) << " * " << (diag(i)-dk) << ")\n";
1048
+ #endif
1049
+ }
1050
+ }
1051
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1052
+ std::cout << "zhat(" << k << ") = sqrt( " << prod << ") ; " << (singVals(lastIdx) + dk) << " * " << mus(lastIdx) + shifts(lastIdx) << " - " << dk << "\n";
1053
+ #endif
1054
+ RealScalar tmp = sqrt(prod);
1055
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1056
+ assert((numext::isfinite)(tmp));
1057
+ #endif
1058
+ zhat(k) = col0(k) > Literal(0) ? RealScalar(tmp) : RealScalar(-tmp);
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ // compute singular vectors
1064
+ template <typename MatrixType>
1065
+ void BDCSVD<MatrixType>::computeSingVecs
1066
+ (const ArrayRef& zhat, const ArrayRef& diag, const IndicesRef &perm, const VectorType& singVals,
1067
+ const ArrayRef& shifts, const ArrayRef& mus, MatrixXr& U, MatrixXr& V)
1068
+ {
1069
+ Index n = zhat.size();
1070
+ Index m = perm.size();
1071
+
1072
+ for (Index k = 0; k < n; ++k)
1073
+ {
1074
+ if (zhat(k) == Literal(0))
1075
+ {
1076
+ U.col(k) = VectorType::Unit(n+1, k);
1077
+ if (m_compV) V.col(k) = VectorType::Unit(n, k);
1078
+ }
1079
+ else
1080
+ {
1081
+ U.col(k).setZero();
1082
+ for(Index l=0;l<m;++l)
1083
+ {
1084
+ Index i = perm(l);
1085
+ U(i,k) = zhat(i)/(((diag(i) - shifts(k)) - mus(k)) )/( (diag(i) + singVals[k]));
1086
+ }
1087
+ U(n,k) = Literal(0);
1088
+ U.col(k).normalize();
1089
+
1090
+ if (m_compV)
1091
+ {
1092
+ V.col(k).setZero();
1093
+ for(Index l=1;l<m;++l)
1094
+ {
1095
+ Index i = perm(l);
1096
+ V(i,k) = diag(i) * zhat(i) / (((diag(i) - shifts(k)) - mus(k)) )/( (diag(i) + singVals[k]));
1097
+ }
1098
+ V(0,k) = Literal(-1);
1099
+ V.col(k).normalize();
1100
+ }
1101
+ }
1102
+ }
1103
+ U.col(n) = VectorType::Unit(n+1, n);
1104
+ }
1105
+
1106
+
1107
+ // page 12_13
1108
+ // i >= 1, di almost null and zi non null.
1109
+ // We use a rotation to zero out zi applied to the left of M
1110
+ template <typename MatrixType>
1111
+ void BDCSVD<MatrixType>::deflation43(Eigen::Index firstCol, Eigen::Index shift, Eigen::Index i, Eigen::Index size)
1112
+ {
1113
+ using std::abs;
1114
+ using std::sqrt;
1115
+ using std::pow;
1116
+ Index start = firstCol + shift;
1117
+ RealScalar c = m_computed(start, start);
1118
+ RealScalar s = m_computed(start+i, start);
1119
+ RealScalar r = numext::hypot(c,s);
1120
+ if (r == Literal(0))
1121
+ {
1122
+ m_computed(start+i, start+i) = Literal(0);
1123
+ return;
1124
+ }
1125
+ m_computed(start,start) = r;
1126
+ m_computed(start+i, start) = Literal(0);
1127
+ m_computed(start+i, start+i) = Literal(0);
1128
+
1129
+ JacobiRotation<RealScalar> J(c/r,-s/r);
1130
+ if (m_compU) m_naiveU.middleRows(firstCol, size+1).applyOnTheRight(firstCol, firstCol+i, J);
1131
+ else m_naiveU.applyOnTheRight(firstCol, firstCol+i, J);
1132
+ }// end deflation 43
1133
+
1134
+
1135
+ // page 13
1136
+ // i,j >= 1, i!=j and |di - dj| < epsilon * norm2(M)
1137
+ // We apply two rotations to have zj = 0;
1138
+ // TODO deflation44 is still broken and not properly tested
1139
+ template <typename MatrixType>
1140
+ void BDCSVD<MatrixType>::deflation44(Eigen::Index firstColu , Eigen::Index firstColm, Eigen::Index firstRowW, Eigen::Index firstColW, Eigen::Index i, Eigen::Index j, Eigen::Index size)
1141
+ {
1142
+ using std::abs;
1143
+ using std::sqrt;
1144
+ using std::conj;
1145
+ using std::pow;
1146
+ RealScalar c = m_computed(firstColm+i, firstColm);
1147
+ RealScalar s = m_computed(firstColm+j, firstColm);
1148
+ RealScalar r = sqrt(numext::abs2(c) + numext::abs2(s));
1149
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1150
+ std::cout << "deflation 4.4: " << i << "," << j << " -> " << c << " " << s << " " << r << " ; "
1151
+ << m_computed(firstColm + i-1, firstColm) << " "
1152
+ << m_computed(firstColm + i, firstColm) << " "
1153
+ << m_computed(firstColm + i+1, firstColm) << " "
1154
+ << m_computed(firstColm + i+2, firstColm) << "\n";
1155
+ std::cout << m_computed(firstColm + i-1, firstColm + i-1) << " "
1156
+ << m_computed(firstColm + i, firstColm+i) << " "
1157
+ << m_computed(firstColm + i+1, firstColm+i+1) << " "
1158
+ << m_computed(firstColm + i+2, firstColm+i+2) << "\n";
1159
+ #endif
1160
+ if (r==Literal(0))
1161
+ {
1162
+ m_computed(firstColm + i, firstColm + i) = m_computed(firstColm + j, firstColm + j);
1163
+ return;
1164
+ }
1165
+ c/=r;
1166
+ s/=r;
1167
+ m_computed(firstColm + i, firstColm) = r;
1168
+ m_computed(firstColm + j, firstColm + j) = m_computed(firstColm + i, firstColm + i);
1169
+ m_computed(firstColm + j, firstColm) = Literal(0);
1170
+
1171
+ JacobiRotation<RealScalar> J(c,-s);
1172
+ if (m_compU) m_naiveU.middleRows(firstColu, size+1).applyOnTheRight(firstColu + i, firstColu + j, J);
1173
+ else m_naiveU.applyOnTheRight(firstColu+i, firstColu+j, J);
1174
+ if (m_compV) m_naiveV.middleRows(firstRowW, size).applyOnTheRight(firstColW + i, firstColW + j, J);
1175
+ }// end deflation 44
1176
+
1177
+
1178
+ // acts on block from (firstCol+shift, firstCol+shift) to (lastCol+shift, lastCol+shift) [inclusive]
1179
+ template <typename MatrixType>
1180
+ void BDCSVD<MatrixType>::deflation(Eigen::Index firstCol, Eigen::Index lastCol, Eigen::Index k, Eigen::Index firstRowW, Eigen::Index firstColW, Eigen::Index shift)
1181
+ {
1182
+ using std::sqrt;
1183
+ using std::abs;
1184
+ const Index length = lastCol + 1 - firstCol;
1185
+
1186
+ Block<MatrixXr,Dynamic,1> col0(m_computed, firstCol+shift, firstCol+shift, length, 1);
1187
+ Diagonal<MatrixXr> fulldiag(m_computed);
1188
+ VectorBlock<Diagonal<MatrixXr>,Dynamic> diag(fulldiag, firstCol+shift, length);
1189
+
1190
+ const RealScalar considerZero = (std::numeric_limits<RealScalar>::min)();
1191
+ RealScalar maxDiag = diag.tail((std::max)(Index(1),length-1)).cwiseAbs().maxCoeff();
1192
+ RealScalar epsilon_strict = numext::maxi<RealScalar>(considerZero,NumTraits<RealScalar>::epsilon() * maxDiag);
1193
+ RealScalar epsilon_coarse = Literal(8) * NumTraits<RealScalar>::epsilon() * numext::maxi<RealScalar>(col0.cwiseAbs().maxCoeff(), maxDiag);
1194
+
1195
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1196
+ assert(m_naiveU.allFinite());
1197
+ assert(m_naiveV.allFinite());
1198
+ assert(m_computed.allFinite());
1199
+ #endif
1200
+
1201
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1202
+ std::cout << "\ndeflate:" << diag.head(k+1).transpose() << " | " << diag.segment(k+1,length-k-1).transpose() << "\n";
1203
+ #endif
1204
+
1205
+ //condition 4.1
1206
+ if (diag(0) < epsilon_coarse)
1207
+ {
1208
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1209
+ std::cout << "deflation 4.1, because " << diag(0) << " < " << epsilon_coarse << "\n";
1210
+ #endif
1211
+ diag(0) = epsilon_coarse;
1212
+ }
1213
+
1214
+ //condition 4.2
1215
+ for (Index i=1;i<length;++i)
1216
+ if (abs(col0(i)) < epsilon_strict)
1217
+ {
1218
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1219
+ std::cout << "deflation 4.2, set z(" << i << ") to zero because " << abs(col0(i)) << " < " << epsilon_strict << " (diag(" << i << ")=" << diag(i) << ")\n";
1220
+ #endif
1221
+ col0(i) = Literal(0);
1222
+ }
1223
+
1224
+ //condition 4.3
1225
+ for (Index i=1;i<length; i++)
1226
+ if (diag(i) < epsilon_coarse)
1227
+ {
1228
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1229
+ std::cout << "deflation 4.3, cancel z(" << i << ")=" << col0(i) << " because diag(" << i << ")=" << diag(i) << " < " << epsilon_coarse << "\n";
1230
+ #endif
1231
+ deflation43(firstCol, shift, i, length);
1232
+ }
1233
+
1234
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1235
+ assert(m_naiveU.allFinite());
1236
+ assert(m_naiveV.allFinite());
1237
+ assert(m_computed.allFinite());
1238
+ #endif
1239
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1240
+ std::cout << "to be sorted: " << diag.transpose() << "\n\n";
1241
+ std::cout << " : " << col0.transpose() << "\n\n";
1242
+ #endif
1243
+ {
1244
+ // Check for total deflation
1245
+ // If we have a total deflation, then we have to consider col0(0)==diag(0) as a singular value during sorting
1246
+ bool total_deflation = (col0.tail(length-1).array()<considerZero).all();
1247
+
1248
+ // Sort the diagonal entries, since diag(1:k-1) and diag(k:length) are already sorted, let's do a sorted merge.
1249
+ // First, compute the respective permutation.
1250
+ Index *permutation = m_workspaceI.data();
1251
+ {
1252
+ permutation[0] = 0;
1253
+ Index p = 1;
1254
+
1255
+ // Move deflated diagonal entries at the end.
1256
+ for(Index i=1; i<length; ++i)
1257
+ if(abs(diag(i))<considerZero)
1258
+ permutation[p++] = i;
1259
+
1260
+ Index i=1, j=k+1;
1261
+ for( ; p < length; ++p)
1262
+ {
1263
+ if (i > k) permutation[p] = j++;
1264
+ else if (j >= length) permutation[p] = i++;
1265
+ else if (diag(i) < diag(j)) permutation[p] = j++;
1266
+ else permutation[p] = i++;
1267
+ }
1268
+ }
1269
+
1270
+ // If we have a total deflation, then we have to insert diag(0) at the right place
1271
+ if(total_deflation)
1272
+ {
1273
+ for(Index i=1; i<length; ++i)
1274
+ {
1275
+ Index pi = permutation[i];
1276
+ if(abs(diag(pi))<considerZero || diag(0)<diag(pi))
1277
+ permutation[i-1] = permutation[i];
1278
+ else
1279
+ {
1280
+ permutation[i-1] = 0;
1281
+ break;
1282
+ }
1283
+ }
1284
+ }
1285
+
1286
+ // Current index of each col, and current column of each index
1287
+ Index *realInd = m_workspaceI.data()+length;
1288
+ Index *realCol = m_workspaceI.data()+2*length;
1289
+
1290
+ for(int pos = 0; pos< length; pos++)
1291
+ {
1292
+ realCol[pos] = pos;
1293
+ realInd[pos] = pos;
1294
+ }
1295
+
1296
+ for(Index i = total_deflation?0:1; i < length; i++)
1297
+ {
1298
+ const Index pi = permutation[length - (total_deflation ? i+1 : i)];
1299
+ const Index J = realCol[pi];
1300
+
1301
+ using std::swap;
1302
+ // swap diagonal and first column entries:
1303
+ swap(diag(i), diag(J));
1304
+ if(i!=0 && J!=0) swap(col0(i), col0(J));
1305
+
1306
+ // change columns
1307
+ if (m_compU) m_naiveU.col(firstCol+i).segment(firstCol, length + 1).swap(m_naiveU.col(firstCol+J).segment(firstCol, length + 1));
1308
+ else m_naiveU.col(firstCol+i).segment(0, 2) .swap(m_naiveU.col(firstCol+J).segment(0, 2));
1309
+ if (m_compV) m_naiveV.col(firstColW + i).segment(firstRowW, length).swap(m_naiveV.col(firstColW + J).segment(firstRowW, length));
1310
+
1311
+ //update real pos
1312
+ const Index realI = realInd[i];
1313
+ realCol[realI] = J;
1314
+ realCol[pi] = i;
1315
+ realInd[J] = realI;
1316
+ realInd[i] = pi;
1317
+ }
1318
+ }
1319
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1320
+ std::cout << "sorted: " << diag.transpose().format(bdcsvdfmt) << "\n";
1321
+ std::cout << " : " << col0.transpose() << "\n\n";
1322
+ #endif
1323
+
1324
+ //condition 4.4
1325
+ {
1326
+ Index i = length-1;
1327
+ while(i>0 && (abs(diag(i))<considerZero || abs(col0(i))<considerZero)) --i;
1328
+ for(; i>1;--i)
1329
+ if( (diag(i) - diag(i-1)) < NumTraits<RealScalar>::epsilon()*maxDiag )
1330
+ {
1331
+ #ifdef EIGEN_BDCSVD_DEBUG_VERBOSE
1332
+ std::cout << "deflation 4.4 with i = " << i << " because " << diag(i) << " - " << diag(i-1) << " == " << (diag(i) - diag(i-1)) << " < " << NumTraits<RealScalar>::epsilon()*/*diag(i)*/maxDiag << "\n";
1333
+ #endif
1334
+ eigen_internal_assert(abs(diag(i) - diag(i-1))<epsilon_coarse && " diagonal entries are not properly sorted");
1335
+ deflation44(firstCol, firstCol + shift, firstRowW, firstColW, i-1, i, length);
1336
+ }
1337
+ }
1338
+
1339
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1340
+ for(Index j=2;j<length;++j)
1341
+ assert(diag(j-1)<=diag(j) || abs(diag(j))<considerZero);
1342
+ #endif
1343
+
1344
+ #ifdef EIGEN_BDCSVD_SANITY_CHECKS
1345
+ assert(m_naiveU.allFinite());
1346
+ assert(m_naiveV.allFinite());
1347
+ assert(m_computed.allFinite());
1348
+ #endif
1349
+ }//end deflation
1350
+
1351
+ /** \svd_module
1352
+ *
1353
+ * \return the singular value decomposition of \c *this computed by Divide & Conquer algorithm
1354
+ *
1355
+ * \sa class BDCSVD
1356
+ */
1357
+ template<typename Derived>
1358
+ BDCSVD<typename MatrixBase<Derived>::PlainObject>
1359
+ MatrixBase<Derived>::bdcSvd(unsigned int computationOptions) const
1360
+ {
1361
+ return BDCSVD<PlainObject>(*this, computationOptions);
1362
+ }
1363
+
1364
+ } // end namespace Eigen
1365
+
1366
+ #endif