casadi 3.6.4__cp310-none-manylinux2014_aarch64.whl → 3.6.6__cp310-none-manylinux2014_aarch64.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 (1439) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +984 -500
  3. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +0 -5
  4. casadi/cmake/alpaqa/alpaqaTargets.cmake +1 -1
  5. casadi/cmake/casadi-config-version.cmake +1 -1
  6. casadi/cmake/casadi-targets.cmake +1 -1
  7. casadi/cmake/osqp/osqp-targets.cmake +1 -1
  8. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +0 -5
  9. casadi/cmake/proxsuite/proxsuiteTargets.cmake +1 -1
  10. casadi/cmake/qdldl/qdldl-targets.cmake +1 -1
  11. casadi/include/casadi/casadi.i +33 -15
  12. casadi/include/casadi/casadi_c.h +2 -0
  13. casadi/include/casadi/config.h +8 -8
  14. casadi/include/casadi/core/casadi_common.hpp +1 -0
  15. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  16. casadi/include/casadi/core/casadi_types.hpp +3 -2
  17. casadi/include/casadi/core/code_generator.hpp +59 -2
  18. casadi/include/casadi/core/core.hpp +1 -0
  19. casadi/include/casadi/core/generic_expression.hpp +1 -1
  20. casadi/include/casadi/core/generic_type.hpp +25 -1
  21. casadi/include/casadi/core/global_options.hpp +2 -0
  22. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  23. casadi/include/casadi/core/mx.hpp +13 -3
  24. casadi/include/casadi/core/optistack.hpp +23 -0
  25. casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
  26. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  27. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  28. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  29. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  30. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  31. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  32. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  33. casadi/include/casadi/core/sparsity.hpp +12 -3
  34. casadi/include/casadi/core/tools.hpp +67 -0
  35. casadi/include/casadi/doc.i +2283 -1491
  36. casadi/include/casadi/doc_merged.i +1522 -1065
  37. casadi/include/casadi/mem.h +1 -0
  38. casadi/include/daqp/api.h +46 -0
  39. casadi/include/daqp/auxiliary.h +29 -0
  40. casadi/include/daqp/bnb.h +32 -0
  41. casadi/include/daqp/codegen.h +18 -0
  42. casadi/include/daqp/constants.h +92 -0
  43. casadi/include/daqp/daqp.h +22 -0
  44. casadi/include/daqp/daqp_prox.h +18 -0
  45. casadi/include/daqp/factorization.h +18 -0
  46. casadi/include/daqp/types.h +161 -0
  47. casadi/include/daqp/utils.h +44 -0
  48. casadi/include/fatrop/auxiliary/Common.hpp +33 -0
  49. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  50. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  51. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  52. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  53. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  54. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +492 -0
  55. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  56. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  57. casadi/include/fatrop/json/json.h +946 -0
  58. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  59. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  60. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  61. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  62. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  63. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  64. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  65. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  66. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  67. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  68. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  69. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +191 -0
  70. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  71. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  72. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  73. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  74. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  75. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  76. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  77. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  78. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  79. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  80. casadi/include/fatrop/solver/AlgBuilder.hpp +66 -0
  81. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  82. casadi/include/fatrop/solver/FatropAlg.hpp +108 -0
  83. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  84. casadi/include/fatrop/solver/FatropOptions.hpp +94 -0
  85. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  86. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  87. casadi/include/fatrop/solver/Filter.hpp +54 -0
  88. casadi/include/fatrop/solver/IterationData.hpp +55 -0
  89. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  90. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  91. casadi/include/fatrop/templates/NLPAlg.hpp +102 -0
  92. casadi/include/licenses/daqp-external/LICENSE +21 -0
  93. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  94. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  95. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  96. casadi/include/osqp/constants.h +2 -3
  97. casadi/include/osqp/version.h +9 -0
  98. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +0 -5
  99. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +1 -1
  100. casadi/libcasadi.so +0 -0
  101. casadi/libcasadi.so.3.7 +0 -0
  102. casadi/libcasadi_conic_cplex.so +0 -0
  103. casadi/libcasadi_conic_cplex.so.3.7 +0 -0
  104. casadi/libcasadi_conic_daqp.so +0 -0
  105. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  106. casadi/libcasadi_conic_fatrop.so +0 -0
  107. casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
  108. casadi/libcasadi_conic_gurobi.so +0 -0
  109. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  110. casadi/libcasadi_conic_hpipm.so +0 -0
  111. casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
  112. casadi/libcasadi_conic_ipqp.so +0 -0
  113. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  114. casadi/libcasadi_conic_nlpsol.so +0 -0
  115. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  116. casadi/libcasadi_conic_osqp.so +0 -0
  117. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  118. casadi/libcasadi_conic_proxqp.so +0 -0
  119. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  120. casadi/libcasadi_conic_qpoases.so +0 -0
  121. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  122. casadi/libcasadi_conic_qrqp.so +0 -0
  123. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  124. casadi/libcasadi_conic_superscs.so +0 -0
  125. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  126. casadi/libcasadi_integrator_collocation.so +0 -0
  127. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  128. casadi/libcasadi_integrator_cvodes.so +0 -0
  129. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  130. casadi/libcasadi_integrator_idas.so +0 -0
  131. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  132. casadi/libcasadi_integrator_rk.so +0 -0
  133. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  134. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  135. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  136. casadi/libcasadi_nlpsol_ampl.so +0 -0
  137. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  138. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  139. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  140. casadi/libcasadi_nlpsol_fatrop.so +0 -0
  141. casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
  142. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  143. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  144. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  145. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  146. casadi/libcasadi_nlpsol_knitro.so +0 -0
  147. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  148. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  149. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  150. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  151. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  152. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  153. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  154. casadi/libcasadi_nlpsol_snopt.so +0 -0
  155. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  156. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  157. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  158. casadi/libcasadi_nlpsol_worhp.so +0 -0
  159. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  160. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  161. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  162. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  163. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  164. casadi/libcasadi_rootfinder_newton.so +0 -0
  165. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  166. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  167. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  168. casadi/libcasadi_sundials_common.so +0 -0
  169. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  170. casadi/libdaqp.so +0 -0
  171. casadi/libdaqpstat.a +0 -0
  172. casadi/libfatrop.so +0 -0
  173. casadi/libipopt.so +0 -0
  174. casadi/libipopt.so.3 +0 -0
  175. casadi/libipopt.so.3.14.11 +0 -0
  176. casadi/libmatlab_ipc.so +0 -0
  177. casadi/libosqp.a +0 -0
  178. casadi/libosqp.so +0 -0
  179. casadi/libsipopt.so +0 -0
  180. casadi/libsipopt.so.3 +0 -0
  181. casadi/libsipopt.so.3.14.11 +0 -0
  182. casadi/pkgconfig/casadi.pc +1 -1
  183. casadi/tools/__init__.py +4 -0
  184. casadi/tools/bounds.py +3 -3
  185. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
  186. casadi-3.6.6.dist-info/RECORD +1681 -0
  187. casadi/include/include/eigen3/Eigen/Cholesky +0 -45
  188. casadi/include/include/eigen3/Eigen/CholmodSupport +0 -48
  189. casadi/include/include/eigen3/Eigen/Core +0 -384
  190. casadi/include/include/eigen3/Eigen/Dense +0 -7
  191. casadi/include/include/eigen3/Eigen/Eigen +0 -2
  192. casadi/include/include/eigen3/Eigen/Eigenvalues +0 -60
  193. casadi/include/include/eigen3/Eigen/Geometry +0 -59
  194. casadi/include/include/eigen3/Eigen/Householder +0 -29
  195. casadi/include/include/eigen3/Eigen/IterativeLinearSolvers +0 -48
  196. casadi/include/include/eigen3/Eigen/Jacobi +0 -32
  197. casadi/include/include/eigen3/Eigen/KLUSupport +0 -41
  198. casadi/include/include/eigen3/Eigen/LU +0 -47
  199. casadi/include/include/eigen3/Eigen/MetisSupport +0 -35
  200. casadi/include/include/eigen3/Eigen/OrderingMethods +0 -70
  201. casadi/include/include/eigen3/Eigen/PaStiXSupport +0 -49
  202. casadi/include/include/eigen3/Eigen/PardisoSupport +0 -35
  203. casadi/include/include/eigen3/Eigen/QR +0 -50
  204. casadi/include/include/eigen3/Eigen/QtAlignedMalloc +0 -39
  205. casadi/include/include/eigen3/Eigen/SPQRSupport +0 -34
  206. casadi/include/include/eigen3/Eigen/SVD +0 -50
  207. casadi/include/include/eigen3/Eigen/Sparse +0 -34
  208. casadi/include/include/eigen3/Eigen/SparseCholesky +0 -37
  209. casadi/include/include/eigen3/Eigen/SparseCore +0 -69
  210. casadi/include/include/eigen3/Eigen/SparseLU +0 -50
  211. casadi/include/include/eigen3/Eigen/SparseQR +0 -36
  212. casadi/include/include/eigen3/Eigen/StdDeque +0 -27
  213. casadi/include/include/eigen3/Eigen/StdList +0 -26
  214. casadi/include/include/eigen3/Eigen/StdVector +0 -27
  215. casadi/include/include/eigen3/Eigen/SuperLUSupport +0 -64
  216. casadi/include/include/eigen3/Eigen/UmfPackSupport +0 -40
  217. casadi/include/include/eigen3/Eigen/src/Cholesky/LDLT.h +0 -688
  218. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT.h +0 -558
  219. casadi/include/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  220. casadi/include/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  221. casadi/include/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +0 -413
  222. casadi/include/include/eigen3/Eigen/src/Core/Array.h +0 -417
  223. casadi/include/include/eigen3/Eigen/src/Core/ArrayBase.h +0 -226
  224. casadi/include/include/eigen3/Eigen/src/Core/ArrayWrapper.h +0 -209
  225. casadi/include/include/eigen3/Eigen/src/Core/Assign.h +0 -90
  226. casadi/include/include/eigen3/Eigen/src/Core/AssignEvaluator.h +0 -1010
  227. casadi/include/include/eigen3/Eigen/src/Core/Assign_MKL.h +0 -178
  228. casadi/include/include/eigen3/Eigen/src/Core/BandMatrix.h +0 -353
  229. casadi/include/include/eigen3/Eigen/src/Core/Block.h +0 -448
  230. casadi/include/include/eigen3/Eigen/src/Core/BooleanRedux.h +0 -162
  231. casadi/include/include/eigen3/Eigen/src/Core/CommaInitializer.h +0 -164
  232. casadi/include/include/eigen3/Eigen/src/Core/ConditionEstimator.h +0 -175
  233. casadi/include/include/eigen3/Eigen/src/Core/CoreEvaluators.h +0 -1741
  234. casadi/include/include/eigen3/Eigen/src/Core/CoreIterators.h +0 -132
  235. casadi/include/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +0 -183
  236. casadi/include/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +0 -1001
  237. casadi/include/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +0 -197
  238. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +0 -103
  239. casadi/include/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +0 -132
  240. casadi/include/include/eigen3/Eigen/src/Core/DenseBase.h +0 -701
  241. casadi/include/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +0 -685
  242. casadi/include/include/eigen3/Eigen/src/Core/DenseStorage.h +0 -652
  243. casadi/include/include/eigen3/Eigen/src/Core/Diagonal.h +0 -258
  244. casadi/include/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +0 -391
  245. casadi/include/include/eigen3/Eigen/src/Core/DiagonalProduct.h +0 -28
  246. casadi/include/include/eigen3/Eigen/src/Core/Dot.h +0 -318
  247. casadi/include/include/eigen3/Eigen/src/Core/EigenBase.h +0 -160
  248. casadi/include/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +0 -150
  249. casadi/include/include/eigen3/Eigen/src/Core/Fuzzy.h +0 -155
  250. casadi/include/include/eigen3/Eigen/src/Core/GeneralProduct.h +0 -465
  251. casadi/include/include/eigen3/Eigen/src/Core/GenericPacketMath.h +0 -1040
  252. casadi/include/include/eigen3/Eigen/src/Core/GlobalFunctions.h +0 -194
  253. casadi/include/include/eigen3/Eigen/src/Core/IO.h +0 -258
  254. casadi/include/include/eigen3/Eigen/src/Core/IndexedView.h +0 -237
  255. casadi/include/include/eigen3/Eigen/src/Core/Inverse.h +0 -117
  256. casadi/include/include/eigen3/Eigen/src/Core/Map.h +0 -171
  257. casadi/include/include/eigen3/Eigen/src/Core/MapBase.h +0 -310
  258. casadi/include/include/eigen3/Eigen/src/Core/MathFunctions.h +0 -2057
  259. casadi/include/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +0 -200
  260. casadi/include/include/eigen3/Eigen/src/Core/Matrix.h +0 -565
  261. casadi/include/include/eigen3/Eigen/src/Core/MatrixBase.h +0 -547
  262. casadi/include/include/eigen3/Eigen/src/Core/NestByValue.h +0 -85
  263. casadi/include/include/eigen3/Eigen/src/Core/NoAlias.h +0 -109
  264. casadi/include/include/eigen3/Eigen/src/Core/NumTraits.h +0 -335
  265. casadi/include/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +0 -232
  266. casadi/include/include/eigen3/Eigen/src/Core/PermutationMatrix.h +0 -605
  267. casadi/include/include/eigen3/Eigen/src/Core/PlainObjectBase.h +0 -1128
  268. casadi/include/include/eigen3/Eigen/src/Core/Product.h +0 -191
  269. casadi/include/include/eigen3/Eigen/src/Core/ProductEvaluators.h +0 -1179
  270. casadi/include/include/eigen3/Eigen/src/Core/Random.h +0 -218
  271. casadi/include/include/eigen3/Eigen/src/Core/Redux.h +0 -515
  272. casadi/include/include/eigen3/Eigen/src/Core/Ref.h +0 -381
  273. casadi/include/include/eigen3/Eigen/src/Core/Replicate.h +0 -142
  274. casadi/include/include/eigen3/Eigen/src/Core/Reshaped.h +0 -454
  275. casadi/include/include/eigen3/Eigen/src/Core/ReturnByValue.h +0 -119
  276. casadi/include/include/eigen3/Eigen/src/Core/Reverse.h +0 -217
  277. casadi/include/include/eigen3/Eigen/src/Core/Select.h +0 -164
  278. casadi/include/include/eigen3/Eigen/src/Core/SelfAdjointView.h +0 -365
  279. casadi/include/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +0 -47
  280. casadi/include/include/eigen3/Eigen/src/Core/Solve.h +0 -188
  281. casadi/include/include/eigen3/Eigen/src/Core/SolveTriangular.h +0 -235
  282. casadi/include/include/eigen3/Eigen/src/Core/SolverBase.h +0 -168
  283. casadi/include/include/eigen3/Eigen/src/Core/StableNorm.h +0 -251
  284. casadi/include/include/eigen3/Eigen/src/Core/StlIterators.h +0 -463
  285. casadi/include/include/eigen3/Eigen/src/Core/Stride.h +0 -116
  286. casadi/include/include/eigen3/Eigen/src/Core/Swap.h +0 -68
  287. casadi/include/include/eigen3/Eigen/src/Core/Transpose.h +0 -464
  288. casadi/include/include/eigen3/Eigen/src/Core/Transpositions.h +0 -386
  289. casadi/include/include/eigen3/Eigen/src/Core/TriangularMatrix.h +0 -1001
  290. casadi/include/include/eigen3/Eigen/src/Core/VectorBlock.h +0 -96
  291. casadi/include/include/eigen3/Eigen/src/Core/VectorwiseOp.h +0 -784
  292. casadi/include/include/eigen3/Eigen/src/Core/Visitor.h +0 -381
  293. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +0 -372
  294. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +0 -228
  295. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +0 -1574
  296. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +0 -115
  297. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +0 -422
  298. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +0 -362
  299. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +0 -2303
  300. casadi/include/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +0 -89
  301. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +0 -417
  302. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +0 -90
  303. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +0 -2937
  304. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +0 -221
  305. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +0 -629
  306. casadi/include/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +0 -2711
  307. casadi/include/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +0 -258
  308. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +0 -700
  309. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +0 -117
  310. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +0 -1649
  311. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +0 -110
  312. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Half.h +0 -942
  313. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +0 -49
  314. casadi/include/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +0 -120
  315. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +0 -103
  316. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +0 -1685
  317. casadi/include/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +0 -80
  318. casadi/include/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +0 -23
  319. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +0 -648
  320. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +0 -387
  321. casadi/include/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +0 -1233
  322. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +0 -584
  323. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +0 -183
  324. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +0 -75
  325. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +0 -4587
  326. casadi/include/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +0 -1419
  327. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +0 -351
  328. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +0 -199
  329. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +0 -1505
  330. casadi/include/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +0 -142
  331. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +0 -44
  332. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +0 -752
  333. casadi/include/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +0 -49
  334. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +0 -232
  335. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +0 -301
  336. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +0 -670
  337. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +0 -694
  338. casadi/include/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +0 -85
  339. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +0 -426
  340. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +0 -233
  341. casadi/include/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +0 -1060
  342. casadi/include/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +0 -177
  343. casadi/include/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +0 -541
  344. casadi/include/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +0 -189
  345. casadi/include/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +0 -166
  346. casadi/include/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +0 -25
  347. casadi/include/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +0 -1131
  348. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +0 -2645
  349. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +0 -517
  350. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +0 -317
  351. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +0 -145
  352. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +0 -124
  353. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +0 -518
  354. casadi/include/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +0 -136
  355. casadi/include/include/eigen3/Eigen/src/Core/products/Parallelizer.h +0 -180
  356. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +0 -544
  357. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +0 -295
  358. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +0 -262
  359. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +0 -118
  360. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +0 -133
  361. casadi/include/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +0 -94
  362. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +0 -472
  363. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +0 -317
  364. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +0 -350
  365. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +0 -255
  366. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +0 -337
  367. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +0 -167
  368. casadi/include/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +0 -148
  369. casadi/include/include/eigen3/Eigen/src/Core/util/BlasUtil.h +0 -583
  370. casadi/include/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +0 -512
  371. casadi/include/include/eigen3/Eigen/src/Core/util/Constants.h +0 -563
  372. casadi/include/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +0 -106
  373. casadi/include/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +0 -322
  374. casadi/include/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +0 -186
  375. casadi/include/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +0 -272
  376. casadi/include/include/eigen3/Eigen/src/Core/util/MKL_support.h +0 -137
  377. casadi/include/include/eigen3/Eigen/src/Core/util/Macros.h +0 -1464
  378. casadi/include/include/eigen3/Eigen/src/Core/util/Memory.h +0 -1163
  379. casadi/include/include/eigen3/Eigen/src/Core/util/Meta.h +0 -812
  380. casadi/include/include/eigen3/Eigen/src/Core/util/NonMPL2.h +0 -3
  381. casadi/include/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +0 -31
  382. casadi/include/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +0 -51
  383. casadi/include/include/eigen3/Eigen/src/Core/util/StaticAssert.h +0 -221
  384. casadi/include/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +0 -293
  385. casadi/include/include/eigen3/Eigen/src/Core/util/XprHelper.h +0 -856
  386. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  387. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  388. casadi/include/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  389. casadi/include/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  390. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  391. casadi/include/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  392. casadi/include/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  393. casadi/include/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  394. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  395. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  396. casadi/include/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  397. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  398. casadi/include/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  399. casadi/include/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  400. casadi/include/include/eigen3/Eigen/src/Geometry/AlignedBox.h +0 -486
  401. casadi/include/include/eigen3/Eigen/src/Geometry/AngleAxis.h +0 -247
  402. casadi/include/include/eigen3/Eigen/src/Geometry/EulerAngles.h +0 -114
  403. casadi/include/include/eigen3/Eigen/src/Geometry/Homogeneous.h +0 -501
  404. casadi/include/include/eigen3/Eigen/src/Geometry/Hyperplane.h +0 -282
  405. casadi/include/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +0 -235
  406. casadi/include/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  407. casadi/include/include/eigen3/Eigen/src/Geometry/Quaternion.h +0 -870
  408. casadi/include/include/eigen3/Eigen/src/Geometry/Rotation2D.h +0 -199
  409. casadi/include/include/eigen3/Eigen/src/Geometry/RotationBase.h +0 -206
  410. casadi/include/include/eigen3/Eigen/src/Geometry/Scaling.h +0 -188
  411. casadi/include/include/eigen3/Eigen/src/Geometry/Transform.h +0 -1563
  412. casadi/include/include/eigen3/Eigen/src/Geometry/Translation.h +0 -202
  413. casadi/include/include/eigen3/Eigen/src/Geometry/Umeyama.h +0 -166
  414. casadi/include/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  415. casadi/include/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +0 -110
  416. casadi/include/include/eigen3/Eigen/src/Householder/Householder.h +0 -176
  417. casadi/include/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +0 -545
  418. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  419. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  420. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  421. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  422. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  423. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  424. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  425. casadi/include/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  426. casadi/include/include/eigen3/Eigen/src/Jacobi/Jacobi.h +0 -483
  427. casadi/include/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  428. casadi/include/include/eigen3/Eigen/src/LU/Determinant.h +0 -117
  429. casadi/include/include/eigen3/Eigen/src/LU/FullPivLU.h +0 -877
  430. casadi/include/include/eigen3/Eigen/src/LU/InverseImpl.h +0 -432
  431. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU.h +0 -624
  432. casadi/include/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  433. casadi/include/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +0 -351
  434. casadi/include/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  435. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Amd.h +0 -435
  436. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  437. casadi/include/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +0 -153
  438. casadi/include/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  439. casadi/include/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  440. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  441. casadi/include/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  442. casadi/include/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  443. casadi/include/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  444. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR.h +0 -434
  445. casadi/include/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  446. casadi/include/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  447. casadi/include/include/eigen3/Eigen/src/SVD/BDCSVD.h +0 -1366
  448. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD.h +0 -812
  449. casadi/include/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  450. casadi/include/include/eigen3/Eigen/src/SVD/SVDBase.h +0 -376
  451. casadi/include/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  452. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  453. casadi/include/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  454. casadi/include/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +0 -378
  455. casadi/include/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  456. casadi/include/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  457. casadi/include/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  458. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +0 -270
  459. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +0 -571
  460. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  461. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  462. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  463. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  464. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  465. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  466. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseDot.h +0 -98
  467. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  468. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMap.h +0 -305
  469. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  470. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  471. casadi/include/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  472. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +0 -181
  473. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +0 -49
  474. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseRef.h +0 -397
  475. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  476. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  477. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  478. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  479. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  480. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +0 -186
  481. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseVector.h +0 -478
  482. casadi/include/include/eigen3/Eigen/src/SparseCore/SparseView.h +0 -254
  483. casadi/include/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  484. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU.h +0 -923
  485. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  486. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  487. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  488. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  489. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  490. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  491. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  492. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  493. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  494. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  495. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  496. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  497. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  498. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  499. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  500. casadi/include/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  501. casadi/include/include/eigen3/Eigen/src/SparseQR/SparseQR.h +0 -758
  502. casadi/include/include/eigen3/Eigen/src/StlSupport/StdDeque.h +0 -116
  503. casadi/include/include/eigen3/Eigen/src/StlSupport/StdList.h +0 -106
  504. casadi/include/include/eigen3/Eigen/src/StlSupport/StdVector.h +0 -131
  505. casadi/include/include/eigen3/Eigen/src/StlSupport/details.h +0 -84
  506. casadi/include/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  507. casadi/include/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  508. casadi/include/include/eigen3/Eigen/src/misc/Image.h +0 -82
  509. casadi/include/include/eigen3/Eigen/src/misc/Kernel.h +0 -79
  510. casadi/include/include/eigen3/Eigen/src/misc/RealSvd2x2.h +0 -55
  511. casadi/include/include/eigen3/Eigen/src/misc/blas.h +0 -440
  512. casadi/include/include/eigen3/Eigen/src/misc/lapack.h +0 -152
  513. casadi/include/include/eigen3/Eigen/src/misc/lapacke.h +0 -16292
  514. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  515. casadi/include/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  516. casadi/include/include/eigen3/Eigen/src/plugins/BlockMethods.h +0 -1442
  517. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  518. casadi/include/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  519. casadi/include/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  520. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  521. casadi/include/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  522. casadi/include/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +0 -149
  523. casadi/include/include/eigen3/signature_of_eigen3_matrix_library +0 -1
  524. casadi/include/include/eigen3/unsupported/Eigen/AdolcForward +0 -159
  525. casadi/include/include/eigen3/unsupported/Eigen/AlignedVector3 +0 -234
  526. casadi/include/include/eigen3/unsupported/Eigen/ArpackSupport +0 -30
  527. casadi/include/include/eigen3/unsupported/Eigen/AutoDiff +0 -46
  528. casadi/include/include/eigen3/unsupported/Eigen/BVH +0 -95
  529. casadi/include/include/eigen3/unsupported/Eigen/CXX11/Tensor +0 -137
  530. casadi/include/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +0 -42
  531. casadi/include/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +0 -74
  532. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  533. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  534. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  535. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  536. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  537. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  538. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  539. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  540. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  541. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  542. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  543. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  544. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  545. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  546. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  547. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  548. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  549. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  550. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  551. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  552. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  553. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  554. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  555. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  556. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  557. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  558. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  559. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  560. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  561. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  562. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  563. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  564. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  565. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  566. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  567. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  568. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  569. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  570. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  571. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  572. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  573. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  574. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  575. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  576. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  577. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  578. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  579. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  580. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  581. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  582. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  583. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  584. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  585. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  586. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  587. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  588. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  589. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  590. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  591. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  592. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  593. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  594. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  595. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  596. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  597. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  598. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  599. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  600. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  601. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  602. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  603. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  604. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  605. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  606. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  607. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  608. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  609. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  610. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  611. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  612. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  613. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  614. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  615. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  616. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  617. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  618. casadi/include/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  619. casadi/include/include/eigen3/unsupported/Eigen/EulerAngles +0 -43
  620. casadi/include/include/eigen3/unsupported/Eigen/FFT +0 -419
  621. casadi/include/include/eigen3/unsupported/Eigen/IterativeSolvers +0 -51
  622. casadi/include/include/eigen3/unsupported/Eigen/KroneckerProduct +0 -36
  623. casadi/include/include/eigen3/unsupported/Eigen/LevenbergMarquardt +0 -49
  624. casadi/include/include/eigen3/unsupported/Eigen/MPRealSupport +0 -213
  625. casadi/include/include/eigen3/unsupported/Eigen/MatrixFunctions +0 -504
  626. casadi/include/include/eigen3/unsupported/Eigen/MoreVectorization +0 -24
  627. casadi/include/include/eigen3/unsupported/Eigen/NonLinearOptimization +0 -140
  628. casadi/include/include/eigen3/unsupported/Eigen/NumericalDiff +0 -56
  629. casadi/include/include/eigen3/unsupported/Eigen/OpenGLSupport +0 -322
  630. casadi/include/include/eigen3/unsupported/Eigen/Polynomials +0 -137
  631. casadi/include/include/eigen3/unsupported/Eigen/Skyline +0 -39
  632. casadi/include/include/eigen3/unsupported/Eigen/SparseExtra +0 -54
  633. casadi/include/include/eigen3/unsupported/Eigen/SpecialFunctions +0 -103
  634. casadi/include/include/eigen3/unsupported/Eigen/Splines +0 -35
  635. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  636. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  637. casadi/include/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  638. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  639. casadi/include/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  640. casadi/include/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  641. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  642. casadi/include/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  643. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  644. casadi/include/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  645. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  646. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  647. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  648. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  649. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  650. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  651. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  652. casadi/include/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  653. casadi/include/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  654. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  655. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  656. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  657. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  658. casadi/include/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  659. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  660. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  661. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  662. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  663. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  664. casadi/include/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  665. casadi/include/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  666. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  667. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  668. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  669. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  670. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  671. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  672. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  673. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  674. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  675. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  676. casadi/include/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  677. casadi/include/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  678. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  679. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  680. casadi/include/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  681. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  682. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  683. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  684. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  685. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  686. casadi/include/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  687. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  688. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  689. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  690. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  691. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  692. casadi/include/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  693. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  694. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  695. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  696. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  697. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  698. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  699. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  700. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  701. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  702. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  703. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  704. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  705. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  706. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  707. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  708. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  709. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  710. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  711. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  712. casadi/include/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  713. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +0 -507
  714. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  715. casadi/include/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  716. casadi/include/include/openblas/openblas/lapacke_mangling.h +0 -17
  717. casadi/include/include/osqp/auxil.h +0 -181
  718. casadi/include/include/osqp/constants.h +0 -129
  719. casadi/include/include/osqp/cs.h +0 -180
  720. casadi/include/include/osqp/ctrlc.h +0 -56
  721. casadi/include/include/osqp/error.h +0 -38
  722. casadi/include/include/osqp/glob_opts.h +0 -167
  723. casadi/include/include/osqp/lin_alg.h +0 -216
  724. casadi/include/include/osqp/lin_sys.h +0 -54
  725. casadi/include/include/osqp/osqp.h +0 -430
  726. casadi/include/include/osqp/osqp_configure.h +0 -49
  727. casadi/include/include/osqp/polish.h +0 -25
  728. casadi/include/include/osqp/proj.h +0 -37
  729. casadi/include/include/osqp/scaling.h +0 -44
  730. casadi/include/include/osqp/types.h +0 -326
  731. casadi/include/include/osqp/util.h +0 -222
  732. casadi/include/include/proxsuite/config.hpp +0 -68
  733. casadi/include/include/proxsuite/deprecated.hpp +0 -56
  734. casadi/include/include/proxsuite/fwd.hpp +0 -52
  735. casadi/include/include/proxsuite/helpers/common.hpp +0 -70
  736. casadi/include/include/proxsuite/helpers/instruction-set.hpp +0 -275
  737. casadi/include/include/proxsuite/helpers/optional.hpp +0 -46
  738. casadi/include/include/proxsuite/helpers/tl-optional.hpp +0 -2472
  739. casadi/include/include/proxsuite/helpers/version.hpp +0 -39
  740. casadi/include/include/proxsuite/linalg/dense/core.hpp +0 -863
  741. casadi/include/include/proxsuite/linalg/dense/factorize.hpp +0 -375
  742. casadi/include/include/proxsuite/linalg/dense/ldlt.hpp +0 -817
  743. casadi/include/include/proxsuite/linalg/dense/modify.hpp +0 -333
  744. casadi/include/include/proxsuite/linalg/dense/solve.hpp +0 -38
  745. casadi/include/include/proxsuite/linalg/dense/update.hpp +0 -330
  746. casadi/include/include/proxsuite/linalg/sparse/core.hpp +0 -531
  747. casadi/include/include/proxsuite/linalg/sparse/factorize.hpp +0 -1303
  748. casadi/include/include/proxsuite/linalg/sparse/rowmod.hpp +0 -443
  749. casadi/include/include/proxsuite/linalg/sparse/update.hpp +0 -348
  750. casadi/include/include/proxsuite/linalg/veg/internal/assert_impl.hpp +0 -20
  751. casadi/include/include/proxsuite/linalg/veg/internal/collection_algo.hpp +0 -93
  752. casadi/include/include/proxsuite/linalg/veg/internal/dbg.hpp +0 -15
  753. casadi/include/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +0 -77
  754. casadi/include/include/proxsuite/linalg/veg/internal/dyn_index.hpp +0 -292
  755. casadi/include/include/proxsuite/linalg/veg/internal/epilogue.hpp +0 -31
  756. casadi/include/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +0 -2074
  757. casadi/include/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +0 -148
  758. casadi/include/include/proxsuite/linalg/veg/internal/fix_index.hpp +0 -339
  759. casadi/include/include/proxsuite/linalg/veg/internal/has_asan.hpp +0 -17
  760. casadi/include/include/proxsuite/linalg/veg/internal/integer_seq.hpp +0 -248
  761. casadi/include/include/proxsuite/linalg/veg/internal/macros.hpp +0 -1312
  762. casadi/include/include/proxsuite/linalg/veg/internal/narrow.hpp +0 -46
  763. casadi/include/include/proxsuite/linalg/veg/internal/preprocessor.hpp +0 -434
  764. casadi/include/include/proxsuite/linalg/veg/internal/prologue.hpp +0 -157
  765. casadi/include/include/proxsuite/linalg/veg/internal/std.hpp +0 -13
  766. casadi/include/include/proxsuite/linalg/veg/internal/terminate.hpp +0 -22
  767. casadi/include/include/proxsuite/linalg/veg/internal/typedefs.hpp +0 -58
  768. casadi/include/include/proxsuite/linalg/veg/memory/address.hpp +0 -97
  769. casadi/include/include/proxsuite/linalg/veg/memory/alloc.hpp +0 -352
  770. casadi/include/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +0 -504
  771. casadi/include/include/proxsuite/linalg/veg/memory/placement.hpp +0 -202
  772. casadi/include/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +0 -239
  773. casadi/include/include/proxsuite/linalg/veg/ref.hpp +0 -148
  774. casadi/include/include/proxsuite/linalg/veg/slice.hpp +0 -240
  775. casadi/include/include/proxsuite/linalg/veg/tuple.hpp +0 -876
  776. casadi/include/include/proxsuite/linalg/veg/type_traits/alloc.hpp +0 -169
  777. casadi/include/include/proxsuite/linalg/veg/type_traits/assignable.hpp +0 -53
  778. casadi/include/include/proxsuite/linalg/veg/type_traits/constructible.hpp +0 -217
  779. casadi/include/include/proxsuite/linalg/veg/type_traits/core.hpp +0 -298
  780. casadi/include/include/proxsuite/linalg/veg/type_traits/invocable.hpp +0 -47
  781. casadi/include/include/proxsuite/linalg/veg/type_traits/primitives.hpp +0 -43
  782. casadi/include/include/proxsuite/linalg/veg/type_traits/tags.hpp +0 -47
  783. casadi/include/include/proxsuite/linalg/veg/util/assert.hpp +0 -48
  784. casadi/include/include/proxsuite/linalg/veg/util/dbg.hpp +0 -6
  785. casadi/include/include/proxsuite/linalg/veg/util/defer.hpp +0 -57
  786. casadi/include/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +0 -19
  787. casadi/include/include/proxsuite/linalg/veg/util/get.hpp +0 -153
  788. casadi/include/include/proxsuite/linalg/veg/util/index.hpp +0 -6
  789. casadi/include/include/proxsuite/linalg/veg/util/unreachable.hpp +0 -41
  790. casadi/include/include/proxsuite/linalg/veg/vec.hpp +0 -1034
  791. casadi/include/include/proxsuite/proxqp/dense/dense.hpp +0 -10
  792. casadi/include/include/proxsuite/proxqp/dense/fwd.hpp +0 -55
  793. casadi/include/include/proxsuite/proxqp/dense/helpers.hpp +0 -520
  794. casadi/include/include/proxsuite/proxqp/dense/linesearch.hpp +0 -517
  795. casadi/include/include/proxsuite/proxqp/dense/model.hpp +0 -147
  796. casadi/include/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +0 -113
  797. casadi/include/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +0 -571
  798. casadi/include/include/proxsuite/proxqp/dense/solver.hpp +0 -1330
  799. casadi/include/include/proxsuite/proxqp/dense/utils.hpp +0 -415
  800. casadi/include/include/proxsuite/proxqp/dense/views.hpp +0 -1466
  801. casadi/include/include/proxsuite/proxqp/dense/workspace.hpp +0 -264
  802. casadi/include/include/proxsuite/proxqp/dense/wrapper.hpp +0 -491
  803. casadi/include/include/proxsuite/proxqp/results.hpp +0 -212
  804. casadi/include/include/proxsuite/proxqp/settings.hpp +0 -302
  805. casadi/include/include/proxsuite/proxqp/sparse/fwd.hpp +0 -58
  806. casadi/include/include/proxsuite/proxqp/sparse/helpers.hpp +0 -309
  807. casadi/include/include/proxsuite/proxqp/sparse/model.hpp +0 -228
  808. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +0 -64
  809. casadi/include/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +0 -569
  810. casadi/include/include/proxsuite/proxqp/sparse/solver.hpp +0 -1441
  811. casadi/include/include/proxsuite/proxqp/sparse/sparse.hpp +0 -10
  812. casadi/include/include/proxsuite/proxqp/sparse/utils.hpp +0 -815
  813. casadi/include/include/proxsuite/proxqp/sparse/views.hpp +0 -63
  814. casadi/include/include/proxsuite/proxqp/sparse/workspace.hpp +0 -790
  815. casadi/include/include/proxsuite/proxqp/sparse/wrapper.hpp +0 -772
  816. casadi/include/include/proxsuite/proxqp/status.hpp +0 -46
  817. casadi/include/include/proxsuite/proxqp/timings.hpp +0 -101
  818. casadi/include/include/proxsuite/proxqp/utils/prints.hpp +0 -47
  819. casadi/include/include/proxsuite/proxqp/utils/random_qp_problems.hpp +0 -669
  820. casadi/include/include/proxsuite/serialization/archive.hpp +0 -231
  821. casadi/include/include/proxsuite/serialization/eigen.hpp +0 -107
  822. casadi/include/include/proxsuite/serialization/model.hpp +0 -34
  823. casadi/include/include/proxsuite/serialization/results.hpp +0 -74
  824. casadi/include/include/proxsuite/serialization/settings.hpp +0 -60
  825. casadi/include/include/proxsuite/serialization/wrapper.hpp +0 -24
  826. casadi/include/include/proxsuite/warning.hpp +0 -35
  827. casadi/include/include/simde/arm/neon/aba.h +0 -208
  828. casadi/include/include/simde/arm/neon/abd.h +0 -384
  829. casadi/include/include/simde/arm/neon/abdl.h +0 -147
  830. casadi/include/include/simde/arm/neon/abs.h +0 -408
  831. casadi/include/include/simde/arm/neon/add.h +0 -681
  832. casadi/include/include/simde/arm/neon/addl.h +0 -127
  833. casadi/include/include/simde/arm/neon/addl_high.h +0 -127
  834. casadi/include/include/simde/arm/neon/addlv.h +0 -317
  835. casadi/include/include/simde/arm/neon/addv.h +0 -447
  836. casadi/include/include/simde/arm/neon/addw.h +0 -222
  837. casadi/include/include/simde/arm/neon/addw_high.h +0 -193
  838. casadi/include/include/simde/arm/neon/and.h +0 -552
  839. casadi/include/include/simde/arm/neon/bic.h +0 -472
  840. casadi/include/include/simde/arm/neon/bsl.h +0 -448
  841. casadi/include/include/simde/arm/neon/cagt.h +0 -168
  842. casadi/include/include/simde/arm/neon/ceq.h +0 -711
  843. casadi/include/include/simde/arm/neon/ceqz.h +0 -335
  844. casadi/include/include/simde/arm/neon/cge.h +0 -677
  845. casadi/include/include/simde/arm/neon/cgez.h +0 -378
  846. casadi/include/include/simde/arm/neon/cgt.h +0 -686
  847. casadi/include/include/simde/arm/neon/cgtz.h +0 -380
  848. casadi/include/include/simde/arm/neon/cle.h +0 -677
  849. casadi/include/include/simde/arm/neon/clez.h +0 -378
  850. casadi/include/include/simde/arm/neon/cls.h +0 -148
  851. casadi/include/include/simde/arm/neon/clt.h +0 -679
  852. casadi/include/include/simde/arm/neon/cltz.h +0 -263
  853. casadi/include/include/simde/arm/neon/clz.h +0 -423
  854. casadi/include/include/simde/arm/neon/cnt.h +0 -145
  855. casadi/include/include/simde/arm/neon/combine.h +0 -343
  856. casadi/include/include/simde/arm/neon/create.h +0 -186
  857. casadi/include/include/simde/arm/neon/cvt.h +0 -492
  858. casadi/include/include/simde/arm/neon/dot.h +0 -171
  859. casadi/include/include/simde/arm/neon/dot_lane.h +0 -196
  860. casadi/include/include/simde/arm/neon/dup_lane.h +0 -702
  861. casadi/include/include/simde/arm/neon/dup_n.h +0 -534
  862. casadi/include/include/simde/arm/neon/eor.h +0 -552
  863. casadi/include/include/simde/arm/neon/ext.h +0 -887
  864. casadi/include/include/simde/arm/neon/get_high.h +0 -260
  865. casadi/include/include/simde/arm/neon/get_lane.h +0 -499
  866. casadi/include/include/simde/arm/neon/get_low.h +0 -276
  867. casadi/include/include/simde/arm/neon/hadd.h +0 -287
  868. casadi/include/include/simde/arm/neon/hsub.h +0 -287
  869. casadi/include/include/simde/arm/neon/ld1.h +0 -399
  870. casadi/include/include/simde/arm/neon/ld3.h +0 -609
  871. casadi/include/include/simde/arm/neon/ld4.h +0 -448
  872. casadi/include/include/simde/arm/neon/max.h +0 -614
  873. casadi/include/include/simde/arm/neon/maxnm.h +0 -215
  874. casadi/include/include/simde/arm/neon/maxv.h +0 -400
  875. casadi/include/include/simde/arm/neon/min.h +0 -660
  876. casadi/include/include/simde/arm/neon/minnm.h +0 -215
  877. casadi/include/include/simde/arm/neon/minv.h +0 -424
  878. casadi/include/include/simde/arm/neon/mla.h +0 -530
  879. casadi/include/include/simde/arm/neon/mla_n.h +0 -333
  880. casadi/include/include/simde/arm/neon/mlal.h +0 -156
  881. casadi/include/include/simde/arm/neon/mlal_high.h +0 -156
  882. casadi/include/include/simde/arm/neon/mlal_n.h +0 -128
  883. casadi/include/include/simde/arm/neon/mls.h +0 -264
  884. casadi/include/include/simde/arm/neon/mlsl.h +0 -124
  885. casadi/include/include/simde/arm/neon/mlsl_high.h +0 -124
  886. casadi/include/include/simde/arm/neon/mlsl_n.h +0 -96
  887. casadi/include/include/simde/arm/neon/movl.h +0 -208
  888. casadi/include/include/simde/arm/neon/movl_high.h +0 -126
  889. casadi/include/include/simde/arm/neon/movn.h +0 -195
  890. casadi/include/include/simde/arm/neon/movn_high.h +0 -125
  891. casadi/include/include/simde/arm/neon/mul.h +0 -594
  892. casadi/include/include/simde/arm/neon/mul_lane.h +0 -472
  893. casadi/include/include/simde/arm/neon/mul_n.h +0 -383
  894. casadi/include/include/simde/arm/neon/mull.h +0 -236
  895. casadi/include/include/simde/arm/neon/mull_high.h +0 -125
  896. casadi/include/include/simde/arm/neon/mull_n.h +0 -158
  897. casadi/include/include/simde/arm/neon/mvn.h +0 -426
  898. casadi/include/include/simde/arm/neon/neg.h +0 -393
  899. casadi/include/include/simde/arm/neon/orn.h +0 -505
  900. casadi/include/include/simde/arm/neon/orr.h +0 -552
  901. casadi/include/include/simde/arm/neon/padal.h +0 -211
  902. casadi/include/include/simde/arm/neon/padd.h +0 -293
  903. casadi/include/include/simde/arm/neon/paddl.h +0 -239
  904. casadi/include/include/simde/arm/neon/pmax.h +0 -253
  905. casadi/include/include/simde/arm/neon/pmin.h +0 -260
  906. casadi/include/include/simde/arm/neon/qabs.h +0 -281
  907. casadi/include/include/simde/arm/neon/qadd.h +0 -553
  908. casadi/include/include/simde/arm/neon/qdmulh.h +0 -125
  909. casadi/include/include/simde/arm/neon/qdmull.h +0 -125
  910. casadi/include/include/simde/arm/neon/qmovn.h +0 -273
  911. casadi/include/include/simde/arm/neon/qmovn_high.h +0 -127
  912. casadi/include/include/simde/arm/neon/qmovun.h +0 -159
  913. casadi/include/include/simde/arm/neon/qneg.h +0 -301
  914. casadi/include/include/simde/arm/neon/qrdmulh.h +0 -165
  915. casadi/include/include/simde/arm/neon/qrdmulh_n.h +0 -136
  916. casadi/include/include/simde/arm/neon/qshl.h +0 -732
  917. casadi/include/include/simde/arm/neon/qsub.h +0 -549
  918. casadi/include/include/simde/arm/neon/qtbl.h +0 -455
  919. casadi/include/include/simde/arm/neon/qtbx.h +0 -470
  920. casadi/include/include/simde/arm/neon/rbit.h +0 -165
  921. casadi/include/include/simde/arm/neon/reinterpret.h +0 -3101
  922. casadi/include/include/simde/arm/neon/rev16.h +0 -137
  923. casadi/include/include/simde/arm/neon/rev32.h +0 -235
  924. casadi/include/include/simde/arm/neon/rev64.h +0 -358
  925. casadi/include/include/simde/arm/neon/rhadd.h +0 -406
  926. casadi/include/include/simde/arm/neon/rnd.h +0 -143
  927. casadi/include/include/simde/arm/neon/rndi.h +0 -135
  928. casadi/include/include/simde/arm/neon/rndm.h +0 -143
  929. casadi/include/include/simde/arm/neon/rndn.h +0 -135
  930. casadi/include/include/simde/arm/neon/rndp.h +0 -143
  931. casadi/include/include/simde/arm/neon/rshl.h +0 -903
  932. casadi/include/include/simde/arm/neon/rshr_n.h +0 -471
  933. casadi/include/include/simde/arm/neon/rsra_n.h +0 -209
  934. casadi/include/include/simde/arm/neon/set_lane.h +0 -422
  935. casadi/include/include/simde/arm/neon/shl.h +0 -805
  936. casadi/include/include/simde/arm/neon/shl_n.h +0 -560
  937. casadi/include/include/simde/arm/neon/shr_n.h +0 -612
  938. casadi/include/include/simde/arm/neon/sra_n.h +0 -202
  939. casadi/include/include/simde/arm/neon/st1.h +0 -353
  940. casadi/include/include/simde/arm/neon/st1_lane.h +0 -363
  941. casadi/include/include/simde/arm/neon/st3.h +0 -426
  942. casadi/include/include/simde/arm/neon/st4.h +0 -445
  943. casadi/include/include/simde/arm/neon/sub.h +0 -659
  944. casadi/include/include/simde/arm/neon/subl.h +0 -127
  945. casadi/include/include/simde/arm/neon/subw.h +0 -221
  946. casadi/include/include/simde/arm/neon/subw_high.h +0 -222
  947. casadi/include/include/simde/arm/neon/tbl.h +0 -224
  948. casadi/include/include/simde/arm/neon/tbx.h +0 -247
  949. casadi/include/include/simde/arm/neon/trn.h +0 -252
  950. casadi/include/include/simde/arm/neon/trn1.h +0 -500
  951. casadi/include/include/simde/arm/neon/trn2.h +0 -499
  952. casadi/include/include/simde/arm/neon/tst.h +0 -540
  953. casadi/include/include/simde/arm/neon/types.h +0 -683
  954. casadi/include/include/simde/arm/neon/uqadd.h +0 -325
  955. casadi/include/include/simde/arm/neon/uzp.h +0 -252
  956. casadi/include/include/simde/arm/neon/uzp1.h +0 -643
  957. casadi/include/include/simde/arm/neon/uzp2.h +0 -647
  958. casadi/include/include/simde/arm/neon/zip.h +0 -252
  959. casadi/include/include/simde/arm/neon/zip1.h +0 -625
  960. casadi/include/include/simde/arm/neon/zip2.h +0 -625
  961. casadi/include/include/simde/arm/neon.h +0 -166
  962. casadi/include/include/simde/check.h +0 -276
  963. casadi/include/include/simde/debug-trap.h +0 -85
  964. casadi/include/include/simde/hedley.h +0 -1971
  965. casadi/include/include/simde/simde-align.h +0 -449
  966. casadi/include/include/simde/simde-arch.h +0 -532
  967. casadi/include/include/simde/simde-common.h +0 -890
  968. casadi/include/include/simde/simde-complex.h +0 -148
  969. casadi/include/include/simde/simde-constify.h +0 -397
  970. casadi/include/include/simde/simde-detect-clang.h +0 -109
  971. casadi/include/include/simde/simde-diagnostic.h +0 -428
  972. casadi/include/include/simde/simde-features.h +0 -522
  973. casadi/include/include/simde/simde-math.h +0 -1805
  974. casadi/include/include/simde/x86/avx.h +0 -6193
  975. casadi/include/include/simde/x86/avx2.h +0 -5660
  976. casadi/include/include/simde/x86/avx512/2intersect.h +0 -250
  977. casadi/include/include/simde/x86/avx512/abs.h +0 -562
  978. casadi/include/include/simde/x86/avx512/add.h +0 -641
  979. casadi/include/include/simde/x86/avx512/adds.h +0 -390
  980. casadi/include/include/simde/x86/avx512/and.h +0 -305
  981. casadi/include/include/simde/x86/avx512/andnot.h +0 -193
  982. casadi/include/include/simde/x86/avx512/avg.h +0 -258
  983. casadi/include/include/simde/x86/avx512/blend.h +0 -293
  984. casadi/include/include/simde/x86/avx512/broadcast.h +0 -897
  985. casadi/include/include/simde/x86/avx512/cast.h +0 -324
  986. casadi/include/include/simde/x86/avx512/cmp.h +0 -587
  987. casadi/include/include/simde/x86/avx512/cmpeq.h +0 -179
  988. casadi/include/include/simde/x86/avx512/cmpge.h +0 -104
  989. casadi/include/include/simde/x86/avx512/cmpgt.h +0 -189
  990. casadi/include/include/simde/x86/avx512/cmple.h +0 -103
  991. casadi/include/include/simde/x86/avx512/cmplt.h +0 -123
  992. casadi/include/include/simde/x86/avx512/copysign.h +0 -86
  993. casadi/include/include/simde/x86/avx512/cvt.h +0 -122
  994. casadi/include/include/simde/x86/avx512/cvts.h +0 -723
  995. casadi/include/include/simde/x86/avx512/div.h +0 -162
  996. casadi/include/include/simde/x86/avx512/extract.h +0 -198
  997. casadi/include/include/simde/x86/avx512/fmadd.h +0 -136
  998. casadi/include/include/simde/x86/avx512/fmsub.h +0 -108
  999. casadi/include/include/simde/x86/avx512/fnmadd.h +0 -108
  1000. casadi/include/include/simde/x86/avx512/fnmsub.h +0 -108
  1001. casadi/include/include/simde/x86/avx512/insert.h +0 -193
  1002. casadi/include/include/simde/x86/avx512/kshift.h +0 -152
  1003. casadi/include/include/simde/x86/avx512/load.h +0 -67
  1004. casadi/include/include/simde/x86/avx512/loadu.h +0 -113
  1005. casadi/include/include/simde/x86/avx512/lzcnt.h +0 -209
  1006. casadi/include/include/simde/x86/avx512/madd.h +0 -155
  1007. casadi/include/include/simde/x86/avx512/maddubs.h +0 -159
  1008. casadi/include/include/simde/x86/avx512/max.h +0 -587
  1009. casadi/include/include/simde/x86/avx512/min.h +0 -587
  1010. casadi/include/include/simde/x86/avx512/mov.h +0 -859
  1011. casadi/include/include/simde/x86/avx512/mov_mask.h +0 -372
  1012. casadi/include/include/simde/x86/avx512/movm.h +0 -460
  1013. casadi/include/include/simde/x86/avx512/mul.h +0 -279
  1014. casadi/include/include/simde/x86/avx512/mulhi.h +0 -65
  1015. casadi/include/include/simde/x86/avx512/mulhrs.h +0 -65
  1016. casadi/include/include/simde/x86/avx512/mullo.h +0 -117
  1017. casadi/include/include/simde/x86/avx512/negate.h +0 -88
  1018. casadi/include/include/simde/x86/avx512/or.h +0 -252
  1019. casadi/include/include/simde/x86/avx512/packs.h +0 -122
  1020. casadi/include/include/simde/x86/avx512/packus.h +0 -122
  1021. casadi/include/include/simde/x86/avx512/permutex2var.h +0 -1645
  1022. casadi/include/include/simde/x86/avx512/permutexvar.h +0 -1180
  1023. casadi/include/include/simde/x86/avx512/sad.h +0 -77
  1024. casadi/include/include/simde/x86/avx512/set.h +0 -477
  1025. casadi/include/include/simde/x86/avx512/set1.h +0 -331
  1026. casadi/include/include/simde/x86/avx512/set4.h +0 -140
  1027. casadi/include/include/simde/x86/avx512/setone.h +0 -66
  1028. casadi/include/include/simde/x86/avx512/setr.h +0 -144
  1029. casadi/include/include/simde/x86/avx512/setr4.h +0 -140
  1030. casadi/include/include/simde/x86/avx512/setzero.h +0 -90
  1031. casadi/include/include/simde/x86/avx512/shuffle.h +0 -176
  1032. casadi/include/include/simde/x86/avx512/sll.h +0 -247
  1033. casadi/include/include/simde/x86/avx512/slli.h +0 -179
  1034. casadi/include/include/simde/x86/avx512/sllv.h +0 -68
  1035. casadi/include/include/simde/x86/avx512/sqrt.h +0 -127
  1036. casadi/include/include/simde/x86/avx512/sra.h +0 -81
  1037. casadi/include/include/simde/x86/avx512/srai.h +0 -70
  1038. casadi/include/include/simde/x86/avx512/srav.h +0 -67
  1039. casadi/include/include/simde/x86/avx512/srl.h +0 -216
  1040. casadi/include/include/simde/x86/avx512/srli.h +0 -180
  1041. casadi/include/include/simde/x86/avx512/srlv.h +0 -282
  1042. casadi/include/include/simde/x86/avx512/store.h +0 -93
  1043. casadi/include/include/simde/x86/avx512/storeu.h +0 -93
  1044. casadi/include/include/simde/x86/avx512/sub.h +0 -351
  1045. casadi/include/include/simde/x86/avx512/subs.h +0 -222
  1046. casadi/include/include/simde/x86/avx512/test.h +0 -193
  1047. casadi/include/include/simde/x86/avx512/types.h +0 -380
  1048. casadi/include/include/simde/x86/avx512/unpackhi.h +0 -380
  1049. casadi/include/include/simde/x86/avx512/unpacklo.h +0 -104
  1050. casadi/include/include/simde/x86/avx512/xor.h +0 -263
  1051. casadi/include/include/simde/x86/avx512/xorsign.h +0 -72
  1052. casadi/include/include/simde/x86/avx512.h +0 -108
  1053. casadi/include/include/simde/x86/clmul.h +0 -414
  1054. casadi/include/include/simde/x86/fma.h +0 -724
  1055. casadi/include/include/simde/x86/gfni.h +0 -802
  1056. casadi/include/include/simde/x86/mmx.h +0 -2399
  1057. casadi/include/include/simde/x86/sse.h +0 -4471
  1058. casadi/include/include/simde/x86/sse2.h +0 -7389
  1059. casadi/include/include/simde/x86/sse3.h +0 -499
  1060. casadi/include/include/simde/x86/sse4.1.h +0 -2216
  1061. casadi/include/include/simde/x86/sse4.2.h +0 -347
  1062. casadi/include/include/simde/x86/ssse3.h +0 -1032
  1063. casadi/include/include/simde/x86/svml.h +0 -12139
  1064. casadi/include/include/simde/x86/xop.h +0 -3644
  1065. casadi/include/include/superscs/cones.h +0 -185
  1066. casadi/include/include/superscs/constants.h +0 -144
  1067. casadi/include/include/superscs/cs.h +0 -109
  1068. casadi/include/include/superscs/ctrlc.h +0 -77
  1069. casadi/include/include/superscs/directions.h +0 -125
  1070. casadi/include/include/superscs/glbopts.h +0 -240
  1071. casadi/include/include/superscs/linAlg.h +0 -437
  1072. casadi/include/include/superscs/linSys.h +0 -205
  1073. casadi/include/include/superscs/linsys/amatrix.h +0 -77
  1074. casadi/include/include/superscs/linsys/common.h +0 -49
  1075. casadi/include/include/superscs/normalize.h +0 -138
  1076. casadi/include/include/superscs/scs.h +0 -656
  1077. casadi/include/include/superscs/scs_blas.h +0 -79
  1078. casadi/include/include/superscs/scs_parser.h +0 -187
  1079. casadi/include/include/superscs/unit_test_util.h +0 -210
  1080. casadi/include/include/superscs/util.h +0 -354
  1081. casadi-3.6.4.dist-info/RECORD +0 -2499
  1082. /casadi/include/{include/alpaqa → alpaqa}/accelerators/anderson.hpp +0 -0
  1083. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/anderson-helpers.hpp +0 -0
  1084. /casadi/include/{include/alpaqa → alpaqa}/accelerators/internal/limited-memory-qr.hpp +0 -0
  1085. /casadi/include/{include/alpaqa → alpaqa}/accelerators/lbfgs.hpp +0 -0
  1086. /casadi/include/{include/alpaqa → alpaqa}/accelerators/steihaugcg.hpp +0 -0
  1087. /casadi/include/{include/alpaqa → alpaqa}/alpaqa.hpp +0 -0
  1088. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiControlProblem.hpp +0 -0
  1089. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiFunctionWrapper.hpp +0 -0
  1090. /casadi/include/{include/alpaqa → alpaqa}/casadi/CasADiProblem.hpp +0 -0
  1091. /casadi/include/{include/alpaqa → alpaqa}/casadi-loader-export.hpp +0 -0
  1092. /casadi/include/{include/alpaqa → alpaqa}/casadi-ocp-loader-export.hpp +0 -0
  1093. /casadi/include/{include/alpaqa → alpaqa}/config/config.hpp +0 -0
  1094. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.h +0 -0
  1095. /casadi/include/{include/alpaqa → alpaqa}/dl/dl-problem.hpp +0 -0
  1096. /casadi/include/{include/alpaqa → alpaqa}/export.h +0 -0
  1097. /casadi/include/{include/alpaqa → alpaqa}/export.hpp +0 -0
  1098. /casadi/include/{include/alpaqa → alpaqa}/implementation/accelerators/lbfgs.tpp +0 -0
  1099. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiControlProblem.tpp +0 -0
  1100. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiLoader-util.hpp +0 -0
  1101. /casadi/include/{include/alpaqa → alpaqa}/implementation/casadi/CasADiProblem.tpp +0 -0
  1102. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/directions/panoc/structured-lbfgs.tpp +0 -0
  1103. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-helpers.tpp +0 -0
  1104. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc-ocp.tpp +0 -0
  1105. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/panoc.tpp +0 -0
  1106. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/pantr.tpp +0 -0
  1107. /casadi/include/{include/alpaqa → alpaqa}/implementation/inner/zerofpr.tpp +0 -0
  1108. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/alm.tpp +0 -0
  1109. /casadi/include/{include/alpaqa → alpaqa}/implementation/outer/internal/alm-helpers.tpp +0 -0
  1110. /casadi/include/{include/alpaqa → alpaqa}/implementation/params/params.tpp +0 -0
  1111. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/ocproblem.tpp +0 -0
  1112. /casadi/include/{include/alpaqa → alpaqa}/implementation/problem/type-erased-problem.tpp +0 -0
  1113. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/io/csv.tpp +0 -0
  1114. /casadi/include/{include/alpaqa → alpaqa}/implementation/util/print.tpp +0 -0
  1115. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/anderson.hpp +0 -0
  1116. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/lbfgs.hpp +0 -0
  1117. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-lbfgs.hpp +0 -0
  1118. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc/structured-newton.hpp +0 -0
  1119. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-direction-update.hpp +0 -0
  1120. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/lqr.hpp +0 -0
  1121. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/panoc-ocp/ocp-vars.hpp +0 -0
  1122. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/newton-tr.hpp +0 -0
  1123. /casadi/include/{include/alpaqa → alpaqa}/inner/directions/pantr/pantr-direction.hpp +0 -0
  1124. /casadi/include/{include/alpaqa → alpaqa}/inner/inner-solve-options.hpp +0 -0
  1125. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/lipschitz.hpp +0 -0
  1126. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-helpers.hpp +0 -0
  1127. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/panoc-stop-crit.hpp +0 -0
  1128. /casadi/include/{include/alpaqa → alpaqa}/inner/internal/solverstatus.hpp +0 -0
  1129. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc-ocp.hpp +0 -0
  1130. /casadi/include/{include/alpaqa → alpaqa}/inner/panoc.hpp +0 -0
  1131. /casadi/include/{include/alpaqa → alpaqa}/inner/pantr.hpp +0 -0
  1132. /casadi/include/{include/alpaqa → alpaqa}/inner/zerofpr.hpp +0 -0
  1133. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-adapter.hpp +0 -0
  1134. /casadi/include/{include/alpaqa → alpaqa}/ipopt/ipopt-enums.hpp +0 -0
  1135. /casadi/include/{include/alpaqa → alpaqa}/lbfgsb/lbfgsb-adapter.hpp +0 -0
  1136. /casadi/include/{include/alpaqa → alpaqa}/newton-tr-pantr-alm.hpp +0 -0
  1137. /casadi/include/{include/alpaqa → alpaqa}/outer/alm.hpp +0 -0
  1138. /casadi/include/{include/alpaqa → alpaqa}/outer/internal/alm-helpers.hpp +0 -0
  1139. /casadi/include/{include/alpaqa → alpaqa}/panoc-alm.hpp +0 -0
  1140. /casadi/include/{include/alpaqa → alpaqa}/panoc-anderson-alm.hpp +0 -0
  1141. /casadi/include/{include/alpaqa → alpaqa}/params/params.hpp +0 -0
  1142. /casadi/include/{include/alpaqa → alpaqa}/problem/box-constr-problem.hpp +0 -0
  1143. /casadi/include/{include/alpaqa → alpaqa}/problem/box.hpp +0 -0
  1144. /casadi/include/{include/alpaqa → alpaqa}/problem/functional-problem.hpp +0 -0
  1145. /casadi/include/{include/alpaqa → alpaqa}/problem/kkt-error.hpp +0 -0
  1146. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem-counters.hpp +0 -0
  1147. /casadi/include/{include/alpaqa → alpaqa}/problem/ocproblem.hpp +0 -0
  1148. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-counters.hpp +0 -0
  1149. /casadi/include/{include/alpaqa → alpaqa}/problem/problem-with-counters.hpp +0 -0
  1150. /casadi/include/{include/alpaqa → alpaqa}/problem/type-erased-problem.hpp +0 -0
  1151. /casadi/include/{include/alpaqa → alpaqa}/problem/unconstr-problem.hpp +0 -0
  1152. /casadi/include/{include/alpaqa → alpaqa}/structured-panoc-alm.hpp +0 -0
  1153. /casadi/include/{include/alpaqa → alpaqa}/structured-zerofpr-alm.hpp +0 -0
  1154. /casadi/include/{include/alpaqa → alpaqa}/util/alloc-check.hpp +0 -0
  1155. /casadi/include/{include/alpaqa → alpaqa}/util/atomic-stop-signal.hpp +0 -0
  1156. /casadi/include/{include/alpaqa → alpaqa}/util/check-dim.hpp +0 -0
  1157. /casadi/include/{include/alpaqa → alpaqa}/util/copyable_unique_ptr.hpp +0 -0
  1158. /casadi/include/{include/alpaqa → alpaqa}/util/demangled-typename.hpp +0 -0
  1159. /casadi/include/{include/alpaqa → alpaqa}/util/enumerate.hpp +0 -0
  1160. /casadi/include/{include/alpaqa → alpaqa}/util/float.hpp +0 -0
  1161. /casadi/include/{include/alpaqa → alpaqa}/util/index-set.hpp +0 -0
  1162. /casadi/include/{include/alpaqa → alpaqa}/util/io/csv.hpp +0 -0
  1163. /casadi/include/{include/alpaqa → alpaqa}/util/iter-adapter.hpp +0 -0
  1164. /casadi/include/{include/alpaqa → alpaqa}/util/max-history.hpp +0 -0
  1165. /casadi/include/{include/alpaqa → alpaqa}/util/noop-delete.hpp +0 -0
  1166. /casadi/include/{include/alpaqa → alpaqa}/util/not-implemented.hpp +0 -0
  1167. /casadi/include/{include/alpaqa → alpaqa}/util/print.hpp +0 -0
  1168. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath-print.hpp +0 -0
  1169. /casadi/include/{include/alpaqa → alpaqa}/util/quadmath/quadmath.hpp +0 -0
  1170. /casadi/include/{include/alpaqa → alpaqa}/util/required-method.hpp +0 -0
  1171. /casadi/include/{include/alpaqa → alpaqa}/util/ringbuffer.hpp +0 -0
  1172. /casadi/include/{include/alpaqa → alpaqa}/util/set-intersection.hpp +0 -0
  1173. /casadi/include/{include/alpaqa → alpaqa}/util/sparse-ops.hpp +0 -0
  1174. /casadi/include/{include/alpaqa → alpaqa}/util/timed.hpp +0 -0
  1175. /casadi/include/{include/alpaqa → alpaqa}/util/type-erasure.hpp +0 -0
  1176. /casadi/include/{include/alpaqa → alpaqa}/util/type-traits.hpp +0 -0
  1177. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-alm.hpp +0 -0
  1178. /casadi/include/{include/alpaqa → alpaqa}/zerofpr-anderson-alm.hpp +0 -0
  1179. /casadi/include/{include/alpaqa-version.h → alpaqa-version.h} +0 -0
  1180. /casadi/include/{include/blasfeo.h → blasfeo.h} +0 -0
  1181. /casadi/include/{include/blasfeo_block_size.h → blasfeo_block_size.h} +0 -0
  1182. /casadi/include/{include/blasfeo_common.h → blasfeo_common.h} +0 -0
  1183. /casadi/include/{include/blasfeo_d_aux.h → blasfeo_d_aux.h} +0 -0
  1184. /casadi/include/{include/blasfeo_d_aux_ext_dep.h → blasfeo_d_aux_ext_dep.h} +0 -0
  1185. /casadi/include/{include/blasfeo_d_aux_ext_dep_ref.h → blasfeo_d_aux_ext_dep_ref.h} +0 -0
  1186. /casadi/include/{include/blasfeo_d_aux_old.h → blasfeo_d_aux_old.h} +0 -0
  1187. /casadi/include/{include/blasfeo_d_aux_ref.h → blasfeo_d_aux_ref.h} +0 -0
  1188. /casadi/include/{include/blasfeo_d_aux_test.h → blasfeo_d_aux_test.h} +0 -0
  1189. /casadi/include/{include/blasfeo_d_blas.h → blasfeo_d_blas.h} +0 -0
  1190. /casadi/include/{include/blasfeo_d_blas_api.h → blasfeo_d_blas_api.h} +0 -0
  1191. /casadi/include/{include/blasfeo_d_blasfeo_api.h → blasfeo_d_blasfeo_api.h} +0 -0
  1192. /casadi/include/{include/blasfeo_d_blasfeo_api_ref.h → blasfeo_d_blasfeo_api_ref.h} +0 -0
  1193. /casadi/include/{include/blasfeo_d_blasfeo_hp_api.h → blasfeo_d_blasfeo_hp_api.h} +0 -0
  1194. /casadi/include/{include/blasfeo_d_blasfeo_ref_api.h → blasfeo_d_blasfeo_ref_api.h} +0 -0
  1195. /casadi/include/{include/blasfeo_d_kernel.h → blasfeo_d_kernel.h} +0 -0
  1196. /casadi/include/{include/blasfeo_i_aux_ext_dep.h → blasfeo_i_aux_ext_dep.h} +0 -0
  1197. /casadi/include/{include/blasfeo_m_aux.h → blasfeo_m_aux.h} +0 -0
  1198. /casadi/include/{include/blasfeo_memory.h → blasfeo_memory.h} +0 -0
  1199. /casadi/include/{include/blasfeo_naming.h → blasfeo_naming.h} +0 -0
  1200. /casadi/include/{include/blasfeo_processor_features.h → blasfeo_processor_features.h} +0 -0
  1201. /casadi/include/{include/blasfeo_s_aux.h → blasfeo_s_aux.h} +0 -0
  1202. /casadi/include/{include/blasfeo_s_aux_ext_dep.h → blasfeo_s_aux_ext_dep.h} +0 -0
  1203. /casadi/include/{include/blasfeo_s_aux_ext_dep_ref.h → blasfeo_s_aux_ext_dep_ref.h} +0 -0
  1204. /casadi/include/{include/blasfeo_s_aux_old.h → blasfeo_s_aux_old.h} +0 -0
  1205. /casadi/include/{include/blasfeo_s_aux_ref.h → blasfeo_s_aux_ref.h} +0 -0
  1206. /casadi/include/{include/blasfeo_s_aux_test.h → blasfeo_s_aux_test.h} +0 -0
  1207. /casadi/include/{include/blasfeo_s_blas.h → blasfeo_s_blas.h} +0 -0
  1208. /casadi/include/{include/blasfeo_s_blas_api.h → blasfeo_s_blas_api.h} +0 -0
  1209. /casadi/include/{include/blasfeo_s_blasfeo_api.h → blasfeo_s_blasfeo_api.h} +0 -0
  1210. /casadi/include/{include/blasfeo_s_blasfeo_api_ref.h → blasfeo_s_blasfeo_api_ref.h} +0 -0
  1211. /casadi/include/{include/blasfeo_s_blasfeo_ref_api.h → blasfeo_s_blasfeo_ref_api.h} +0 -0
  1212. /casadi/include/{include/blasfeo_s_kernel.h → blasfeo_s_kernel.h} +0 -0
  1213. /casadi/include/{include/blasfeo_stdlib.h → blasfeo_stdlib.h} +0 -0
  1214. /casadi/include/{include/blasfeo_target.h → blasfeo_target.h} +0 -0
  1215. /casadi/include/{include/blasfeo_timing.h → blasfeo_timing.h} +0 -0
  1216. /casadi/include/{include/blasfeo_v_aux_ext_dep.h → blasfeo_v_aux_ext_dep.h} +0 -0
  1217. /casadi/include/{include/coin-or → coin-or}/IpAlgBuilder.hpp +0 -0
  1218. /casadi/include/{include/coin-or → coin-or}/IpAlgStrategy.hpp +0 -0
  1219. /casadi/include/{include/coin-or → coin-or}/IpAlgTypes.hpp +0 -0
  1220. /casadi/include/{include/coin-or → coin-or}/IpAugSystemSolver.hpp +0 -0
  1221. /casadi/include/{include/coin-or → coin-or}/IpBlas.hpp +0 -0
  1222. /casadi/include/{include/coin-or → coin-or}/IpCachedResults.hpp +0 -0
  1223. /casadi/include/{include/coin-or → coin-or}/IpCompoundMatrix.hpp +0 -0
  1224. /casadi/include/{include/coin-or → coin-or}/IpCompoundSymMatrix.hpp +0 -0
  1225. /casadi/include/{include/coin-or → coin-or}/IpCompoundVector.hpp +0 -0
  1226. /casadi/include/{include/coin-or → coin-or}/IpConvCheck.hpp +0 -0
  1227. /casadi/include/{include/coin-or → coin-or}/IpDebug.hpp +0 -0
  1228. /casadi/include/{include/coin-or → coin-or}/IpDenseVector.hpp +0 -0
  1229. /casadi/include/{include/coin-or → coin-or}/IpDiagMatrix.hpp +0 -0
  1230. /casadi/include/{include/coin-or → coin-or}/IpEqMultCalculator.hpp +0 -0
  1231. /casadi/include/{include/coin-or → coin-or}/IpException.hpp +0 -0
  1232. /casadi/include/{include/coin-or → coin-or}/IpExpansionMatrix.hpp +0 -0
  1233. /casadi/include/{include/coin-or → coin-or}/IpGenTMatrix.hpp +0 -0
  1234. /casadi/include/{include/coin-or → coin-or}/IpHessianUpdater.hpp +0 -0
  1235. /casadi/include/{include/coin-or → coin-or}/IpIdentityMatrix.hpp +0 -0
  1236. /casadi/include/{include/coin-or → coin-or}/IpIpoptAlg.hpp +0 -0
  1237. /casadi/include/{include/coin-or → coin-or}/IpIpoptApplication.hpp +0 -0
  1238. /casadi/include/{include/coin-or → coin-or}/IpIpoptCalculatedQuantities.hpp +0 -0
  1239. /casadi/include/{include/coin-or → coin-or}/IpIpoptData.hpp +0 -0
  1240. /casadi/include/{include/coin-or → coin-or}/IpIpoptNLP.hpp +0 -0
  1241. /casadi/include/{include/coin-or → coin-or}/IpIterateInitializer.hpp +0 -0
  1242. /casadi/include/{include/coin-or → coin-or}/IpIteratesVector.hpp +0 -0
  1243. /casadi/include/{include/coin-or → coin-or}/IpIterationOutput.hpp +0 -0
  1244. /casadi/include/{include/coin-or → coin-or}/IpJournalist.hpp +0 -0
  1245. /casadi/include/{include/coin-or → coin-or}/IpLapack.hpp +0 -0
  1246. /casadi/include/{include/coin-or → coin-or}/IpLibraryLoader.hpp +0 -0
  1247. /casadi/include/{include/coin-or → coin-or}/IpLineSearch.hpp +0 -0
  1248. /casadi/include/{include/coin-or → coin-or}/IpLinearSolvers.h +0 -0
  1249. /casadi/include/{include/coin-or → coin-or}/IpMatrix.hpp +0 -0
  1250. /casadi/include/{include/coin-or → coin-or}/IpMuUpdate.hpp +0 -0
  1251. /casadi/include/{include/coin-or → coin-or}/IpNLP.hpp +0 -0
  1252. /casadi/include/{include/coin-or → coin-or}/IpNLPScaling.hpp +0 -0
  1253. /casadi/include/{include/coin-or → coin-or}/IpObserver.hpp +0 -0
  1254. /casadi/include/{include/coin-or → coin-or}/IpOptionsList.hpp +0 -0
  1255. /casadi/include/{include/coin-or → coin-or}/IpOrigIpoptNLP.hpp +0 -0
  1256. /casadi/include/{include/coin-or → coin-or}/IpPDSystemSolver.hpp +0 -0
  1257. /casadi/include/{include/coin-or → coin-or}/IpReferenced.hpp +0 -0
  1258. /casadi/include/{include/coin-or → coin-or}/IpRegOptions.hpp +0 -0
  1259. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.h +0 -0
  1260. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.hpp +0 -0
  1261. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes.inc +0 -0
  1262. /casadi/include/{include/coin-or → coin-or}/IpReturnCodes_inc.h +0 -0
  1263. /casadi/include/{include/coin-or → coin-or}/IpScaledMatrix.hpp +0 -0
  1264. /casadi/include/{include/coin-or → coin-or}/IpSearchDirCalculator.hpp +0 -0
  1265. /casadi/include/{include/coin-or → coin-or}/IpSmartPtr.hpp +0 -0
  1266. /casadi/include/{include/coin-or → coin-or}/IpSolveStatistics.hpp +0 -0
  1267. /casadi/include/{include/coin-or → coin-or}/IpSparseSymLinearSolverInterface.hpp +0 -0
  1268. /casadi/include/{include/coin-or → coin-or}/IpStdAugSystemSolver.cpp +0 -0
  1269. /casadi/include/{include/coin-or → coin-or}/IpStdCInterface.h +0 -0
  1270. /casadi/include/{include/coin-or → coin-or}/IpSumSymMatrix.hpp +0 -0
  1271. /casadi/include/{include/coin-or → coin-or}/IpSymLinearSolver.hpp +0 -0
  1272. /casadi/include/{include/coin-or → coin-or}/IpSymMatrix.hpp +0 -0
  1273. /casadi/include/{include/coin-or → coin-or}/IpSymScaledMatrix.hpp +0 -0
  1274. /casadi/include/{include/coin-or → coin-or}/IpSymTMatrix.hpp +0 -0
  1275. /casadi/include/{include/coin-or → coin-or}/IpTNLP.hpp +0 -0
  1276. /casadi/include/{include/coin-or → coin-or}/IpTNLPAdapter.hpp +0 -0
  1277. /casadi/include/{include/coin-or → coin-or}/IpTNLPReducer.hpp +0 -0
  1278. /casadi/include/{include/coin-or → coin-or}/IpTaggedObject.hpp +0 -0
  1279. /casadi/include/{include/coin-or → coin-or}/IpTimedTask.hpp +0 -0
  1280. /casadi/include/{include/coin-or → coin-or}/IpTimingStatistics.hpp +0 -0
  1281. /casadi/include/{include/coin-or → coin-or}/IpTripletHelper.hpp +0 -0
  1282. /casadi/include/{include/coin-or → coin-or}/IpTypes.h +0 -0
  1283. /casadi/include/{include/coin-or → coin-or}/IpTypes.hpp +0 -0
  1284. /casadi/include/{include/coin-or → coin-or}/IpUtils.hpp +0 -0
  1285. /casadi/include/{include/coin-or → coin-or}/IpVector.hpp +0 -0
  1286. /casadi/include/{include/coin-or → coin-or}/IpZeroSymMatrix.hpp +0 -0
  1287. /casadi/include/{include/coin-or → coin-or}/IpoptConfig.h +0 -0
  1288. /casadi/include/{include/coin-or → coin-or}/SensAlgorithm.hpp +0 -0
  1289. /casadi/include/{include/coin-or → coin-or}/SensApplication.hpp +0 -0
  1290. /casadi/include/{include/coin-or → coin-or}/SensBacksolver.hpp +0 -0
  1291. /casadi/include/{include/coin-or → coin-or}/SensMeasurement.hpp +0 -0
  1292. /casadi/include/{include/coin-or → coin-or}/SensPCalculator.hpp +0 -0
  1293. /casadi/include/{include/coin-or → coin-or}/SensRegOp.hpp +0 -0
  1294. /casadi/include/{include/coin-or → coin-or}/SensSchurData.hpp +0 -0
  1295. /casadi/include/{include/coin-or → coin-or}/SensSchurDriver.hpp +0 -0
  1296. /casadi/include/{include/coin-or → coin-or}/SensSimpleBacksolver.hpp +0 -0
  1297. /casadi/include/{include/coin-or → coin-or}/SensStepCalc.hpp +0 -0
  1298. /casadi/include/{include/coin-or → coin-or}/SensUtils.hpp +0 -0
  1299. /casadi/include/{include/coin-or → coin-or}/metis/defs.h +0 -0
  1300. /casadi/include/{include/coin-or → coin-or}/metis/macros.h +0 -0
  1301. /casadi/include/{include/coin-or → coin-or}/metis/metis.h +0 -0
  1302. /casadi/include/{include/coin-or → coin-or}/metis/proto.h +0 -0
  1303. /casadi/include/{include/coin-or → coin-or}/metis/rename.h +0 -0
  1304. /casadi/include/{include/coin-or → coin-or}/metis/struct.h +0 -0
  1305. /casadi/include/{include/coin-or → coin-or}/mumps/dmumps_c.h +0 -0
  1306. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_c_types.h +0 -0
  1307. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_compat.h +0 -0
  1308. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_int_def.h +0 -0
  1309. /casadi/include/{include/coin-or → coin-or}/mumps/mumps_mpi.h +0 -0
  1310. /casadi/include/{include/d_blas.h → d_blas.h} +0 -0
  1311. /casadi/include/{include/d_blas_64.h → d_blas_64.h} +0 -0
  1312. /casadi/include/{include/hpipm_aux_mem.h → hpipm_aux_mem.h} +0 -0
  1313. /casadi/include/{include/hpipm_aux_string.h → hpipm_aux_string.h} +0 -0
  1314. /casadi/include/{include/hpipm_common.h → hpipm_common.h} +0 -0
  1315. /casadi/include/{include/hpipm_d_cast_qcqp.h → hpipm_d_cast_qcqp.h} +0 -0
  1316. /casadi/include/{include/hpipm_d_cond.h → hpipm_d_cond.h} +0 -0
  1317. /casadi/include/{include/hpipm_d_cond_aux.h → hpipm_d_cond_aux.h} +0 -0
  1318. /casadi/include/{include/hpipm_d_cond_qcqp.h → hpipm_d_cond_qcqp.h} +0 -0
  1319. /casadi/include/{include/hpipm_d_core_qp_ipm.h → hpipm_d_core_qp_ipm.h} +0 -0
  1320. /casadi/include/{include/hpipm_d_core_qp_ipm_aux.h → hpipm_d_core_qp_ipm_aux.h} +0 -0
  1321. /casadi/include/{include/hpipm_d_dense_qcqp.h → hpipm_d_dense_qcqp.h} +0 -0
  1322. /casadi/include/{include/hpipm_d_dense_qcqp_dim.h → hpipm_d_dense_qcqp_dim.h} +0 -0
  1323. /casadi/include/{include/hpipm_d_dense_qcqp_ipm.h → hpipm_d_dense_qcqp_ipm.h} +0 -0
  1324. /casadi/include/{include/hpipm_d_dense_qcqp_res.h → hpipm_d_dense_qcqp_res.h} +0 -0
  1325. /casadi/include/{include/hpipm_d_dense_qcqp_sol.h → hpipm_d_dense_qcqp_sol.h} +0 -0
  1326. /casadi/include/{include/hpipm_d_dense_qcqp_utils.h → hpipm_d_dense_qcqp_utils.h} +0 -0
  1327. /casadi/include/{include/hpipm_d_dense_qp.h → hpipm_d_dense_qp.h} +0 -0
  1328. /casadi/include/{include/hpipm_d_dense_qp_dim.h → hpipm_d_dense_qp_dim.h} +0 -0
  1329. /casadi/include/{include/hpipm_d_dense_qp_ipm.h → hpipm_d_dense_qp_ipm.h} +0 -0
  1330. /casadi/include/{include/hpipm_d_dense_qp_kkt.h → hpipm_d_dense_qp_kkt.h} +0 -0
  1331. /casadi/include/{include/hpipm_d_dense_qp_res.h → hpipm_d_dense_qp_res.h} +0 -0
  1332. /casadi/include/{include/hpipm_d_dense_qp_sol.h → hpipm_d_dense_qp_sol.h} +0 -0
  1333. /casadi/include/{include/hpipm_d_dense_qp_utils.h → hpipm_d_dense_qp_utils.h} +0 -0
  1334. /casadi/include/{include/hpipm_d_ocp_qcqp.h → hpipm_d_ocp_qcqp.h} +0 -0
  1335. /casadi/include/{include/hpipm_d_ocp_qcqp_dim.h → hpipm_d_ocp_qcqp_dim.h} +0 -0
  1336. /casadi/include/{include/hpipm_d_ocp_qcqp_ipm.h → hpipm_d_ocp_qcqp_ipm.h} +0 -0
  1337. /casadi/include/{include/hpipm_d_ocp_qcqp_red.h → hpipm_d_ocp_qcqp_red.h} +0 -0
  1338. /casadi/include/{include/hpipm_d_ocp_qcqp_res.h → hpipm_d_ocp_qcqp_res.h} +0 -0
  1339. /casadi/include/{include/hpipm_d_ocp_qcqp_sol.h → hpipm_d_ocp_qcqp_sol.h} +0 -0
  1340. /casadi/include/{include/hpipm_d_ocp_qcqp_utils.h → hpipm_d_ocp_qcqp_utils.h} +0 -0
  1341. /casadi/include/{include/hpipm_d_ocp_qp.h → hpipm_d_ocp_qp.h} +0 -0
  1342. /casadi/include/{include/hpipm_d_ocp_qp_dim.h → hpipm_d_ocp_qp_dim.h} +0 -0
  1343. /casadi/include/{include/hpipm_d_ocp_qp_ipm.h → hpipm_d_ocp_qp_ipm.h} +0 -0
  1344. /casadi/include/{include/hpipm_d_ocp_qp_kkt.h → hpipm_d_ocp_qp_kkt.h} +0 -0
  1345. /casadi/include/{include/hpipm_d_ocp_qp_red.h → hpipm_d_ocp_qp_red.h} +0 -0
  1346. /casadi/include/{include/hpipm_d_ocp_qp_res.h → hpipm_d_ocp_qp_res.h} +0 -0
  1347. /casadi/include/{include/hpipm_d_ocp_qp_sol.h → hpipm_d_ocp_qp_sol.h} +0 -0
  1348. /casadi/include/{include/hpipm_d_ocp_qp_utils.h → hpipm_d_ocp_qp_utils.h} +0 -0
  1349. /casadi/include/{include/hpipm_d_part_cond.h → hpipm_d_part_cond.h} +0 -0
  1350. /casadi/include/{include/hpipm_d_part_cond_qcqp.h → hpipm_d_part_cond_qcqp.h} +0 -0
  1351. /casadi/include/{include/hpipm_d_sim_erk.h → hpipm_d_sim_erk.h} +0 -0
  1352. /casadi/include/{include/hpipm_d_sim_rk.h → hpipm_d_sim_rk.h} +0 -0
  1353. /casadi/include/{include/hpipm_d_tree_ocp_qcqp.h → hpipm_d_tree_ocp_qcqp.h} +0 -0
  1354. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_dim.h → hpipm_d_tree_ocp_qcqp_dim.h} +0 -0
  1355. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_ipm.h → hpipm_d_tree_ocp_qcqp_ipm.h} +0 -0
  1356. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_res.h → hpipm_d_tree_ocp_qcqp_res.h} +0 -0
  1357. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_sol.h → hpipm_d_tree_ocp_qcqp_sol.h} +0 -0
  1358. /casadi/include/{include/hpipm_d_tree_ocp_qcqp_utils.h → hpipm_d_tree_ocp_qcqp_utils.h} +0 -0
  1359. /casadi/include/{include/hpipm_d_tree_ocp_qp.h → hpipm_d_tree_ocp_qp.h} +0 -0
  1360. /casadi/include/{include/hpipm_d_tree_ocp_qp_dim.h → hpipm_d_tree_ocp_qp_dim.h} +0 -0
  1361. /casadi/include/{include/hpipm_d_tree_ocp_qp_ipm.h → hpipm_d_tree_ocp_qp_ipm.h} +0 -0
  1362. /casadi/include/{include/hpipm_d_tree_ocp_qp_kkt.h → hpipm_d_tree_ocp_qp_kkt.h} +0 -0
  1363. /casadi/include/{include/hpipm_d_tree_ocp_qp_res.h → hpipm_d_tree_ocp_qp_res.h} +0 -0
  1364. /casadi/include/{include/hpipm_d_tree_ocp_qp_sol.h → hpipm_d_tree_ocp_qp_sol.h} +0 -0
  1365. /casadi/include/{include/hpipm_d_tree_ocp_qp_utils.h → hpipm_d_tree_ocp_qp_utils.h} +0 -0
  1366. /casadi/include/{include/hpipm_m_dense_qp.h → hpipm_m_dense_qp.h} +0 -0
  1367. /casadi/include/{include/hpipm_m_dense_qp_dim.h → hpipm_m_dense_qp_dim.h} +0 -0
  1368. /casadi/include/{include/hpipm_m_ocp_qp.h → hpipm_m_ocp_qp.h} +0 -0
  1369. /casadi/include/{include/hpipm_m_ocp_qp_ipm_hard.h → hpipm_m_ocp_qp_ipm_hard.h} +0 -0
  1370. /casadi/include/{include/hpipm_m_ocp_qp_kkt.h → hpipm_m_ocp_qp_kkt.h} +0 -0
  1371. /casadi/include/{include/hpipm_s_cast_qcqp.h → hpipm_s_cast_qcqp.h} +0 -0
  1372. /casadi/include/{include/hpipm_s_cond.h → hpipm_s_cond.h} +0 -0
  1373. /casadi/include/{include/hpipm_s_cond_aux.h → hpipm_s_cond_aux.h} +0 -0
  1374. /casadi/include/{include/hpipm_s_cond_qcqp.h → hpipm_s_cond_qcqp.h} +0 -0
  1375. /casadi/include/{include/hpipm_s_core_qp_ipm.h → hpipm_s_core_qp_ipm.h} +0 -0
  1376. /casadi/include/{include/hpipm_s_core_qp_ipm_aux.h → hpipm_s_core_qp_ipm_aux.h} +0 -0
  1377. /casadi/include/{include/hpipm_s_dense_qcqp.h → hpipm_s_dense_qcqp.h} +0 -0
  1378. /casadi/include/{include/hpipm_s_dense_qcqp_dim.h → hpipm_s_dense_qcqp_dim.h} +0 -0
  1379. /casadi/include/{include/hpipm_s_dense_qcqp_ipm.h → hpipm_s_dense_qcqp_ipm.h} +0 -0
  1380. /casadi/include/{include/hpipm_s_dense_qcqp_res.h → hpipm_s_dense_qcqp_res.h} +0 -0
  1381. /casadi/include/{include/hpipm_s_dense_qcqp_sol.h → hpipm_s_dense_qcqp_sol.h} +0 -0
  1382. /casadi/include/{include/hpipm_s_dense_qcqp_utils.h → hpipm_s_dense_qcqp_utils.h} +0 -0
  1383. /casadi/include/{include/hpipm_s_dense_qp.h → hpipm_s_dense_qp.h} +0 -0
  1384. /casadi/include/{include/hpipm_s_dense_qp_dim.h → hpipm_s_dense_qp_dim.h} +0 -0
  1385. /casadi/include/{include/hpipm_s_dense_qp_ipm.h → hpipm_s_dense_qp_ipm.h} +0 -0
  1386. /casadi/include/{include/hpipm_s_dense_qp_kkt.h → hpipm_s_dense_qp_kkt.h} +0 -0
  1387. /casadi/include/{include/hpipm_s_dense_qp_res.h → hpipm_s_dense_qp_res.h} +0 -0
  1388. /casadi/include/{include/hpipm_s_dense_qp_sol.h → hpipm_s_dense_qp_sol.h} +0 -0
  1389. /casadi/include/{include/hpipm_s_dense_qp_utils.h → hpipm_s_dense_qp_utils.h} +0 -0
  1390. /casadi/include/{include/hpipm_s_ocp_qcqp.h → hpipm_s_ocp_qcqp.h} +0 -0
  1391. /casadi/include/{include/hpipm_s_ocp_qcqp_dim.h → hpipm_s_ocp_qcqp_dim.h} +0 -0
  1392. /casadi/include/{include/hpipm_s_ocp_qcqp_ipm.h → hpipm_s_ocp_qcqp_ipm.h} +0 -0
  1393. /casadi/include/{include/hpipm_s_ocp_qcqp_red.h → hpipm_s_ocp_qcqp_red.h} +0 -0
  1394. /casadi/include/{include/hpipm_s_ocp_qcqp_res.h → hpipm_s_ocp_qcqp_res.h} +0 -0
  1395. /casadi/include/{include/hpipm_s_ocp_qcqp_sol.h → hpipm_s_ocp_qcqp_sol.h} +0 -0
  1396. /casadi/include/{include/hpipm_s_ocp_qcqp_utils.h → hpipm_s_ocp_qcqp_utils.h} +0 -0
  1397. /casadi/include/{include/hpipm_s_ocp_qp.h → hpipm_s_ocp_qp.h} +0 -0
  1398. /casadi/include/{include/hpipm_s_ocp_qp_dim.h → hpipm_s_ocp_qp_dim.h} +0 -0
  1399. /casadi/include/{include/hpipm_s_ocp_qp_ipm.h → hpipm_s_ocp_qp_ipm.h} +0 -0
  1400. /casadi/include/{include/hpipm_s_ocp_qp_kkt.h → hpipm_s_ocp_qp_kkt.h} +0 -0
  1401. /casadi/include/{include/hpipm_s_ocp_qp_red.h → hpipm_s_ocp_qp_red.h} +0 -0
  1402. /casadi/include/{include/hpipm_s_ocp_qp_res.h → hpipm_s_ocp_qp_res.h} +0 -0
  1403. /casadi/include/{include/hpipm_s_ocp_qp_sol.h → hpipm_s_ocp_qp_sol.h} +0 -0
  1404. /casadi/include/{include/hpipm_s_ocp_qp_utils.h → hpipm_s_ocp_qp_utils.h} +0 -0
  1405. /casadi/include/{include/hpipm_s_part_cond.h → hpipm_s_part_cond.h} +0 -0
  1406. /casadi/include/{include/hpipm_s_part_cond_qcqp.h → hpipm_s_part_cond_qcqp.h} +0 -0
  1407. /casadi/include/{include/hpipm_s_sim_erk.h → hpipm_s_sim_erk.h} +0 -0
  1408. /casadi/include/{include/hpipm_s_sim_rk.h → hpipm_s_sim_rk.h} +0 -0
  1409. /casadi/include/{include/hpipm_s_tree_ocp_qcqp.h → hpipm_s_tree_ocp_qcqp.h} +0 -0
  1410. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_dim.h → hpipm_s_tree_ocp_qcqp_dim.h} +0 -0
  1411. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_ipm.h → hpipm_s_tree_ocp_qcqp_ipm.h} +0 -0
  1412. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_res.h → hpipm_s_tree_ocp_qcqp_res.h} +0 -0
  1413. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_sol.h → hpipm_s_tree_ocp_qcqp_sol.h} +0 -0
  1414. /casadi/include/{include/hpipm_s_tree_ocp_qcqp_utils.h → hpipm_s_tree_ocp_qcqp_utils.h} +0 -0
  1415. /casadi/include/{include/hpipm_s_tree_ocp_qp.h → hpipm_s_tree_ocp_qp.h} +0 -0
  1416. /casadi/include/{include/hpipm_s_tree_ocp_qp_dim.h → hpipm_s_tree_ocp_qp_dim.h} +0 -0
  1417. /casadi/include/{include/hpipm_s_tree_ocp_qp_ipm.h → hpipm_s_tree_ocp_qp_ipm.h} +0 -0
  1418. /casadi/include/{include/hpipm_s_tree_ocp_qp_kkt.h → hpipm_s_tree_ocp_qp_kkt.h} +0 -0
  1419. /casadi/include/{include/hpipm_s_tree_ocp_qp_res.h → hpipm_s_tree_ocp_qp_res.h} +0 -0
  1420. /casadi/include/{include/hpipm_s_tree_ocp_qp_sol.h → hpipm_s_tree_ocp_qp_sol.h} +0 -0
  1421. /casadi/include/{include/hpipm_s_tree_ocp_qp_utils.h → hpipm_s_tree_ocp_qp_utils.h} +0 -0
  1422. /casadi/include/{include/hpipm_scenario_tree.h → hpipm_scenario_tree.h} +0 -0
  1423. /casadi/include/{include/hpipm_timing.h → hpipm_timing.h} +0 -0
  1424. /casadi/include/{include/hpipm_tree.h → hpipm_tree.h} +0 -0
  1425. /casadi/include/{include/openblas → openblas}/cblas.h +0 -0
  1426. /casadi/include/{include/openblas → openblas}/f77blas.h +0 -0
  1427. /casadi/include/{include/openblas → openblas}/lapack.h +0 -0
  1428. /casadi/include/{include/openblas → openblas}/lapacke.h +0 -0
  1429. /casadi/include/{include/openblas → openblas}/lapacke_config.h +0 -0
  1430. /casadi/include/{include/openblas → openblas}/lapacke_example_aux.h +0 -0
  1431. /casadi/include/{include/eigen3/Eigen/src/misc → openblas}/lapacke_mangling.h +0 -0
  1432. /casadi/include/{include/openblas → openblas}/lapacke_utils.h +0 -0
  1433. /casadi/include/{include → openblas}/openblas/lapacke_mangling.h +0 -0
  1434. /casadi/include/{include/openblas → openblas}/openblas_config.h +0 -0
  1435. /casadi/include/{include/qdldl → qdldl}/qdldl.h +0 -0
  1436. /casadi/include/{include/qdldl → qdldl}/qdldl_types.h +0 -0
  1437. /casadi/include/{include/s_blas.h → s_blas.h} +0 -0
  1438. /casadi/include/{include/s_blas_64.h → s_blas_64.h} +0 -0
  1439. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -1,1441 +0,0 @@
