casadi 3.6.5__cp39-none-win_amd64.whl → 3.6.6__cp39-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +663 -257
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/casadi-config-version.cmake +1 -1
  10. casadi/cmake/highs/highs-config.cmake +7 -14
  11. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  12. casadi/cmake/highs/highs-targets.cmake +11 -9
  13. casadi/daqp.lib +0 -0
  14. casadi/fatrop.lib +0 -0
  15. casadi/highs.exe +0 -0
  16. casadi/highs.lib +0 -0
  17. casadi/hpipm.lib +0 -0
  18. casadi/include/casadi/casadi.i +3 -0
  19. casadi/include/casadi/casadi_c.h +2 -0
  20. casadi/include/casadi/config.h +8 -8
  21. casadi/include/casadi/core/casadi_common.hpp +1 -0
  22. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  23. casadi/include/casadi/core/casadi_types.hpp +3 -2
  24. casadi/include/casadi/core/code_generator.hpp +30 -1
  25. casadi/include/casadi/core/global_options.hpp +2 -0
  26. casadi/include/casadi/core/mx.hpp +13 -3
  27. casadi/include/casadi/core/optistack.hpp +23 -0
  28. casadi/include/casadi/core/runtime/casadi_nlp.hpp +2 -0
  29. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  30. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  31. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  32. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  33. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  34. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  35. casadi/include/casadi/core/sparsity.hpp +7 -0
  36. casadi/include/casadi/doc.i +1397 -955
  37. casadi/include/casadi/doc_merged.i +867 -675
  38. casadi/include/casadi/mem.h +1 -0
  39. casadi/include/daqp/api.h +46 -0
  40. casadi/include/daqp/auxiliary.h +29 -0
  41. casadi/include/daqp/bnb.h +32 -0
  42. casadi/include/daqp/codegen.h +18 -0
  43. casadi/include/daqp/constants.h +92 -0
  44. casadi/include/daqp/daqp.h +22 -0
  45. casadi/include/daqp/daqp_prox.h +18 -0
  46. casadi/include/daqp/factorization.h +18 -0
  47. casadi/include/daqp/types.h +161 -0
  48. casadi/include/daqp/utils.h +44 -0
  49. casadi/include/dlfcn.h +94 -0
  50. casadi/include/fatrop/auxiliary/Common.hpp +33 -0
  51. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  52. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  53. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  54. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  55. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  56. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +492 -0
  57. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  58. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  59. casadi/include/fatrop/json/json.h +946 -0
  60. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  61. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  62. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  63. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  64. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  65. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  66. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  67. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  68. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  69. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  70. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  71. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +191 -0
  72. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  73. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  74. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  75. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  76. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  77. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  78. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  79. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  80. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  81. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  82. casadi/include/fatrop/solver/AlgBuilder.hpp +66 -0
  83. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  84. casadi/include/fatrop/solver/FatropAlg.hpp +108 -0
  85. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  86. casadi/include/fatrop/solver/FatropOptions.hpp +94 -0
  87. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  88. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  89. casadi/include/fatrop/solver/Filter.hpp +54 -0
  90. casadi/include/fatrop/solver/IterationData.hpp +55 -0
  91. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  92. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  93. casadi/include/fatrop/templates/NLPAlg.hpp +102 -0
  94. casadi/include/highs/HConfig.h +6 -5
  95. casadi/include/highs/Highs.h +93 -23
  96. casadi/include/highs/filereaderlp/def.hpp +19 -0
  97. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  98. casadi/include/highs/io/Filereader.h +1 -1
  99. casadi/include/highs/io/FilereaderEms.h +1 -1
  100. casadi/include/highs/io/FilereaderLp.h +1 -1
  101. casadi/include/highs/io/FilereaderMps.h +1 -1
  102. casadi/include/highs/io/HMPSIO.h +1 -1
  103. casadi/include/highs/io/HMpsFF.h +5 -3
  104. casadi/include/highs/io/HighsIO.h +18 -8
  105. casadi/include/highs/io/LoadOptions.h +1 -1
  106. casadi/include/highs/ipm/IpxSolution.h +35 -0
  107. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  108. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  109. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  110. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  111. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  112. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  113. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  114. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  115. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  116. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  117. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  118. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  119. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  120. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  121. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  122. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  123. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  124. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  125. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  126. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  127. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  128. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  129. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  130. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  131. casadi/include/highs/ipm/ipx/basis.h +351 -0
  132. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  133. casadi/include/highs/ipm/ipx/control.h +163 -0
  134. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  135. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  136. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  137. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  138. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  139. casadi/include/highs/ipm/ipx/info.h +27 -0
  140. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  141. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  142. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  143. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  144. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  145. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  146. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  147. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  148. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  149. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  150. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  151. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  152. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  153. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  154. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  155. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  156. casadi/include/highs/ipm/ipx/model.h +409 -0
  157. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  158. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  159. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  160. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  161. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  162. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  163. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  164. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  165. casadi/include/highs/ipm/ipx/timer.h +24 -0
  166. casadi/include/highs/ipm/ipx/utils.h +39 -0
  167. casadi/include/highs/lp_data/HConst.h +20 -10
  168. casadi/include/highs/lp_data/HStruct.h +23 -1
  169. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  170. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  171. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  172. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  173. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  174. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  175. casadi/include/highs/lp_data/HighsLp.h +17 -1
  176. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  177. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  178. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  179. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  180. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  181. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  182. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  183. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  184. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  185. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  186. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  187. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  188. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  189. casadi/include/highs/mip/HighsCutPool.h +2 -2
  190. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  191. casadi/include/highs/mip/HighsDomain.h +10 -2
  192. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  193. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  194. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  195. casadi/include/highs/mip/HighsImplications.h +3 -3
  196. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  197. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  198. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  199. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  200. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  201. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  202. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  203. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  204. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  205. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  206. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  207. casadi/include/highs/mip/HighsSearch.h +2 -1
  208. casadi/include/highs/mip/HighsSeparation.h +1 -1
  209. casadi/include/highs/mip/HighsSeparator.h +1 -1
  210. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  211. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  212. casadi/include/highs/model/HighsHessian.h +5 -0
  213. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  214. casadi/include/highs/model/HighsModel.h +10 -1
  215. casadi/include/highs/parallel/HighsMutex.h +2 -1
  216. casadi/include/highs/parallel/HighsParallel.h +7 -2
  217. casadi/include/highs/parallel/HighsTask.h +1 -2
  218. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  219. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  220. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  221. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  222. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  223. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  224. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  225. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  226. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  227. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  228. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  229. casadi/include/highs/presolve/HPresolve.h +27 -14
  230. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  231. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  232. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  233. casadi/include/highs/presolve/ICrash.h +8 -2
  234. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  235. casadi/include/highs/presolve/ICrashX.h +1 -1
  236. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  237. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  238. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  239. casadi/include/highs/qpsolver/basis.hpp +150 -0
  240. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  241. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  242. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  243. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  244. casadi/include/highs/qpsolver/factor.hpp +400 -0
  245. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  246. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  247. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  248. casadi/include/highs/qpsolver/instance.hpp +63 -0
  249. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  250. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  251. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  252. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  253. casadi/include/highs/qpsolver/quass.hpp +1 -1
  254. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  255. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  256. casadi/include/highs/qpsolver/settings.hpp +57 -0
  257. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  258. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  259. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  260. casadi/include/highs/simplex/HApp.h +1 -1
  261. casadi/include/highs/simplex/HEkk.h +52 -18
  262. casadi/include/highs/simplex/HEkkDual.h +1 -1
  263. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  264. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  265. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  266. casadi/include/highs/simplex/HSimplex.h +1 -3
  267. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  268. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  269. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  270. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  271. casadi/include/highs/simplex/SimplexConst.h +1 -1
  272. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  273. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  274. casadi/include/highs/test/DevKkt.h +1 -1
  275. casadi/include/highs/test/KktCh2.h +1 -1
  276. casadi/include/highs/util/FactorTimer.h +1 -1
  277. casadi/include/highs/util/HFactor.h +35 -6
  278. casadi/include/highs/util/HFactorConst.h +1 -1
  279. casadi/include/highs/util/HFactorDebug.h +1 -1
  280. casadi/include/highs/util/HSet.h +1 -1
  281. casadi/include/highs/util/HVector.h +1 -1
  282. casadi/include/highs/util/HVectorBase.h +1 -1
  283. casadi/include/highs/util/HighsCDouble.h +3 -3
  284. casadi/include/highs/util/HighsComponent.h +1 -1
  285. casadi/include/highs/util/HighsDataStack.h +4 -4
  286. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  287. casadi/include/highs/util/HighsHash.h +28 -21
  288. casadi/include/highs/util/HighsHashTree.h +63 -63
  289. casadi/include/highs/util/HighsInt.h +1 -1
  290. casadi/include/highs/util/HighsIntegers.h +8 -9
  291. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  292. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  293. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  294. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  295. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  296. casadi/include/highs/util/HighsRandom.h +27 -15
  297. casadi/include/highs/util/HighsRbTree.h +2 -2
  298. casadi/include/highs/util/HighsSort.h +7 -7
  299. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  300. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  301. casadi/include/highs/util/HighsSplay.h +1 -1
  302. casadi/include/highs/util/HighsTimer.h +18 -9
  303. casadi/include/highs/util/HighsUtils.h +15 -8
  304. casadi/include/highs/util/stringutil.h +9 -4
  305. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  306. casadi/include/highs/zstr/zstr.hpp +472 -0
  307. casadi/include/highs_export.h +42 -0
  308. casadi/include/licenses/daqp-external/LICENSE +21 -0
  309. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  310. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  311. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  312. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  313. casadi/include/osqp/constants.h +2 -3
  314. casadi/include/osqp/version.h +9 -0
  315. casadi/include/sleqp/defs.h +2 -2
  316. casadi/ipopt.lib +0 -0
  317. casadi/lapack.lib +0 -0
  318. casadi/lib/libtinyxml2.dll.a +0 -0
  319. casadi/libCbc-3.dll +0 -0
  320. casadi/libCbc.dll.a +0 -0
  321. casadi/libCbcSolver-3.dll +0 -0
  322. casadi/libCbcSolver.dll.a +0 -0
  323. casadi/libCgl-1.dll +0 -0
  324. casadi/libCgl.dll.a +0 -0
  325. casadi/libClp-1.dll +0 -0
  326. casadi/libClp.dll.a +0 -0
  327. casadi/libClpSolver-1.dll +0 -0
  328. casadi/libClpSolver.dll.a +0 -0
  329. casadi/libCoinUtils-3.dll +0 -0
  330. casadi/libCoinUtils.dll.a +0 -0
  331. casadi/libOsi-1.dll +0 -0
  332. casadi/libOsi.dll.a +0 -0
  333. casadi/libOsiCbc-3.dll +0 -0
  334. casadi/libOsiCbc.dll.a +0 -0
  335. casadi/libOsiClp-1.dll +0 -0
  336. casadi/libOsiClp.dll.a +0 -0
  337. casadi/libOsiCommonTests-1.dll +0 -0
  338. casadi/libOsiCommonTests.dll.a +0 -0
  339. casadi/libalpaqa.dll +0 -0
  340. casadi/libalpaqa.dll.a +0 -0
  341. casadi/libblasfeo.dll +0 -0
  342. casadi/libblasfeo.dll.a +0 -0
  343. casadi/libbonmin-4.dll +0 -0
  344. casadi/libbonmin.dll.a +0 -0
  345. casadi/libcasadi-tp-openblas.dll +0 -0
  346. casadi/libcasadi-tp-openblas.dll.a +0 -0
  347. casadi/libcasadi.dll +0 -0
  348. casadi/libcasadi.dll.a +0 -0
  349. casadi/libcasadi_conic_cbc.dll +0 -0
  350. casadi/libcasadi_conic_cbc.dll.a +0 -0
  351. casadi/libcasadi_conic_clp.dll +0 -0
  352. casadi/libcasadi_conic_clp.dll.a +0 -0
  353. casadi/libcasadi_conic_cplex.dll +0 -0
  354. casadi/libcasadi_conic_cplex.dll.a +0 -0
  355. casadi/libcasadi_conic_daqp.dll +0 -0
  356. casadi/libcasadi_conic_daqp.dll.a +0 -0
  357. casadi/libcasadi_conic_fatrop.dll +0 -0
  358. casadi/libcasadi_conic_fatrop.dll.a +0 -0
  359. casadi/libcasadi_conic_gurobi.dll +0 -0
  360. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  361. casadi/libcasadi_conic_highs.dll +0 -0
  362. casadi/libcasadi_conic_highs.dll.a +0 -0
  363. casadi/libcasadi_conic_hpipm.dll +0 -0
  364. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  365. casadi/libcasadi_conic_ipqp.dll +0 -0
  366. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  367. casadi/libcasadi_conic_nlpsol.dll +0 -0
  368. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  369. casadi/libcasadi_conic_osqp.dll +0 -0
  370. casadi/libcasadi_conic_osqp.dll.a +0 -0
  371. casadi/libcasadi_conic_proxqp.dll +0 -0
  372. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  373. casadi/libcasadi_conic_qpoases.dll +0 -0
  374. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  375. casadi/libcasadi_conic_qrqp.dll +0 -0
  376. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  377. casadi/libcasadi_conic_superscs.dll +0 -0
  378. casadi/libcasadi_conic_superscs.dll.a +0 -0
  379. casadi/libcasadi_importer_shell.dll +0 -0
  380. casadi/libcasadi_importer_shell.dll.a +0 -0
  381. casadi/libcasadi_integrator_collocation.dll +0 -0
  382. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  383. casadi/libcasadi_integrator_cvodes.dll +0 -0
  384. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  385. casadi/libcasadi_integrator_idas.dll +0 -0
  386. casadi/libcasadi_integrator_idas.dll.a +0 -0
  387. casadi/libcasadi_integrator_rk.dll +0 -0
  388. casadi/libcasadi_integrator_rk.dll.a +0 -0
  389. casadi/libcasadi_interpolant_bspline.dll +0 -0
  390. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  391. casadi/libcasadi_interpolant_linear.dll +0 -0
  392. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  393. casadi/libcasadi_linsol_csparse.dll +0 -0
  394. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  395. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  396. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  397. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  398. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  399. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  400. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  401. casadi/libcasadi_linsol_ldl.dll +0 -0
  402. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  403. casadi/libcasadi_linsol_lsqr.dll +0 -0
  404. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  405. casadi/libcasadi_linsol_ma27.dll +0 -0
  406. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  407. casadi/libcasadi_linsol_mumps.dll +0 -0
  408. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  409. casadi/libcasadi_linsol_qr.dll +0 -0
  410. casadi/libcasadi_linsol_qr.dll.a +0 -0
  411. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  412. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  413. casadi/libcasadi_linsol_tridiag.dll +0 -0
  414. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  415. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  416. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  417. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  418. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  419. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  420. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  421. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  422. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  423. casadi/libcasadi_nlpsol_fatrop.dll +0 -0
  424. casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
  425. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  426. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  427. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  428. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  429. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  430. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  431. casadi/libcasadi_nlpsol_madnlp.dll +0 -0
  432. casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
  433. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  434. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  435. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  436. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  437. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  438. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  439. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  440. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  441. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  442. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  443. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  444. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  445. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  446. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  447. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  448. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  449. casadi/libcasadi_rootfinder_newton.dll +0 -0
  450. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  451. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  452. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  453. casadi/libcasadi_sundials_common.dll +0 -0
  454. casadi/libcasadi_sundials_common.dll.a +0 -0
  455. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  456. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  457. casadi/libcoinmetis-2.dll +0 -0
  458. casadi/libcoinmetis.dll.a +0 -0
  459. casadi/libcoinmumps-3.dll +0 -0
  460. casadi/libcoinmumps.dll.a +0 -0
  461. casadi/libcplex_adaptor.dll +0 -0
  462. casadi/libdaqp.dll +0 -0
  463. casadi/libdaqp.dll.a +0 -0
  464. casadi/libdaqpstat.a +0 -0
  465. casadi/{libFortranHighs.dll → libdl.dll} +0 -0
  466. casadi/libdl.dll.a +0 -0
  467. casadi/libfatrop.dll +0 -0
  468. casadi/libfatrop.dll.a +0 -0
  469. casadi/libgurobi_adaptor.dll +0 -0
  470. casadi/libhighs.dll +0 -0
  471. casadi/libhighs.dll.a +0 -0
  472. casadi/libhpipm.dll +0 -0
  473. casadi/libhpipm.dll.a +0 -0
  474. casadi/libipopt-3.dll +0 -0
  475. casadi/libipopt.dll.a +0 -0
  476. casadi/libmatlab_ipc.dll +0 -0
  477. casadi/libmatlab_ipc.dll.a +0 -0
  478. casadi/libosqp.a +0 -0
  479. casadi/libosqp.dll +0 -0
  480. casadi/libosqp.dll.a +0 -0
  481. casadi/libqdldl.dll +0 -0
  482. casadi/libqdldl.dll.a +0 -0
  483. casadi/libsipopt-3.dll +0 -0
  484. casadi/libsipopt.dll.a +0 -0
  485. casadi/libsleqp.dll +0 -0
  486. casadi/libsleqp.dll.a +0 -0
  487. casadi/libtinyxml2.dll +0 -0
  488. casadi/libtrlib.dll +0 -0
  489. casadi/libtrlib.dll.a +0 -0
  490. casadi/matlab_ipc.lib +0 -0
  491. casadi/osqp.lib +0 -0
  492. casadi/pkgconfig/casadi.pc +1 -1
  493. casadi/pkgconfig/highs.pc +1 -1
  494. casadi/sleqp.lib +0 -0
  495. casadi/spral_ssids.exe +0 -0
  496. casadi/tools/__init__.py +4 -0
  497. casadi/tools/bounds.py +3 -3
  498. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/METADATA +2 -2
  499. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/RECORD +500 -324
  500. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  501. casadi/libFortranHighs.dll.a +0 -0
  502. {casadi-3.6.5.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,34 @@
1
+ lu_int basiclu_obj_get_factors
2
+ (
3
+ struct basiclu_object *obj,
4
+ lu_int rowperm[],
5
+ lu_int colperm[],
6
+ lu_int Lcolptr[],
7
+ lu_int Lrowidx[],
8
+ double Lvalue[],
9
+ lu_int Ucolptr[],
10
+ lu_int Urowidx[],
11
+ double Uvalue[]
12
+ );
13
+
14
+ /*
15
+ Purpose:
16
+
17
+ Call basiclu_get_factors() on a BASICLU object.
18
+
19
+ Return:
20
+
21
+ BASICLU_ERROR_invalid_object
22
+
23
+ obj is NULL or initialized to a null object.
24
+
25
+ Other return codes are passed through from basiclu_get_factors().
26
+
27
+ Arguments:
28
+
29
+ struct basiclu_object *obj
30
+
31
+ Pointer to an initialized BASICLU object.
32
+
33
+ The other arguments are passed through to basiclu_get_factors().
34
+ */
@@ -0,0 +1,46 @@
1
+ lu_int basiclu_obj_initialize
2
+ (
3
+ struct basiclu_object *obj,
4
+ lu_int m
5
+ );
6
+
7
+ /*
8
+ Purpose:
9
+
10
+ Initialize a BASICLU object. When m is positive, then *obj is initialized to
11
+ process matrices of dimension m. When m is zero, then *obj is initialized to
12
+ a "null" object, which cannot be used for factorization, but can be passed
13
+ to basiclu_obj_free().
14
+
15
+ This routine must be called once before passing obj to any other
16
+ basiclu_obj_ routine. When obj is initialized to a null object, then the
17
+ routine can be called again to reinitialize obj.
18
+
19
+ Return:
20
+
21
+ BASICLU_OK
22
+
23
+ *obj successfully initialized.
24
+
25
+ BASICLU_ERROR_argument_missing
26
+
27
+ obj is NULL.
28
+
29
+ BASICLU_ERROR_invalid_argument
30
+
31
+ m is negative.
32
+
33
+ BASICLU_ERROR_out_of_memory
34
+
35
+ insufficient memory to initialize object.
36
+
37
+ Arguments:
38
+
39
+ struct basiclu_object *obj
40
+
41
+ Pointer to the object to be initialized.
42
+
43
+ lu_int m
44
+
45
+ The dimension of matrices which can be processed, or 0.
46
+ */
@@ -0,0 +1,29 @@
1
+ lu_int basiclu_obj_solve_dense
2
+ (
3
+ struct basiclu_object *obj,
4
+ const double rhs[],
5
+ double lhs[],
6
+ char trans
7
+ );
8
+
9
+ /*
10
+ Purpose:
11
+
12
+ Call basiclu_solve_dense() on a BASICLU object.
13
+
14
+ Return:
15
+
16
+ BASICLU_ERROR_invalid_object
17
+
18
+ obj is NULL or initialized to a null object.
19
+
20
+ Other return codes are passed through from basiclu_solve_dense().
21
+
22
+ Arguments:
23
+
24
+ struct basiclu_object *obj
25
+
26
+ Pointer to an initialized BASICLU object.
27
+
28
+ The other arguments are passed through to basiclu_solve_dense().
29
+ */
@@ -0,0 +1,42 @@
1
+ lu_int basiclu_obj_solve_for_update
2
+ (
3
+ struct basiclu_object *obj,
4
+ lu_int nzrhs,
5
+ const lu_int irhs[],
6
+ const double xrhs[],
7
+ char trans,
8
+ lu_int want_solution
9
+ );
10
+
11
+ /*
12
+ Purpose:
13
+
14
+ Call basiclu_solve_for_update() on a BASICLU object. On success, if the
15
+ solution was requested, it is provided in obj->lhs and the nonzero pattern
16
+ is stored in obj->ilhs[0..obj->nzlhs-1].
17
+
18
+ Return:
19
+
20
+ BASICLU_ERROR_invalid_object
21
+
22
+ obj is NULL or initialized to a null object.
23
+
24
+ BASICLU_ERROR_out_of_memory
25
+
26
+ reallocation failed because of insufficient memory.
27
+
28
+ Other return codes are passed through from basiclu_solve_for_update().
29
+
30
+ Arguments:
31
+
32
+ struct basiclu_object *obj
33
+
34
+ Pointer to an initialized BASICLU object.
35
+
36
+ lu_int want_solution
37
+
38
+ Nonzero to compute the solution to the linear system,
39
+ zero to only prepare the update.
40
+
41
+ The other arguments are passed through to basiclu_solve_for_update().
42
+ */
@@ -0,0 +1,32 @@
1
+ lu_int basiclu_obj_solve_sparse
2
+ (
3
+ struct basiclu_object *obj,
4
+ lu_int nzrhs,
5
+ const lu_int irhs[],
6
+ const double xrhs[],
7
+ char trans
8
+ );
9
+
10
+ /*
11
+ Purpose:
12
+
13
+ Call basiclu_solve_sparse() on a BASICLU object. On success, the solution
14
+ is provided in obj->lhs and the nonzero pattern is stored in
15
+ obj->ilhs[0..obj->nzlhs-1].
16
+
17
+ Return:
18
+
19
+ BASICLU_ERROR_invalid_object
20
+
21
+ obj is NULL or initialized to a null object.
22
+
23
+ Other return codes are passed through from basiclu_solve_sparse().
24
+
25
+ Arguments:
26
+
27
+ struct basiclu_object *obj
28
+
29
+ Pointer to an initialized BASICLU object.
30
+
31
+ The other arguments are passed through to basiclu_solve_sparse().
32
+ */
@@ -0,0 +1,31 @@
1
+ lu_int basiclu_obj_update
2
+ (
3
+ struct basiclu_object *obj,
4
+ double xtbl
5
+ );
6
+
7
+ /*
8
+ Purpose:
9
+
10
+ Call basiclu_update() on a BASICLU object.
11
+
12
+ Return:
13
+
14
+ BASICLU_ERROR_invalid_object
15
+
16
+ obj is NULL or initialized to a null object.
17
+
18
+ BASICLU_ERROR_out_of_memory
19
+
20
+ reallocation failed because of insufficient memory.
21
+
22
+ Other return codes are passed through from basiclu_update().
23
+
24
+ Arguments:
25
+
26
+ struct basiclu_object *obj
27
+
28
+ Pointer to an initialized BASICLU object.
29
+
30
+ The other arguments are passed through to basiclu_update().
31
+ */
@@ -0,0 +1,30 @@
1
+ struct basiclu_object
2
+ {
3
+ lu_int *istore;
4
+ double *xstore;
5
+ lu_int *Li, *Ui, *Wi;
6
+ double *Lx, *Ux, *Wx;
7
+ double *lhs;
8
+ lu_int *ilhs;
9
+ lu_int nzlhs;
10
+ double realloc_factor;
11
+ };
12
+
13
+ /*
14
+ A variable of type struct basiclu_object must be defined in user code. Its
15
+ members are set and maintained by basiclu_obj_* routines. User code should only
16
+ access the following members:
17
+
18
+ xstore (read/write)
19
+
20
+ set parameters and get info values
21
+
22
+ lhs, ilhs, nzlhs (read only)
23
+
24
+ holds solution after solve_sparse() and solve_for_update()
25
+
26
+ realloc_factor (read/write)
27
+
28
+ Arrays are reallocated for max(realloc_factor, 1.0) times the
29
+ required size. Default: 1.5
30
+ */
@@ -0,0 +1,75 @@
1
+ lu_int basiclu_solve_dense
2
+ (
3
+ lu_int istore[],
4
+ double xstore[],
5
+ lu_int Li[],
6
+ double Lx[],
7
+ lu_int Ui[],
8
+ double Ux[],
9
+ lu_int Wi[],
10
+ double Wx[],
11
+ const double rhs[],
12
+ double lhs[],
13
+ char trans
14
+ );
15
+
16
+ /*
17
+ Purpose:
18
+
19
+ Given the factorization computed by basiclu_factorize() or basiclu_update()
20
+ and the dense right-hand side, rhs, solve a linear system for the solution
21
+ lhs.
22
+
23
+ Return:
24
+
25
+ BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
26
+ instance. In this case xstore[BASICLU_STATUS] is not set.
27
+
28
+ Otherwise return the status code. See xstore[BASICLU_STATUS] below.
29
+
30
+ Arguments:
31
+
32
+ lu_int istore[]
33
+ double xstore[]
34
+ lu_int Li[]
35
+ double Lx[]
36
+ lu_int Ui[]
37
+ double Ux[]
38
+ lu_int Wi[]
39
+ double Wx[]
40
+
41
+ Factorization computed by basiclu_factorize() or basiclu_update().
42
+
43
+ const double rhs[m]
44
+
45
+ The right-hand side vector.
46
+
47
+ double lhs[m]
48
+
49
+ Uninitialized on entry. On return lhs holds the solution to the linear
50
+ system.
51
+
52
+ lhs and rhs are allowed to overlap. To overwrite rhs with the solution
53
+ pass pointers to the same array.
54
+
55
+ char trans
56
+
57
+ Defines which system to solve. 't' or 'T' for the transposed system, any
58
+ other character for the forward system.
59
+
60
+ Info:
61
+
62
+ xstore[BASICLU_STATUS]: status code.
63
+
64
+ BASICLU_OK
65
+
66
+ The linear system has been successfully solved.
67
+
68
+ BASICLU_ERROR_argument_missing
69
+
70
+ One or more of the pointer/array arguments are NULL.
71
+
72
+ BASICLU_ERROR_invalid_call
73
+
74
+ The factorization is invalid.
75
+ */
@@ -0,0 +1,169 @@
1
+ lu_int basiclu_solve_for_update
2
+ (
3
+ lu_int istore[],
4
+ double xstore[],
5
+ lu_int Li[],
6
+ double Lx[],
7
+ lu_int Ui[],
8
+ double Ux[],
9
+ lu_int Wi[],
10
+ double Wx[],
11
+ lu_int nzrhs,
12
+ const lu_int irhs[],
13
+ const double xrhs[],
14
+ lu_int *p_nzlhs,
15
+ lu_int ilhs[],
16
+ double lhs[],
17
+ char trans
18
+ );
19
+
20
+ /*
21
+ Purpose:
22
+
23
+ Given the factorization computed by basiclu_factorize() or basiclu_update(),
24
+ solve a linear system in preparation to update the factorization.
25
+
26
+ When the forward system is solved, then the right-hand side is the column
27
+ to be inserted into the factorized matrix. When the transposed system is
28
+ solved, then the right-hand side is a unit vector with entry 1 in position
29
+ of the column to be replaced in the factorized matrix.
30
+
31
+ For BASICLU to prepare the update, it is sufficient to compute only a
32
+ partial solution. If the left-hand side is not requested by the user (see
33
+ below), then only one triangular solve is done. If the left-hand side is
34
+ requested, then a second triangular solve is required.
35
+
36
+ Return:
37
+
38
+ BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
39
+ instance. In this case xstore[BASICLU_STATUS] is not set.
40
+
41
+ Otherwise return the status code. See xstore[BASICLU_STATUS] below.
42
+
43
+ Arguments:
44
+
45
+ lu_int istore[]
46
+ double xstore[]
47
+ lu_int Li[]
48
+ double Lx[]
49
+ lu_int Ui[]
50
+ double Ux[]
51
+ lu_int Wi[]
52
+ double Wx[]
53
+
54
+ Factorization computed by basiclu_factorize() or basiclu_update().
55
+
56
+ lu_int nzrhs
57
+ const lu_int irhs[nzrhs]
58
+ const double xrhs[nzrhs]
59
+
60
+ The right-hand side vector in compressed format.
61
+
62
+ When the forward system is solved, irhs[0..nzrhs-1] are the indices of
63
+ nonzeros and xrhs[0..nzrhs-1] the corresponding values. irhs must not
64
+ contain duplicates.
65
+
66
+ When the transposed system is solved, the right-hand side is a unit
67
+ vector with entry 1 in position irhs[0]. nzrhs, xrhs and elements of
68
+ irhs other than irhs[0] are not accessed. xrhs can be NULL.
69
+
70
+ lu_int *p_nzlhs
71
+ lu_int ilhs[m]
72
+ lu_int lhs[m]
73
+
74
+ If any of p_nzlhs, ilhs or lhs is NULL, then the solution to the linear
75
+ system is not requested. In this case only the update is prepared.
76
+
77
+ Otherwise:
78
+
79
+ *p_nzlhs is uninitialized on entry. On return *p_nzlhs holds
80
+ the number of nonzeros in the solution.
81
+ The contents of ilhs is uninitialized on entry. On return
82
+ ilhs[0..*p_nzlhs-1] holds the indices of nonzeros in the solution.
83
+ The contents of lhs must be initialized to zero on entry. On return
84
+ the solution is scattered into lhs.
85
+
86
+ char trans
87
+
88
+ Defines which system to solve. 't' or 'T' for the transposed system,
89
+ any other character for the forward system.
90
+
91
+ Parameters:
92
+
93
+ xstore[BASICLU_MEMORYL]: length of Li and Lx
94
+ xstore[BASICLU_MEMORYU]: length of Ui and Ux
95
+ xstore[BASICLU_MEMORYW]: length of Wi and Wx
96
+
97
+ xstore[BASICLU_SPARSE_THRESHOLD]
98
+
99
+ Defines which method is used for solving a triangular system. A
100
+ triangular solve can be done either by the two phase method of Gilbert
101
+ and Peierls ("sparse solve") or by a sequential pass through the vector
102
+ ("sequential solve").
103
+
104
+ When the solution to the linear system is requested, then two triangular
105
+ systems are solved. The first triangular solve is done sparse. The
106
+ second triangular solve is done sparse if its right-hand side has not
107
+ more than m * xstore[BASICLU_SPARSE_THRESHOLD] nonzeros. Otherwise the
108
+ sequential solve is used.
109
+
110
+ When the solution to the linear system is not requested, then this
111
+ parameter has no effect.
112
+
113
+ Default: 0.05
114
+
115
+ xstore[BASICLU_DROP_TOLERANCE]
116
+
117
+ Nonzeros which magnitude is less than or equal to the drop tolerance
118
+ are removed after each triangular solve. Default: 1e-20
119
+
120
+ Info:
121
+
122
+ xstore[BASICLU_STATUS]: status code.
123
+
124
+ BASICLU_OK
125
+
126
+ The updated has been successfully prepared and, if requested, the
127
+ solution to the linear system has been computed.
128
+
129
+ BASICLU_ERROR_argument_missing
130
+
131
+ One or more of the mandatory pointer/array arguments are NULL.
132
+
133
+ BASICLU_ERROR_invalid_call
134
+
135
+ The factorization is invalid.
136
+
137
+ BASICLU_ERROR_maximum_updates
138
+
139
+ There have already been m Forrest-Tomlin updates, see
140
+ xstore[BASICLU_NFORREST]. The factorization cannot be updated any
141
+ more and must be recomputed by basiclu_factorize().
142
+ The solution to the linear system has not been computed.
143
+
144
+ BASICLU_ERROR_invalid_argument
145
+
146
+ The right-hand side is invalid (forward system: nzrhs < 0 or
147
+ nzrhs > m or one or more indices out of range; backward system:
148
+ irhs[0] out of range).
149
+
150
+ BASICLU_REALLOCATE
151
+
152
+ The solve was aborted because of insufficient memory in Li,Lx or
153
+ Ui,Ux to store data for basiclu_update(). The number of additional
154
+ elements required is given by
155
+
156
+ xstore[BASICLU_ADD_MEMORYL] >= 0
157
+ xstore[BASICLU_ADD_MEMORYU] >= 0
158
+
159
+ The user must reallocate the arrays for which additional memory is
160
+ required. It is recommended to reallocate for the requested number
161
+ of additional elements plus some extra space for further updates
162
+ (e.g. 0.5 times the current array length). The new array lengths
163
+ must be provided in
164
+
165
+ xstore[BASICLU_MEMORYL]: length of Li and Lx
166
+ xstore[BASICLU_MEMORYU]: length of Ui and Ux
167
+
168
+ basiclu_solve_for_update() will start from scratch in the next call.
169
+ */
@@ -0,0 +1,112 @@
1
+ lu_int basiclu_solve_sparse
2
+ (
3
+ lu_int istore[],
4
+ double xstore[],
5
+ lu_int Li[],
6
+ double Lx[],
7
+ lu_int Ui[],
8
+ double Ux[],
9
+ lu_int Wi[],
10
+ double Wx [],
11
+ lu_int nzrhs,
12
+ const lu_int irhs[],
13
+ const double xrhs[],
14
+ lu_int *p_nzlhs,
15
+ lu_int ilhs[],
16
+ double lhs[],
17
+ char trans
18
+ );
19
+
20
+ /*
21
+ Purpose:
22
+
23
+ Given the factorization computed by basiclu_factorize() or basiclu_update()
24
+ and the sparse right-hand side, rhs, solve a linear system for the solution
25
+ lhs.
26
+
27
+ Return:
28
+
29
+ BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
30
+ instance. In this case xstore[BASICLU_STATUS] is not set.
31
+
32
+ Otherwise return the status code. See xstore[BASICLU_STATUS] below.
33
+
34
+ Arguments:
35
+
36
+ lu_int istore[]
37
+ double xstore[]
38
+ lu_int Li[]
39
+ double Lx[]
40
+ lu_int Ui[]
41
+ double Ux[]
42
+ lu_int Wi[]
43
+ double Wx[]
44
+
45
+ Factorization computed by basiclu_factorize() or basiclu_update().
46
+
47
+ lu_int nzrhs
48
+ const lu_int irhs[nzrhs]
49
+ const double xrhs[nzrhs]
50
+
51
+ The right-hand side vector in compressed format. irhs[0..nzrhs-1] are
52
+ the indices of nonzeros and xrhs[0..nzrhs-1] the corresponding values.
53
+ irhs must not contain duplicates.
54
+
55
+ lu_int *p_nzlhs
56
+ lu_int ilhs[m]
57
+ lu_int lhs[m]
58
+
59
+ *p_nzlhs is uninitialized on entry. On return *p_nzlhs holds
60
+ the number of nonzeros in the solution.
61
+ The contents of ilhs is uninitialized on entry. On return
62
+ ilhs[0..*p_nzlhs-1] holds the indices of nonzeros in the solution.
63
+ The contents lhs must be initialized to zero on entry. On return
64
+ the solution is scattered into lhs.
65
+
66
+ char trans
67
+
68
+ Defines which system to solve. 't' or 'T' for the transposed system,
69
+ any other character for the forward system.
70
+
71
+ Parameters:
72
+
73
+ xstore[BASICLU_SPARSE_THRESHOLD]
74
+
75
+ Defines which method is used for solving a triangular system. A
76
+ triangular solve can be done either by the two phase method of Gilbert
77
+ and Peierls ("sparse solve") or by a sequential pass through the vector
78
+ ("sequential solve").
79
+
80
+ Solving B*x=b requires two triangular solves. The first triangular solve
81
+ is done sparse. The second triangular solve is done sparse if its
82
+ right-hand side has not more than m * xstore[BASICLU_SPARSE_THRESHOLD]
83
+ nonzeros. Otherwise the sequential solve is used.
84
+
85
+ Default: 0.05
86
+
87
+ xstore[BASICLU_DROP_TOLERANCE]
88
+
89
+ Nonzeros which magnitude is less than or equal to the drop tolerance
90
+ are removed after each triangular solve. Default: 1e-20
91
+
92
+ Info:
93
+
94
+ xstore[BASICLU_STATUS]: status code.
95
+
96
+ BASICLU_OK
97
+
98
+ The linear system has been successfully solved.
99
+
100
+ BASICLU_ERROR_argument_missing
101
+
102
+ One or more of the pointer/array arguments are NULL.
103
+
104
+ BASICLU_ERROR_invalid_call
105
+
106
+ The factorization is invalid.
107
+
108
+ BASICLU_ERROR_invalid_argument
109
+
110
+ The right-hand side is invalid (nzrhs < 0 or nzrhs > m or one or
111
+ more indices out of range).
112
+ */