1
- //
2
- // Copyright (c) 2022 INRIA
3
- //
4
- /** \file */
5
-
6
- #ifndef PROXSUITE_PROXQP_SPARSE_SOLVER_HPP
7
- #define PROXSUITE_PROXQP_SPARSE_SOLVER_HPP
8
-
9
- #include <chrono>
10
- #include <cmath>
11
-
12
- #include <proxsuite/linalg/dense/core.hpp>
13
- #include <proxsuite/linalg/sparse/core.hpp>
14
- #include <proxsuite/linalg/sparse/factorize.hpp>
15
- #include <proxsuite/linalg/sparse/update.hpp>
16
- #include <proxsuite/linalg/sparse/rowmod.hpp>
17
- #include <proxsuite/proxqp/dense/views.hpp>
18
- #include <proxsuite/proxqp/settings.hpp>
19
- #include <proxsuite/linalg/veg/vec.hpp>
20
- #include "proxsuite/proxqp/results.hpp"
21
- #include "proxsuite/proxqp/sparse/fwd.hpp"
22
- #include "proxsuite/proxqp/sparse/views.hpp"
23
- #include "proxsuite/proxqp/sparse/model.hpp"
24
- #include "proxsuite/proxqp/sparse/workspace.hpp"
25
- #include "proxsuite/proxqp/sparse/utils.hpp"
26
- #include "proxsuite/proxqp/sparse/preconditioner/ruiz.hpp"
27
- #include "proxsuite/proxqp/sparse/preconditioner/identity.hpp"
28
-
29
- #include <iostream>
30
- #include <iomanip>
31
- #include <Eigen/IterativeLinearSolvers>
32
- #include <unsupported/Eigen/IterativeSolvers>
33
-
34
- namespace proxsuite {
35
- namespace proxqp {
36
- namespace sparse {
37
-
38
- template<typename T, typename I>
39
- void
40
- ldl_solve(VectorViewMut<T> sol,
41
- VectorView<T> rhs,
42
- isize n_tot,
43
- proxsuite::linalg::sparse::MatMut<T, I> ldl,
44
- Eigen::MINRES<detail::AugmentedKkt<T, I>,
45
- Eigen::Upper | Eigen::Lower,
46
- Eigen::IdentityPreconditioner>& iterative_solver,
47
- bool do_ldlt,
48
- proxsuite::linalg::veg::dynstack::DynStackMut stack,
49
- T* ldl_values,
50
- I* perm,
51
- I* ldl_col_ptrs,
52
- I const* perm_inv)
53
- {
54
- LDLT_TEMP_VEC_UNINIT(T, work_, n_tot, stack);
55
- auto rhs_e = rhs.to_eigen();
56
- auto sol_e = sol.to_eigen();
57
- auto zx = proxsuite::linalg::sparse::util::zero_extend;
58
-
59
- if (do_ldlt) {
60
-
61
- for (isize i = 0; i < n_tot; ++i) {
62
- work_[i] = rhs_e[isize(zx(perm[i]))];
63
- }
64
-
65
- proxsuite::linalg::sparse::dense_lsolve<T, I>( //
66
- { proxsuite::linalg::sparse::from_eigen, work_ },
67
- ldl.as_const());
68
-
69
- for (isize i = 0; i < n_tot; ++i) {
70
- work_[i] /= ldl_values[isize(zx(ldl_col_ptrs[i]))];
71
- }
72
-
73
- proxsuite::linalg::sparse::dense_ltsolve<T, I>( //
74
- { proxsuite::linalg::sparse::from_eigen, work_ },
75
- ldl.as_const());
76
-
77
- for (isize i = 0; i < n_tot; ++i) {
78
- sol_e[i] = work_[isize(zx(perm_inv[i]))];
79
- }
80
- } else {
81
- work_ = iterative_solver.solve(rhs_e);
82
- sol_e = work_;
83
- }
84
- }
85
-
86
- template<typename T, typename I>
87
- void
88
- ldl_iter_solve_noalias(
89
- VectorViewMut<T> sol,
90
- VectorView<T> rhs,
91
- VectorView<T> init_guess,
92
- Results<T> const& results,
93
- Model<T, I> const& data,
94
- isize n_tot,
95
- proxsuite::linalg::sparse::MatMut<T, I> ldl,
96
- Eigen::MINRES<detail::AugmentedKkt<T, I>,
97
- Eigen::Upper | Eigen::Lower,
98
- Eigen::IdentityPreconditioner>& iterative_solver,
99
- bool do_ldlt,
100
- proxsuite::linalg::veg::dynstack::DynStackMut stack,
101
- T* ldl_values,
102
- I* perm,
103
- I* ldl_col_ptrs,
104
- I const* perm_inv,
105
- Settings<T> const& settings,
106
- proxsuite::linalg::sparse::MatMut<T, I> kkt_active,
107
- proxsuite::linalg::veg::SliceMut<bool> active_constraints)
108
- {
109
- auto rhs_e = rhs.to_eigen();
110
- auto sol_e = sol.to_eigen();
111
-
112
- if (init_guess.dim == sol.dim) {
113
- sol_e = init_guess.to_eigen();
114
- } else {
115
- sol_e.setZero();
116
- }
117
-
118
- LDLT_TEMP_VEC_UNINIT(T, err, n_tot, stack);
119
-
120
- T prev_err_norm = std::numeric_limits<T>::infinity();
121
-
122
- for (isize solve_iter = 0; solve_iter < settings.nb_iterative_refinement;
123
- ++solve_iter) {
124
-
125
- auto err_x = err.head(data.dim);
126
- auto err_y = err.segment(data.dim, data.n_eq);
127
- auto err_z = err.tail(data.n_in);
128
-
129
- auto sol_x = sol_e.head(data.dim);
130
- auto sol_y = sol_e.segment(data.dim, data.n_eq);
131
- auto sol_z = sol_e.tail(data.n_in); // removed active set condition
132
-
133
- err = -rhs_e;
134
-
135
- if (solve_iter > 0) {
136
- T mu_eq_neg = -results.info.mu_eq;
137
- T mu_in_neg = -results.info.mu_in;
138
- detail::noalias_symhiv_add(err, kkt_active.to_eigen(), sol_e);
139
- err_x += results.info.rho * sol_x;
140
- err_y += mu_eq_neg * sol_y;
141
- for (isize i = 0; i < data.n_in; ++i) {
142
- err_z[i] += (active_constraints[i] ? mu_in_neg : T(1)) * sol_z[i];
143
- }
144
- }
145
-
146
- T err_norm = infty_norm(err);
147
- if (err_norm > prev_err_norm / T(2)) {
148
- break;
149
- }
150
- prev_err_norm = err_norm;
151
-
152
- ldl_solve({ proxqp::from_eigen, err },
153
- { proxqp::from_eigen, err },
154
- n_tot,
155
- ldl,
156
- iterative_solver,
157
- do_ldlt,
158
- stack,
159
- ldl_values,
160
- perm,
161
- ldl_col_ptrs,
162
- perm_inv);
163
-
164
- sol_e -= err;
165
- }
166
- }
167
- /*!
168
- * Solves in place a linear system.
169
- *
170
- * @param rhs right hand side vector of the linear system to solver.
171
- * @param init_guess initial guess for solving the linear system
172
- * @param ldl current ldlt.
173
- * @param do_ldlt boolean variable for doing the ldlt (rather than MinRes
174
- * algorithm).
175
- * @param perm_inv pointer to the inverse of the permutation.
176
- * @param results solver results.
177
- * @param data model of the QP.
178
- * @param n_tot dimension of the KKT matrix
179
- * @param kkt_active active part of the KKT matrix.
180
- * @param active_constraints vector boolean precising whether the constraints
181
- * are active or not.
182
- * @param iterative_solver iterative solver matrix free.
183
- * @param stack memory stack.
184
- * @param ldl_values pointor to ldl values.
185
- * @param perm pointor to the ldl permutation.
186
- * @param ldl_col_ptrs pointor to the column of the ldl.
187
- * @param perm_inv pointor the inverse permutation.
188
- * @param settings solver's settings.
189
- * @param kkt_active active part of the kkt.
190
- */
191
- template<typename T, typename I>
192
- void
193
- ldl_solve_in_place(
194
- VectorViewMut<T> rhs,
195
- VectorView<T> init_guess,
196
- Results<T> const& results,
197
- Model<T, I> const& data,
198
- isize n_tot,
199
- proxsuite::linalg::sparse::MatMut<T, I> ldl,
200
- Eigen::MINRES<detail::AugmentedKkt<T, I>,
201
- Eigen::Upper | Eigen::Lower,
202
- Eigen::IdentityPreconditioner>& iterative_solver,
203
- bool do_ldlt,
204
- proxsuite::linalg::veg::dynstack::DynStackMut stack,
205
- T* ldl_values,
206
- I* perm,
207
- I* ldl_col_ptrs,
208
- I const* perm_inv,
209
- Settings<T> const& settings,
210
- proxsuite::linalg::sparse::MatMut<T, I> kkt_active,
211
- proxsuite::linalg::veg::SliceMut<bool> active_constraints)
212
- {
213
- LDLT_TEMP_VEC_UNINIT(T, tmp, n_tot, stack);
214
- ldl_iter_solve_noalias({ proxqp::from_eigen, tmp },
215
- rhs.as_const(),
216
- init_guess,
217
- results,
218
- data,
219
- n_tot,
220
- ldl,
221
- iterative_solver,
222
- do_ldlt,
223
- stack,
224
- ldl_values,
225
- perm,
226
- ldl_col_ptrs,
227
- perm_inv,
228
- settings,
229
- kkt_active,
230
- active_constraints);
231
- rhs.to_eigen() = tmp;
232
- }
233
- /*!
234
- * Reconstructs manually the permutted matrix.
235
- *
236
- * @param ldl current ldlt.
237
- * @param do_ldlt boolean variable for doing the ldlt (rather than MinRes
238
- * algorithm).
239
- */
240
- template<typename T, typename I>
241
- auto
242
- inner_reconstructed_matrix(proxsuite::linalg::sparse::MatMut<T, I> ldl)
243
- -> DMat<T>
244
- {
245
- auto ldl_dense = ldl.to_eigen().toDense();
246
- auto l = DMat<T>(ldl_dense.template triangularView<Eigen::UnitLower>());
247
- auto lt = l.transpose();
248
- auto d = ldl_dense.diagonal().asDiagonal();
249
- auto mat = DMat<T>(l * d * lt);
250
- return mat;
251
- }
252
- /*!
253
- * Reconstructs manually the value of the KKT matrix.
254
- *
255
- * @param ldl current ldlt.
256
- * @param do_ldlt boolean variable for doing the ldlt (rather than MinRes
257
- * algorithm).
258
- * @param perm_inv pointer to the inverse of the permutation.
259
- * @param n_tot dimension of the KKT matrix
260
- */
261
- template<typename T, typename I>
262
- auto
263
- reconstructed_matrix(proxsuite::linalg::sparse::MatMut<T, I> ldl,
264
- I const* perm_inv,
265
- isize n_tot) -> DMat<T>
266
- {
267
- auto mat = inner_reconstructed_matrix(ldl);
268
- auto mat_backup = mat;
269
- for (isize i = 0; i < n_tot; ++i) {
270
- for (isize j = 0; j < n_tot; ++j) {
271
- mat(i, j) = mat_backup(perm_inv[i], perm_inv[j]);
272
- }
273
- }
274
- return mat;
275
- }
276
- /*!
277
- * Derives the norm of the difference between current KKT and the one it should
278
- * be (derived manually).
279
- *
280
- * @param ldl current ldlt.
281
- * @param perm_inv pointer to the inverse of the permutation.
282
- * @param results solver results.
283
- * @param data model of the QP.
284
- * @param n_tot dimension of the KKT matrix
285
- * @param kkt_active active part of the KKT matrix.
286
- * @param active_constraints vector boolean precising whether the constraints
287
- * are active or not.
288
- */
289
- template<typename T, typename I>
290
- auto
291
- reconstruction_error(proxsuite::linalg::sparse::MatMut<T, I> ldl,
292
- I const* perm_inv,
293
- Results<T> const& results,
294
- Model<T, I> const& data,
295
- isize n_tot,
296
- proxsuite::linalg::sparse::MatMut<T, I> kkt_active,
297
- proxsuite::linalg::veg::SliceMut<bool> active_constraints)
298
- -> DMat<T>
299
- {
300
- T mu_eq_neg = -results.info.mu_eq;
301
- T mu_in_neg = -results.info.mu_in;
302
- auto diff = DMat<T>(
303
- reconstructed_matrix(ldl, perm_inv, n_tot) -
304
- DMat<T>(
305
- DMat<T>(kkt_active.to_eigen()).template selfadjointView<Eigen::Upper>()));
306
- diff.diagonal().head(data.dim).array() -= results.info.rho;
307
- diff.diagonal().segment(data.dim, data.n_eq).array() -= mu_eq_neg;
308
- for (isize i = 0; i < data.n_in; ++i) {
309
- diff.diagonal()[data.dim + data.n_eq + i] -=
310
- active_constraints[i] ? mu_in_neg : T(1);
311
- }
312
- return diff;
313
- }
314
-
315
- template<typename T>
316
- struct PrimalDualGradResult
317
- {
318
- T a;
319
- T b;
320
- T grad;
321
- VEG_REFLECT(PrimalDualGradResult, a, b, grad);
322
- };
323
-
324
- /*!
325
- * Executes the PROXQP algorithm.
326
- *
327
- * @param results solver results.
328
- * @param data QP problem model as defined by the user (without any scaling
329
- * performed).
330
- * @param settings solver settings.
331
- * @param work solver workspace.
332
- * @param precond preconditioner.
333
- */
334
- template<typename T, typename I, typename P>
335
- void
336
- qp_solve(Results<T>& results,
337
- Model<T, I>& data,
338
- const Settings<T>& settings,
339
- Workspace<T, I>& work,
340
- P& precond)
341
- {
342
- if (settings.compute_timings) {
343
- work.timer.stop();
344
- work.timer.start();
345
- }
346
-
347
- if (work.internal
348
- .dirty) // the following is used when a solve has already been executed
349
- // (and without any intermediary model update)
350
- {
351
- proxsuite::linalg::sparse::MatMut<T, I> kkt_unscaled =
352
- data.kkt_mut_unscaled();
353
-
354
- auto kkt_top_n_rows = detail::top_rows_mut_unchecked(
355
- proxsuite::linalg::veg::unsafe, kkt_unscaled, data.dim);
356
-
357
- proxsuite::linalg::sparse::MatMut<T, I> H_unscaled =
358
- detail::middle_cols_mut(kkt_top_n_rows, 0, data.dim, data.H_nnz);
359
-
360
- proxsuite::linalg::sparse::MatMut<T, I> AT_unscaled =
361
- detail::middle_cols_mut(kkt_top_n_rows, data.dim, data.n_eq, data.A_nnz);
362
-
363
- proxsuite::linalg::sparse::MatMut<T, I> CT_unscaled =
364
- detail::middle_cols_mut(
365
- kkt_top_n_rows, data.dim + data.n_eq, data.n_in, data.C_nnz);
366
-
367
- SparseMat<T, I> H_triu =
368
- H_unscaled.to_eigen().template triangularView<Eigen::Upper>();
369
- sparse::QpView<T, I> qp = {
370
- { proxsuite::linalg::sparse::from_eigen, H_triu },
371
- { proxsuite::linalg::sparse::from_eigen, data.g },
372
- { proxsuite::linalg::sparse::from_eigen, AT_unscaled.to_eigen() },
373
- { proxsuite::linalg::sparse::from_eigen, data.b },
374
- { proxsuite::linalg::sparse::from_eigen, CT_unscaled.to_eigen() },
375
- { proxsuite::linalg::sparse::from_eigen, data.l },
376
- { proxsuite::linalg::sparse::from_eigen, data.u }
377
- };
378
-
379
- switch (settings.initial_guess) { // the following is used when one solve
380
- // has already been executed
381
- case InitialGuessStatus::EQUALITY_CONSTRAINED_INITIAL_GUESS: {
382
- results.cleanup(settings);
383
- break;
384
- }
385
- case InitialGuessStatus::COLD_START_WITH_PREVIOUS_RESULT: {
386
- // keep solutions but restart workspace and results
387
- results.cold_start(settings);
388
- precond.scale_primal_in_place(
389
- { proxsuite::proxqp::from_eigen, results.x });
390
- precond.scale_dual_in_place_eq(
391
- { proxsuite::proxqp::from_eigen, results.y });
392
- precond.scale_dual_in_place_in(
393
- { proxsuite::proxqp::from_eigen, results.z });
394
- break;
395
- }
396
- case InitialGuessStatus::NO_INITIAL_GUESS: {
397
- results.cleanup(settings);
398
- break;
399
- }
400
- case InitialGuessStatus::WARM_START: {
401
- results.cold_start(settings); // because there was already a solve,
402
- // precond was already computed if set so
403
- precond.scale_primal_in_place(
404
- { proxsuite::proxqp::from_eigen,
405
- results.x }); // it contains the value given in entry for warm start
406
- precond.scale_dual_in_place_eq(
407
- { proxsuite::proxqp::from_eigen, results.y });
408
- precond.scale_dual_in_place_in(
409
- { proxsuite::proxqp::from_eigen, results.z });
410
- break;
411
- }
412
- case InitialGuessStatus::WARM_START_WITH_PREVIOUS_RESULT: {
413
- // keep workspace and results solutions except statistics
414
- results.cleanup_statistics();
415
- precond.scale_primal_in_place(
416
- { proxsuite::proxqp::from_eigen, results.x });
417
- precond.scale_dual_in_place_eq(
418
- { proxsuite::proxqp::from_eigen, results.y });
419
- precond.scale_dual_in_place_in(
420
- { proxsuite::proxqp::from_eigen, results.z });
421
- break;
422
- }
423
- }
424
- work.setup_impl(
425
- qp,
426
- data,
427
- settings,
428
- false,
429
- precond,
430
- P::scale_qp_in_place_req(
431
- proxsuite::linalg::veg::Tag<T>{}, data.dim, data.n_eq, data.n_in));
432
-
433
- } else {
434
- // the following is used for a first solve after initializing or updating
435
- // the Qp object
436
- switch (settings.initial_guess) {
437
- case InitialGuessStatus::EQUALITY_CONSTRAINED_INITIAL_GUESS: {
438
- break;
439
- }
440
- case InitialGuessStatus::COLD_START_WITH_PREVIOUS_RESULT: {
441
- precond.scale_primal_in_place(
442
- { proxsuite::proxqp::from_eigen,
443
- results.x }); // meaningful for when there is an upate of the model
444
- // and one wants to warm start with previous result
445
- precond.scale_dual_in_place_eq(
446
- { proxsuite::proxqp::from_eigen, results.y });
447
- precond.scale_dual_in_place_in(
448
- { proxsuite::proxqp::from_eigen, results.z });
449
- break;
450
- }
451
- case InitialGuessStatus::NO_INITIAL_GUESS: {
452
- break;
453
- }
454
- case InitialGuessStatus::WARM_START: {
455
- precond.scale_primal_in_place(
456
- { proxsuite::proxqp::from_eigen, results.x });
457
- precond.scale_dual_in_place_eq(
458
- { proxsuite::proxqp::from_eigen, results.y });
459
- precond.scale_dual_in_place_in(
460
- { proxsuite::proxqp::from_eigen, results.z });
461
- break;
462
- }
463
- case InitialGuessStatus::WARM_START_WITH_PREVIOUS_RESULT: {
464
- precond.scale_primal_in_place(
465
- { proxsuite::proxqp::from_eigen,
466
- results.x }); // meaningful for when there is an upate of the model
467
- // and one wants to warm start with previous result
468
- precond.scale_dual_in_place_eq(
469
- { proxsuite::proxqp::from_eigen, results.y });
470
- precond.scale_dual_in_place_in(
471
- { proxsuite::proxqp::from_eigen, results.z });
472
- break;
473
- }
474
- }
475
- }
476
-
477
- if (settings.verbose) {
478
- sparse::print_setup_header(settings, results, data);
479
- }
480
- using namespace proxsuite::linalg::veg::literals;
481
- namespace util = proxsuite::linalg::sparse::util;
482
- auto zx = util::zero_extend;
483
-
484
- proxsuite::linalg::veg::dynstack::DynStackMut stack = work.stack_mut();
485
-
486
- isize n = data.dim;
487
- isize n_eq = data.n_eq;
488
- isize n_in = data.n_in;
489
- isize n_tot = n + n_eq + n_in;
490
-
491
- VectorViewMut<T> x{ proxqp::from_eigen, results.x };
492
- VectorViewMut<T> y{ proxqp::from_eigen, results.y };
493
- VectorViewMut<T> z{ proxqp::from_eigen, results.z };
494
-
495
- proxsuite::linalg::sparse::MatMut<T, I> kkt = data.kkt_mut();
496
-
497
- auto kkt_top_n_rows =
498
- detail::top_rows_mut_unchecked(proxsuite::linalg::veg::unsafe, kkt, n);
499
-
500
- proxsuite::linalg::sparse::MatMut<T, I> H_scaled =
501
- detail::middle_cols_mut(kkt_top_n_rows, 0, n, data.H_nnz);
502
-
503
- proxsuite::linalg::sparse::MatMut<T, I> AT_scaled =
504
- detail::middle_cols_mut(kkt_top_n_rows, n, n_eq, data.A_nnz);
505
-
506
- proxsuite::linalg::sparse::MatMut<T, I> CT_scaled =
507
- detail::middle_cols_mut(kkt_top_n_rows, n + n_eq, n_in, data.C_nnz);
508
-
509
- auto& g_scaled_e = work.internal.g_scaled;
510
- auto& b_scaled_e = work.internal.b_scaled;
511
- auto& l_scaled_e = work.internal.l_scaled;
512
- auto& u_scaled_e = work.internal.u_scaled;
513
-
514
- QpViewMut<T, I> qp_scaled = {
515
- H_scaled,
516
- { proxsuite::linalg::sparse::from_eigen, g_scaled_e },
517
- AT_scaled,
518
- { proxsuite::linalg::sparse::from_eigen, b_scaled_e },
519
- CT_scaled,
520
- { proxsuite::linalg::sparse::from_eigen, l_scaled_e },
521
- { proxsuite::linalg::sparse::from_eigen, u_scaled_e },
522
- };
523
-
524
- T const dual_feasibility_rhs_2 = infty_norm(data.g);
525
-
526
- // auto ldl_col_ptrs = work.ldl_col_ptrs_mut();
527
- auto ldl_col_ptrs = work.internal.ldl.col_ptrs.ptr_mut();
528
- proxsuite::linalg::veg::Tag<I> itag;
529
- proxsuite::linalg::veg::Tag<T> xtag;
530
-
531
- bool do_ldlt = work.internal.do_ldlt;
532
-
533
- isize ldlt_ntot = do_ldlt ? n_tot : 0;
534
-
535
- auto _perm = stack.make_new_for_overwrite(itag, ldlt_ntot);
536
-
537
- I* perm_inv = work.internal.ldl.perm_inv.ptr_mut();
538
- I* perm = _perm.ptr_mut();
539
-
540
- if (do_ldlt) {
541
- // compute perm from perm_inv
542
- for (isize i = 0; i < n_tot; ++i) {
543
- perm[isize(zx(perm_inv[i]))] = I(i);
544
- }
545
- }
546
-
547
- I* kkt_nnz_counts = work.internal.kkt_nnz_counts.ptr_mut();
548
-
549
- auto& iterative_solver = *work.internal.matrix_free_solver.get();
550
- isize C_active_nnz = 0;
551
- switch (settings.initial_guess) {
552
- case InitialGuessStatus::EQUALITY_CONSTRAINED_INITIAL_GUESS: {
553
- // H and A are always active
554
- for (usize j = 0; j < usize(n + n_eq); ++j) {
555
- kkt_nnz_counts[isize(j)] = I(kkt.col_end(j) - kkt.col_start(j));
556
- }
557
- // ineq constraints initially inactive
558
- for (isize j = 0; j < n_in; ++j) {
559
- kkt_nnz_counts[n + n_eq + j] = 0;
560
- work.active_inequalities[j] = false;
561
- }
562
- break;
563
- }
564
- case InitialGuessStatus::COLD_START_WITH_PREVIOUS_RESULT: {
565
- // keep solutions + restart workspace and results except rho and mu : done
566
- // in setup
567
-
568
- // H and A are always active
569
- for (usize j = 0; j < usize(n + n_eq); ++j) {
570
- kkt_nnz_counts[isize(j)] = I(kkt.col_end(j) - kkt.col_start(j));
571
- }
572
- // keep constraints inactive from previous solution
573
- for (isize j = 0; j < n_in; ++j) {
574
- if (results.z(j) != 0) {
575
- kkt_nnz_counts[n + n_eq + j] = I(kkt.col_end(usize(n + n_eq + j)) -
576
- kkt.col_start(usize(n + n_eq + j)));
577
- work.active_inequalities[j] = true;
578
- C_active_nnz += kkt_nnz_counts[n + n_eq + j];
579
- } else {
580
- kkt_nnz_counts[n + n_eq + j] = 0;
581
- work.active_inequalities[j] = false;
582
- }
583
- }
584
- break;
585
- }
586
- case InitialGuessStatus::NO_INITIAL_GUESS: {
587
- // already set to zero in the setup
588
- // H and A are always active
589
- for (usize j = 0; j < usize(n + n_eq); ++j) {
590
- kkt_nnz_counts[isize(j)] = I(kkt.col_end(j) - kkt.col_start(j));
591
- }
592
- // ineq constraints initially inactive
593
- for (isize j = 0; j < n_in; ++j) {
594
- kkt_nnz_counts[n + n_eq + j] = 0;
595
- work.active_inequalities[j] = false;
596
- }
597
- break;
598
- }
599
- case InitialGuessStatus::WARM_START: {
600
- // keep previous solution
601
-
602
- // H and A are always active
603
- for (usize j = 0; j < usize(n + n_eq); ++j) {
604
- kkt_nnz_counts[isize(j)] = I(kkt.col_end(j) - kkt.col_start(j));
605
- }
606
- // keep constraints inactive from previous solution
607
- for (isize j = 0; j < n_in; ++j) {
608
- if (results.z(j) != 0) {
609
- kkt_nnz_counts[n + n_eq + j] = I(kkt.col_end(usize(n + n_eq + j)) -
610
- kkt.col_start(usize(n + n_eq + j)));
611
- work.active_inequalities[j] = true;
612
- C_active_nnz += kkt_nnz_counts[n + n_eq + j];
613
-
614
- } else {
615
- kkt_nnz_counts[n + n_eq + j] = 0;
616
- work.active_inequalities[j] = false;
617
- }
618
- }
619
- break;
620
- }
621
- case InitialGuessStatus::WARM_START_WITH_PREVIOUS_RESULT: {
622
- // keep workspace and results solutions except statistics
623
- // H and A are always active
624
- for (usize j = 0; j < usize(n + n_eq); ++j) {
625
- kkt_nnz_counts[isize(j)] = I(kkt.col_end(j) - kkt.col_start(j));
626
- }
627
- // keep constraints inactive from previous solution
628
- for (isize j = 0; j < n_in; ++j) {
629
- if (results.z(j) != 0) {
630
- kkt_nnz_counts[n + n_eq + j] = I(kkt.col_end(usize(n + n_eq + j)) -
631
- kkt.col_start(usize(n + n_eq + j)));
632
- work.active_inequalities[j] = true;
633
- C_active_nnz += kkt_nnz_counts[n + n_eq + j];
634
- } else {
635
- kkt_nnz_counts[n + n_eq + j] = 0;
636
- work.active_inequalities[j] = false;
637
- }
638
- }
639
- break;
640
- }
641
- }
642
-
643
- proxsuite::linalg::sparse::MatMut<T, I> kkt_active = {
644
- proxsuite::linalg::sparse::from_raw_parts,
645
- n_tot,
646
- n_tot,
647
- data.H_nnz + data.A_nnz + C_active_nnz,
648
- kkt.col_ptrs_mut(),
649
- kkt_nnz_counts,
650
- kkt.row_indices_mut(),
651
- kkt.values_mut(),
652
- };
653
-
654
- I* etree = work.internal.ldl.etree.ptr_mut();
655
- I* ldl_nnz_counts = work.internal.ldl.nnz_counts.ptr_mut();
656
- I* ldl_row_indices = work.internal.ldl.row_indices.ptr_mut();
657
- T* ldl_values = work.internal.ldl.values.ptr_mut();
658
- proxsuite::linalg::veg::SliceMut<bool> active_constraints =
659
- work.active_inequalities.as_mut();
660
-
661
- proxsuite::linalg::sparse::MatMut<T, I> ldl = {
662
- proxsuite::linalg::sparse::from_raw_parts,
663
- n_tot,
664
- n_tot,
665
- 0,
666
- ldl_col_ptrs,
667
- do_ldlt ? ldl_nnz_counts : nullptr, // si do_ldlt est vrai do ldl_nnz_counts
668
- ldl_row_indices,
669
- ldl_values,
670
- };
671
-
672
- T bcl_eta_ext_init = pow(T(0.1), settings.alpha_bcl);
673
- T bcl_eta_ext = bcl_eta_ext_init;
674
- T bcl_eta_in(1);
675
- T eps_in_min = std::min(settings.eps_abs, T(1e-9));
676
-
677
- auto x_e = x.to_eigen();
678
- auto y_e = y.to_eigen();
679
- auto z_e = z.to_eigen();
680
- sparse::refactorize<T, I>(
681
- work, results, kkt_active, active_constraints, data, stack, xtag);
682
- switch (settings.initial_guess) {
683
- case InitialGuessStatus::EQUALITY_CONSTRAINED_INITIAL_GUESS: {
684
- LDLT_TEMP_VEC_UNINIT(T, rhs, n_tot, stack);
685
- LDLT_TEMP_VEC_UNINIT(T, no_guess, 0, stack);
686
-
687
- rhs.head(n) = -g_scaled_e;
688
- rhs.segment(n, n_eq) = b_scaled_e;
689
- rhs.segment(n + n_eq, n_in).setZero();
690
-
691
- ldl_solve_in_place({ proxqp::from_eigen, rhs },
692
- { proxqp::from_eigen, no_guess },
693
- results,
694
- data,
695
- n_tot,
696
- ldl,
697
- iterative_solver,
698
- do_ldlt,
699
- stack,
700
- ldl_values,
701
- perm,
702
- ldl_col_ptrs,
703
- perm_inv,
704
- settings,
705
- kkt_active,
706
- active_constraints);
707
- x_e = rhs.head(n);
708
- y_e = rhs.segment(n, n_eq);
709
- z_e = rhs.segment(n + n_eq, n_in);
710
- break;
711
- }
712
- case InitialGuessStatus::COLD_START_WITH_PREVIOUS_RESULT: {
713
- // keep solutions but restart workspace and results
714
- break;
715
- }
716
- case InitialGuessStatus::NO_INITIAL_GUESS: {
717
- // already set to zero in the setup
718
- break;
719
- }
720
- case InitialGuessStatus::WARM_START: {
721
- // keep previous solution
722
- break;
723
- }
724
- case InitialGuessStatus::WARM_START_WITH_PREVIOUS_RESULT: {
725
- // keep workspace and results solutions except statistics
726
- break;
727
- }
728
- }
729
- T rhs_duality_gap(0);
730
-
731
- for (isize iter = 0; iter < settings.max_iter; ++iter) {
732
-
733
- results.info.iter_ext += 1;
734
- if (iter == settings.max_iter) {
735
- break;
736
- }
737
- T new_bcl_mu_eq = results.info.mu_eq;
738
- T new_bcl_mu_in = results.info.mu_in;
739
- T new_bcl_mu_eq_inv = results.info.mu_eq_inv;
740
- T new_bcl_mu_in_inv = results.info.mu_in_inv;
741
-
742
- {
743
- T primal_feasibility_eq_rhs_0;
744
- T primal_feasibility_in_rhs_0;
745
-
746
- T dual_feasibility_rhs_0(0);
747
- T dual_feasibility_rhs_1(0);
748
- T dual_feasibility_rhs_3(0);
749
-
750
- LDLT_TEMP_VEC_UNINIT(T, primal_residual_eq_scaled, n_eq, stack);
751
- LDLT_TEMP_VEC_UNINIT(T, primal_residual_in_scaled_lo, n_in, stack);
752
- LDLT_TEMP_VEC_UNINIT(T, primal_residual_in_scaled_up, n_in, stack);
753
-
754
- LDLT_TEMP_VEC_UNINIT(T, dual_residual_scaled, n, stack);
755
-
756
- // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
757
- auto is_primal_feasible = [&](T primal_feasibility_lhs) -> bool {
758
- T rhs_pri = settings.eps_abs;
759
- if (settings.eps_rel != 0) {
760
- rhs_pri +=
761
- settings.eps_rel * std::max({ primal_feasibility_eq_rhs_0,
762
- primal_feasibility_in_rhs_0 });
763
- }
764
- return primal_feasibility_lhs <= rhs_pri;
765
- };
766
- auto is_dual_feasible = [&](T dual_feasibility_lhs) -> bool {
767
- T rhs_dua = settings.eps_abs;
768
- if (settings.eps_rel != 0) {
769
- rhs_dua += settings.eps_rel * std::max({
770
- dual_feasibility_rhs_0,
771
- dual_feasibility_rhs_1,
772
- dual_feasibility_rhs_2,
773
- dual_feasibility_rhs_3,
774
- });
775
- }
776
-
777
- return dual_feasibility_lhs <= rhs_dua;
778
- };
779
- // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
780
-
781
- VEG_BIND( // ?
782
- auto,
783
- (primal_feasibility_lhs, dual_feasibility_lhs),
784
- detail::unscaled_primal_dual_residual(work,
785
- results,
786
- primal_residual_eq_scaled,
787
- primal_residual_in_scaled_lo,
788
- primal_residual_in_scaled_up,
789
- dual_residual_scaled,
790
- primal_feasibility_eq_rhs_0,
791
- primal_feasibility_in_rhs_0,
792
- dual_feasibility_rhs_0,
793
- dual_feasibility_rhs_1,
794
- dual_feasibility_rhs_3,
795
- rhs_duality_gap,
796
- precond,
797
- data,
798
- qp_scaled.as_const(),
799
- detail::vec_mut(x_e),
800
- detail::vec_mut(y_e),
801
- detail::vec_mut(z_e),
802
- stack));
803
- /*put in debug mode
804
- if (settings.verbose) {
805
- std::cout << "-------- outer iteration: " << iter << " primal
806
- residual "
807
- << primal_feasibility_lhs
808
- << " dual residual "
809
- << dual_feasibility_lhs <<
810
- " mu_in " << results.info.mu_in
811
- << " bcl_eta_ext " <<
812
- bcl_eta_ext << " bcl_eta_in "
813
- << bcl_eta_in <<
814
- std::endl;
815
- }
816
- */
817
- if (settings.verbose) {
818
- LDLT_TEMP_VEC_UNINIT(T, tmp, n, stack);
819
- tmp.setZero();
820
- detail::noalias_symhiv_add(tmp, qp_scaled.H.to_eigen(), x_e);
821
- precond.unscale_dual_residual_in_place({ proxqp::from_eigen, tmp });
822
-
823
- precond.unscale_primal_in_place({ proxqp::from_eigen, x_e });
824
- precond.unscale_dual_in_place_eq({ proxqp::from_eigen, y_e });
825
- precond.unscale_dual_in_place_in({ proxqp::from_eigen, z_e });
826
- tmp *= 0.5;
827
- tmp += data.g;
828
- results.info.objValue = (tmp).dot(x_e);
829
- std::cout << "\033[1;32m[outer iteration " << iter + 1 << "]\033[0m"
830
- << std::endl;
831
- std::cout << std::scientific << std::setw(2) << std::setprecision(2)
832
- << "| primal residual=" << primal_feasibility_lhs
833
- << " | dual residual=" << dual_feasibility_lhs
834
- << " | duality gap=" << results.info.duality_gap
835
- << " | mu_in=" << results.info.mu_in
836
- << " | rho=" << results.info.rho << std::endl;
837
- results.info.pri_res = primal_feasibility_lhs;
838
- results.info.dua_res = dual_feasibility_lhs;
839
- precond.scale_primal_in_place(VectorViewMut<T>{ from_eigen, x_e });
840
- precond.scale_dual_in_place_eq(VectorViewMut<T>{ from_eigen, y_e });
841
- precond.scale_dual_in_place_in(VectorViewMut<T>{ from_eigen, z_e });
842
- }
843
- if (is_primal_feasible(primal_feasibility_lhs) &&
844
- is_dual_feasible(dual_feasibility_lhs)) {
845
- if (settings.check_duality_gap) {
846
- if (std::fabs(results.info.duality_gap) <=
847
- settings.eps_duality_gap_abs +
848
- settings.eps_duality_gap_rel * rhs_duality_gap) {
849
- results.info.pri_res = primal_feasibility_lhs;
850
- results.info.dua_res = dual_feasibility_lhs;
851
- results.info.status = QPSolverOutput::PROXQP_SOLVED;
852
- break;
853
- }
854
- } else {
855
- results.info.pri_res = primal_feasibility_lhs;
856
- results.info.dua_res = dual_feasibility_lhs;
857
- results.info.status = QPSolverOutput::PROXQP_SOLVED;
858
- break;
859
- }
860
- }
861
-
862
- LDLT_TEMP_VEC_UNINIT(T, x_prev_e, n, stack);
863
- LDLT_TEMP_VEC_UNINIT(T, y_prev_e, n_eq, stack);
864
- LDLT_TEMP_VEC_UNINIT(T, z_prev_e, n_in, stack);
865
- LDLT_TEMP_VEC(T, dw_prev, n_tot, stack);
866
-
867
- x_prev_e = x_e;
868
- y_prev_e = y_e;
869
- z_prev_e = z_e;
870
-
871
- // Cx + 1/mu_in * z_prev
872
- primal_residual_in_scaled_up += results.info.mu_in * z_prev_e;
873
- primal_residual_in_scaled_lo = primal_residual_in_scaled_up;
874
-
875
- // Cx - l + 1/mu_in * z_prev
876
- primal_residual_in_scaled_lo -= l_scaled_e;
877
-
878
- // Cx - u + 1/mu_in * z_prev
879
- primal_residual_in_scaled_up -= u_scaled_e;
880
-
881
- // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
882
- auto primal_dual_newton_semi_smooth = [&]() -> void {
883
- for (isize iter_inner = 0; iter_inner < settings.max_iter_in;
884
- ++iter_inner) {
885
- LDLT_TEMP_VEC_UNINIT(T, dw, n_tot, stack);
886
-
887
- if (iter_inner == settings.max_iter_in - 1) {
888
- results.info.iter += settings.max_iter_in;
889
- break;
890
- }
891
-
892
- // primal_dual_semi_smooth_newton_step
893
- {
894
- LDLT_TEMP_VEC_UNINIT(bool, new_active_constraints, n_in, stack);
895
- auto rhs = dw;
896
-
897
- work.active_set_low.array() =
898
- primal_residual_in_scaled_lo.array() <= 0;
899
- work.active_set_up.array() =
900
- primal_residual_in_scaled_up.array() >= 0;
901
- new_active_constraints = work.active_set_low || work.active_set_up;
902
-
903
- // active set change
904
- if (n_in > 0) {
905
- bool removed = false;
906
- bool added = false;
907
-
908
- for (isize i = 0; i < n_in; ++i) {
909
- bool was_active = active_constraints[i];
910
- bool is_active = new_active_constraints[i];
911
-
912
- isize idx = n + n_eq + i;
913
-
914
- usize col_nnz =
915
- zx(kkt.col_end(usize(idx))) - zx(kkt.col_start(usize(idx)));
916
-
917
- if (is_active && !was_active) {
918
- added = true;
919
-
920
- kkt_active.nnz_per_col_mut()[idx] = I(col_nnz);
921
- kkt_active._set_nnz(kkt_active.nnz() + isize(col_nnz));
922
-
923
- if (do_ldlt) {
924
- proxsuite::linalg::sparse::VecRef<T, I> new_col{
925
- proxsuite::linalg::sparse::from_raw_parts,
926
- n_tot,
927
- isize(col_nnz),
928
- kkt.row_indices() + zx(kkt.col_start(usize(idx))),
929
- kkt.values() + zx(kkt.col_start(usize(idx))),
930
- };
931
-
932
- ldl =
933
- proxsuite::linalg::sparse::add_row(ldl,
934
- etree,
935
- perm_inv,
936
- idx,
937
- new_col,
938
- -results.info.mu_in,
939
- stack);
940
- }
941
- active_constraints[i] = new_active_constraints[i];
942
-
943
- } else if (!is_active && was_active) {
944
- removed = true;
945
- kkt_active.nnz_per_col_mut()[idx] = 0;
946
- kkt_active._set_nnz(kkt_active.nnz() - isize(col_nnz));
947
- if (do_ldlt) {
948
- ldl = proxsuite::linalg::sparse::delete_row(
949
- ldl, etree, perm_inv, idx, stack);
950
- }
951
- active_constraints[i] = new_active_constraints[i];
952
- }
953
- }
954
-
955
- if (!do_ldlt) {
956
- if (removed || added) {
957
- refactorize(work,
958
- results,
959
- kkt_active,
960
- active_constraints,
961
- data,
962
- stack,
963
- xtag);
964
- }
965
- }
966
- }
967
-
968
- rhs.head(n) = -dual_residual_scaled;
969
- rhs.segment(n, n_eq) = -primal_residual_eq_scaled;
970
-
971
- for (isize i = 0; i < n_in; ++i) {
972
- if (work.active_set_up(i)) {
973
- rhs(n + n_eq + i) =
974
- results.info.mu_in * z_e(i) - primal_residual_in_scaled_up(i);
975
- } else if (work.active_set_low(i)) {
976
- rhs(n + n_eq + i) =
977
- results.info.mu_in * z_e(i) - primal_residual_in_scaled_lo(i);
978
- } else {
979
- rhs(n + n_eq + i) = -z_e(i);
980
- rhs.head(n) += z_e(i) * CT_scaled.to_eigen().col(i);
981
- }
982
- }
983
-
984
- ldl_solve_in_place(
985
- { proxqp::from_eigen, rhs },
986
- { proxqp::from_eigen,
987
- dw_prev }, // todo: MAJ dw_prev avec dw pour avoir meilleur
988
- // guess sur les solve in place
989
- results,
990
- data,
991
- n_tot,
992
- ldl,
993
- iterative_solver,
994
- do_ldlt,
995
- stack,
996
- ldl_values,
997
- perm,
998
- ldl_col_ptrs,
999
- perm_inv,
1000
- settings,
1001
- kkt_active,
1002
- active_constraints);
1003
- }
1004
- auto dx = dw.head(n);
1005
- auto dy = dw.segment(n, n_eq);
1006
- auto dz = dw.segment(n + n_eq, n_in);
1007
-
1008
- LDLT_TEMP_VEC(T, Hdx, n, stack);
1009
- LDLT_TEMP_VEC(T, Adx, n_eq, stack);
1010
- LDLT_TEMP_VEC(T, Cdx, n_in, stack);
1011
-
1012
- LDLT_TEMP_VEC(T, ATdy, n, stack);
1013
- LDLT_TEMP_VEC(T, CTdz, n, stack);
1014
-
1015
- detail::noalias_symhiv_add(Hdx, H_scaled.to_eigen(), dx);
1016
- detail::noalias_gevmmv_add(Adx, ATdy, AT_scaled.to_eigen(), dx, dy);
1017
- detail::noalias_gevmmv_add(Cdx, CTdz, CT_scaled.to_eigen(), dx, dz);
1018
-
1019
- T alpha = 1;
1020
- // primal dual line search
1021
- if (n_in > 0) {
1022
- auto primal_dual_gradient_norm =
1023
- [&](T alpha_cur) -> PrimalDualGradResult<T> {
1024
- LDLT_TEMP_VEC_UNINIT(T, Cdx_active, n_in, stack);
1025
- LDLT_TEMP_VEC_UNINIT(T, active_part_z, n_in, stack);
1026
- {
1027
- LDLT_TEMP_VEC_UNINIT(T, tmp_lo, n_in, stack);
1028
- LDLT_TEMP_VEC_UNINIT(T, tmp_up, n_in, stack);
1029
-
1030
- auto zero = Eigen::Matrix<T, Eigen::Dynamic, 1>::Zero(n_in);
1031
-
1032
- tmp_lo = primal_residual_in_scaled_lo + alpha_cur * Cdx;
1033
- tmp_up = primal_residual_in_scaled_up + alpha_cur * Cdx;
1034
- Cdx_active =
1035
- (tmp_lo.array() < 0 || tmp_up.array() > 0).select(Cdx, zero);
1036
- active_part_z = (tmp_lo.array() < 0)
1037
- .select(primal_residual_in_scaled_lo, zero) +
1038
- (tmp_up.array() > 0)
1039
- .select(primal_residual_in_scaled_up, zero);
1040
- }
1041
-
1042
- T a = dx.dot(Hdx) + //
1043
- results.info.rho * dx.squaredNorm() + //
1044
- results.info.mu_eq_inv * Adx.squaredNorm() +
1045
- +results.info.mu_in_inv * Cdx_active.squaredNorm() +
1046
- results.info.nu * results.info.mu_eq *
1047
- (results.info.mu_eq_inv * Adx - dy).squaredNorm() +
1048
- results.info.nu * results.info.mu_in *
1049
- (results.info.mu_in_inv * Cdx_active - dz).squaredNorm();
1050
-
1051
- T b =
1052
- x_e.dot(Hdx) + //
1053
- (results.info.rho * (x_e - x_prev_e) + g_scaled_e).dot(dx) + //
1054
- Adx.dot(results.info.mu_eq_inv * primal_residual_eq_scaled +
1055
- y_e) + //
1056
- results.info.mu_in_inv * Cdx_active.dot(active_part_z) + //
1057
- results.info.nu * primal_residual_eq_scaled.dot(
1058
- results.info.mu_eq_inv * Adx - dy) + //
1059
- results.info.nu *
1060
- (active_part_z - results.info.mu_in * z_e)
1061
- .dot(results.info.mu_in_inv * Cdx_active - dz);
1062
-
1063
- return {
1064
- a,
1065
- b,
1066
- a * alpha_cur + b,
1067
- };
1068
- };
1069
-
1070
- LDLT_TEMP_VEC_UNINIT(T, alphas, 2 * n_in, stack);
1071
- isize alphas_count = 0;
1072
-
1073
- for (isize i = 0; i < n_in; ++i) {
1074
- T alpha_candidates[2] = {
1075
- -primal_residual_in_scaled_lo(i) / (Cdx(i)),
1076
- -primal_residual_in_scaled_up(i) / (Cdx(i)),
1077
- };
1078
-
1079
- for (auto alpha_candidate : alpha_candidates) {
1080
- if (alpha_candidate > 0) {
1081
- alphas[alphas_count] = alpha_candidate;
1082
- ++alphas_count;
1083
- }
1084
- }
1085
- }
1086
- std::sort(alphas.data(), alphas.data() + alphas_count);
1087
- alphas_count =
1088
- std::unique(alphas.data(), alphas.data() + alphas_count) -
1089
- alphas.data();
1090
-
1091
- if (alphas_count > 0 && alphas[0] <= 1) {
1092
- auto infty = std::numeric_limits<T>::infinity();
1093
-
1094
- T last_neg_grad = 0;
1095
- T alpha_last_neg = 0;
1096
- T first_pos_grad = 0;
1097
- T alpha_first_pos = infty;
1098
-
1099
- {
1100
- for (isize i = 0; i < alphas_count; ++i) {
1101
- T alpha_cur = alphas[i];
1102
- T gr = primal_dual_gradient_norm(alpha_cur).grad;
1103
-
1104
- if (gr < 0) {
1105
- alpha_last_neg = alpha_cur;
1106
- last_neg_grad = gr;
1107
- } else {
1108
- first_pos_grad = gr;
1109
- alpha_first_pos = alpha_cur;
1110
- break;
1111
- }
1112
- }
1113
-
1114
- if (alpha_last_neg == 0) {
1115
- last_neg_grad =
1116
- primal_dual_gradient_norm(alpha_last_neg).grad;
1117
- }
1118
-
1119
- if (alpha_first_pos == infty) {
1120
- auto res = primal_dual_gradient_norm(2 * alpha_last_neg + 1);
1121
- alpha = -res.b / res.a;
1122
- } else {
1123
- alpha = alpha_last_neg -
1124
- last_neg_grad * (alpha_first_pos - alpha_last_neg) /
1125
- (first_pos_grad - last_neg_grad);
1126
- }
1127
- }
1128
- } else {
1129
- auto res = primal_dual_gradient_norm(T(0));
1130
- alpha = -res.b / res.a;
1131
- }
1132
- }
1133
- if (alpha * infty_norm(dw) < T(1e-11) && iter_inner > 0) {
1134
- results.info.iter += iter_inner + 1;
1135
- return;
1136
- }
1137
-
1138
- x_e += alpha * dx;
1139
- y_e += alpha * dy;
1140
- z_e += alpha * dz;
1141
-
1142
- dual_residual_scaled +=
1143
- alpha * (Hdx + ATdy + CTdz + results.info.rho * dx);
1144
- primal_residual_eq_scaled += alpha * (Adx - results.info.mu_eq * dy);
1145
- primal_residual_in_scaled_lo += alpha * Cdx;
1146
- primal_residual_in_scaled_up += alpha * Cdx;
1147
-
1148
- T err_in = std::max({
1149
- (infty_norm(helpers::negative_part(primal_residual_in_scaled_lo) +
1150
- helpers::positive_part(primal_residual_in_scaled_up) -
1151
- results.info.mu_in * z_e)),
1152
- (infty_norm(primal_residual_eq_scaled)),
1153
- (infty_norm(dual_residual_scaled)),
1154
- });
1155
- /* put in debug mode
1156
- if (settings.verbose) {
1157
- std::cout << "--inner iter " << iter_inner << " iner error "
1158
- << err_in << " alpha "
1159
- << alpha << " infty_norm(dw) "
1160
- << infty_norm(dw) <<
1161
- std::endl;
1162
- }
1163
- */
1164
- if (settings.verbose) {
1165
- std::cout << "\033[1;34m[inner iteration " << iter_inner + 1
1166
- << "]\033[0m" << std::endl;
1167
- std::cout << std::scientific << std::setw(2) << std::setprecision(2)
1168
- << "| inner residual=" << err_in << " | alpha=" << alpha
1169
- << std::endl;
1170
- }
1171
- if (err_in <= bcl_eta_in) {
1172
- results.info.iter += iter_inner + 1;
1173
- return;
1174
- }
1175
-
1176
- // compute primal and dual infeasibility criteria
1177
- bool is_primal_infeasible = proxsuite::proxqp::sparse::detail::
1178
- global_primal_residual_infeasibility(
1179
- VectorViewMut<T>{ from_eigen, ATdy },
1180
- VectorViewMut<T>{ from_eigen, CTdz },
1181
- VectorViewMut<T>{ from_eigen, dy },
1182
- VectorViewMut<T>{ from_eigen, dz },
1183
- qp_scaled.as_const(),
1184
- settings,
1185
- precond);
1186
- bool is_dual_infeasible = proxsuite::proxqp::sparse::detail::
1187
- global_dual_residual_infeasibility(
1188
- VectorViewMut<T>{ from_eigen, Adx },
1189
- VectorViewMut<T>{ from_eigen, Cdx },
1190
- VectorViewMut<T>{ from_eigen, Hdx },
1191
- VectorViewMut<T>{ from_eigen, dx },
1192
- qp_scaled.as_const(),
1193
- settings,
1194
- data,
1195
- precond);
1196
- if (is_primal_infeasible) {
1197
- results.info.status = QPSolverOutput::PROXQP_PRIMAL_INFEASIBLE;
1198
- dw_prev = dw;
1199
- break;
1200
- } else if (is_dual_infeasible) {
1201
- results.info.status = QPSolverOutput::PROXQP_DUAL_INFEASIBLE;
1202
- dw_prev = dw;
1203
- break;
1204
- }
1205
- }
1206
- };
1207
- // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1208
-
1209
- primal_dual_newton_semi_smooth();
1210
- if (results.info.status == QPSolverOutput::PROXQP_PRIMAL_INFEASIBLE ||
1211
- results.info.status == QPSolverOutput::PROXQP_DUAL_INFEASIBLE) {
1212
- // certificate of infeasibility
1213
- results.x = dw_prev.head(data.dim);
1214
- results.y = dw_prev.segment(data.dim, data.n_eq);
1215
- results.z = dw_prev.tail(data.n_in);
1216
- break;
1217
- }
1218
- // VEG bind : met le résultat tuple de unscaled_primal_dual_residual dans
1219
- // (primal_feasibility_lhs_new, dual_feasibility_lhs_new) en guessant leur
1220
- // type via auto
1221
- VEG_BIND(
1222
- auto,
1223
- (primal_feasibility_lhs_new, dual_feasibility_lhs_new),
1224
- detail::unscaled_primal_dual_residual(work,
1225
- results,
1226
- primal_residual_eq_scaled,
1227
- primal_residual_in_scaled_lo,
1228
- primal_residual_in_scaled_up,
1229
- dual_residual_scaled,
1230
- primal_feasibility_eq_rhs_0,
1231
- primal_feasibility_in_rhs_0,
1232
- dual_feasibility_rhs_0,
1233
- dual_feasibility_rhs_1,
1234
- dual_feasibility_rhs_3,
1235
- rhs_duality_gap,
1236
- precond,
1237
- data,
1238
- qp_scaled.as_const(),
1239
- detail::vec_mut(x_e),
1240
- detail::vec_mut(y_e),
1241
- detail::vec_mut(z_e),
1242
- stack));
1243
-
1244
- if (is_primal_feasible(primal_feasibility_lhs_new) &&
1245
- is_dual_feasible(dual_feasibility_lhs_new)) {
1246
- if (settings.check_duality_gap) {
1247
- if (std::fabs(results.info.duality_gap) <=
1248
- settings.eps_duality_gap_abs +
1249
- settings.eps_duality_gap_rel * rhs_duality_gap) {
1250
- results.info.pri_res = primal_feasibility_lhs_new;
1251
- results.info.dua_res = dual_feasibility_lhs_new;
1252
- results.info.status = QPSolverOutput::PROXQP_SOLVED;
1253
- break;
1254
- }
1255
- } else {
1256
- results.info.pri_res = primal_feasibility_lhs_new;
1257
- results.info.dua_res = dual_feasibility_lhs_new;
1258
- results.info.status = QPSolverOutput::PROXQP_SOLVED;
1259
- break;
1260
- }
1261
- }
1262
-
1263
- // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
1264
- auto bcl_update = [&]() -> void {
1265
- if (primal_feasibility_lhs_new <= bcl_eta_ext ||
1266
- iter > settings.safe_guard) {
1267
- bcl_eta_ext *= pow(results.info.mu_in, settings.beta_bcl);
1268
- bcl_eta_in = std::max(bcl_eta_in * results.info.mu_in, eps_in_min);
1269
-
1270
- } else {
1271
- y_e = y_prev_e;
1272
- z_e = z_prev_e;
1273
- new_bcl_mu_in = std::max(
1274
- results.info.mu_in * settings.mu_update_factor, settings.mu_min_in);
1275
- new_bcl_mu_eq = std::max(
1276
- results.info.mu_eq * settings.mu_update_factor, settings.mu_min_eq);
1277
-
1278
- new_bcl_mu_in_inv =
1279
- std::min(results.info.mu_in_inv * settings.mu_update_inv_factor,
1280
- settings.mu_max_in_inv);
1281
- new_bcl_mu_eq_inv =
1282
- std::min(results.info.mu_eq_inv * settings.mu_update_inv_factor,
1283
- settings.mu_max_eq_inv);
1284
- bcl_eta_ext =
1285
- bcl_eta_ext_init * pow(new_bcl_mu_in, settings.alpha_bcl);
1286
- bcl_eta_in = std::max(new_bcl_mu_in, eps_in_min);
1287
- }
1288
- };
1289
- // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1290
- bcl_update();
1291
-
1292
- VEG_BIND(
1293
- auto,
1294
- (_, dual_feasibility_lhs_new_2),
1295
- detail::unscaled_primal_dual_residual(work,
1296
- results,
1297
- primal_residual_eq_scaled,
1298
- primal_residual_in_scaled_lo,
1299
- primal_residual_in_scaled_up,
1300
- dual_residual_scaled,
1301
- primal_feasibility_eq_rhs_0,
1302
- primal_feasibility_in_rhs_0,
1303
- dual_feasibility_rhs_0,
1304
- dual_feasibility_rhs_1,
1305
- dual_feasibility_rhs_3,
1306
- rhs_duality_gap,
1307
- precond,
1308
- data,
1309
- qp_scaled.as_const(),
1310
- detail::vec_mut(x_e),
1311
- detail::vec_mut(y_e),
1312
- detail::vec_mut(z_e),
1313
- stack));
1314
- proxsuite::linalg::veg::unused(_);
1315
-
1316
- if (primal_feasibility_lhs_new >= primal_feasibility_lhs && //
1317
- dual_feasibility_lhs_new_2 >= primal_feasibility_lhs && //
1318
- results.info.mu_in <= T(1.E-5)) {
1319
- new_bcl_mu_in = settings.cold_reset_mu_in;
1320
- new_bcl_mu_eq = settings.cold_reset_mu_eq;
1321
- new_bcl_mu_in_inv = settings.cold_reset_mu_in_inv;
1322
- new_bcl_mu_eq_inv = settings.cold_reset_mu_eq_inv;
1323
- }
1324
- }
1325
- if (results.info.mu_in != new_bcl_mu_in ||
1326
- results.info.mu_eq != new_bcl_mu_eq) {
1327
- {
1328
- ++results.info.mu_updates;
1329
- }
1330
- /*
1331
- refactorize(
1332
- work,
1333
- results,
1334
- kkt_active,
1335
- active_constraints,
1336
- data,
1337
- stack,
1338
- xtag);
1339
- */
1340
- if (work.internal.do_ldlt) {
1341
- isize w_values = 1; // un seul elt non nul
1342
- T alpha = 0;
1343
- for (isize j = 0; j < n_eq + n_in; ++j) {
1344
- I row_index = I(j + n);
1345
- if (j < n_eq) {
1346
- alpha = results.info.mu_eq - new_bcl_mu_eq;
1347
-
1348
- } else {
1349
- if (!work.active_inequalities[j - n_eq]) {
1350
- continue;
1351
- }
1352
- alpha = results.info.mu_in - new_bcl_mu_in;
1353
- }
1354
- T value = 1;
1355
- proxsuite::linalg::sparse::VecRef<T, I> w{
1356
- proxsuite::linalg::veg::from_raw_parts,
1357
- n + n_eq + n_in,
1358
- w_values,
1359
- &row_index, // &: adresse de row index
1360
- &value,
1361
- };
1362
- ldl = rank1_update(ldl, etree, perm_inv, w, alpha, stack);
1363
- }
1364
- } else {
1365
- refactorize(
1366
- work, results, kkt_active, active_constraints, data, stack, xtag);
1367
- }
1368
- }
1369
-
1370
- results.info.mu_eq = new_bcl_mu_eq;
1371
- results.info.mu_in = new_bcl_mu_in;
1372
- results.info.mu_eq_inv = new_bcl_mu_eq_inv;
1373
- results.info.mu_in_inv = new_bcl_mu_in_inv;
1374
- }
1375
- LDLT_TEMP_VEC_UNINIT(T, tmp, n, stack);
1376
- tmp.setZero();
1377
- detail::noalias_symhiv_add(tmp, qp_scaled.H.to_eigen(), x_e);
1378
- precond.unscale_dual_residual_in_place({ proxqp::from_eigen, tmp });
1379
-
1380
- precond.unscale_primal_in_place({ proxqp::from_eigen, x_e });
1381
- precond.unscale_dual_in_place_eq({ proxqp::from_eigen, y_e });
1382
- precond.unscale_dual_in_place_in({ proxqp::from_eigen, z_e });
1383
- tmp *= 0.5;
1384
- tmp += data.g;
1385
- results.info.objValue = (tmp).dot(x_e);
1386
-
1387
- if (settings.compute_timings) {
1388
- results.info.solve_time = work.timer.elapsed().user; // in nanoseconds
1389
- results.info.run_time = results.info.solve_time + results.info.setup_time;
1390
- }
1391
- if (settings.verbose) {
1392
- std::cout << "-------------------SOLVER STATISTICS-------------------"
1393
- << std::endl;
1394
- std::cout << "outer iter: " << results.info.iter_ext << std::endl;
1395
- std::cout << "total iter: " << results.info.iter << std::endl;
1396
- std::cout << "mu updates: " << results.info.mu_updates << std::endl;
1397
- std::cout << "rho updates: " << results.info.rho_updates << std::endl;
1398
- std::cout << "objective: " << results.info.objValue << std::endl;
1399
- switch (results.info.status) {
1400
- case QPSolverOutput::PROXQP_SOLVED: {
1401
- std::cout << "status: "
1402
- << "Solved" << std::endl;
1403
- break;
1404
- }
1405
- case QPSolverOutput::PROXQP_MAX_ITER_REACHED: {
1406
- std::cout << "status: "
1407
- << "Maximum number of iterations reached" << std::endl;
1408
- break;
1409
- }
1410
- case QPSolverOutput::PROXQP_PRIMAL_INFEASIBLE: {
1411
- std::cout << "status: "
1412
- << "Primal infeasible" << std::endl;
1413
- break;
1414
- }
1415
- case QPSolverOutput::PROXQP_DUAL_INFEASIBLE: {
1416
- std::cout << "status: "
1417
- << "Dual infeasible" << std::endl;
1418
- break;
1419
- }
1420
- default: {
1421
- assert(false && "Should never happened");
1422
- break;
1423
- }
1424
- }
1425
- if (settings.compute_timings)
1426
- std::cout << "run time: " << results.info.solve_time << std::endl;
1427
- std::cout << "--------------------------------------------------------"
1428
- << std::endl;
1429
- }
1430
-
1431
- assert(!std::isnan(results.info.pri_res));
1432
- assert(!std::isnan(results.info.dua_res));
1433
- assert(!std::isnan(results.info.duality_gap));
1434
-
1435
- work.set_dirty();
1436
- }
1437
- } // namespace sparse
1438
- } // namespace proxqp
1439
- } // namespace proxsuite
1440
-
1441
- #endif /* end of include guard PROXSUITE_PROXQP_SPARSE_SOLVER_HPP */