casadi 3.6.4__cp37-none-manylinux2014_i686.whl → 3.6.6__cp37-none-manylinux2014_i686.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 (494) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi.py +984 -500
  3. casadi/cbc +0 -0
  4. casadi/clp +0 -0
  5. casadi/cmake/casadi-config-version.cmake +1 -1
  6. casadi/cmake/highs/highs-config.cmake +6 -13
  7. casadi/cmake/highs/highs-targets-release.cmake +13 -13
  8. casadi/cmake/highs/highs-targets.cmake +13 -10
  9. casadi/highs +0 -0
  10. casadi/include/casadi/casadi.i +33 -15
  11. casadi/include/casadi/casadi_c.h +2 -0
  12. casadi/include/casadi/config.h +8 -8
  13. casadi/include/casadi/core/casadi_common.hpp +1 -0
  14. casadi/include/casadi/core/casadi_misc.hpp +13 -0
  15. casadi/include/casadi/core/casadi_types.hpp +3 -2
  16. casadi/include/casadi/core/code_generator.hpp +59 -2
  17. casadi/include/casadi/core/core.hpp +1 -0
  18. casadi/include/casadi/core/generic_expression.hpp +1 -1
  19. casadi/include/casadi/core/generic_type.hpp +25 -1
  20. casadi/include/casadi/core/global_options.hpp +2 -0
  21. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  22. casadi/include/casadi/core/mx.hpp +13 -3
  23. casadi/include/casadi/core/optistack.hpp +23 -0
  24. casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
  25. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  26. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  27. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  28. casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
  29. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  30. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  31. casadi/include/casadi/core/serializing_stream.hpp +2 -2
  32. casadi/include/casadi/core/sparsity.hpp +12 -3
  33. casadi/include/casadi/core/tools.hpp +67 -0
  34. casadi/include/casadi/doc.i +2283 -1491
  35. casadi/include/casadi/doc_merged.i +1522 -1065
  36. casadi/include/casadi/mem.h +1 -0
  37. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  38. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  39. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  40. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  41. casadi/include/coin-or/IpBlas.hpp +426 -0
  42. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  43. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  44. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  45. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  46. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  47. casadi/include/coin-or/IpDebug.hpp +167 -0
  48. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  49. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  50. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  51. casadi/include/coin-or/IpException.hpp +156 -0
  52. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  53. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  54. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  55. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  56. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  57. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  58. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  59. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  60. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  61. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  62. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  63. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  64. casadi/include/coin-or/IpJournalist.hpp +573 -0
  65. casadi/include/coin-or/IpLapack.hpp +227 -0
  66. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  67. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  68. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  69. casadi/include/coin-or/IpMatrix.hpp +434 -0
  70. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  71. casadi/include/coin-or/IpNLP.hpp +306 -0
  72. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  73. casadi/include/coin-or/IpObserver.hpp +422 -0
  74. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  75. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  76. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  77. casadi/include/coin-or/IpReferenced.hpp +262 -0
  78. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  79. casadi/include/coin-or/IpReturnCodes.h +23 -0
  80. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  81. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  82. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  83. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  84. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  85. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  86. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  87. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  88. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  89. casadi/include/coin-or/IpStdCInterface.h +428 -0
  90. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  91. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  92. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  93. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  94. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  95. casadi/include/coin-or/IpTNLP.hpp +820 -0
  96. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  97. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  98. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  99. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  100. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  101. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  102. casadi/include/coin-or/IpTypes.h +81 -0
  103. casadi/include/coin-or/IpTypes.hpp +30 -0
  104. casadi/include/coin-or/IpUtils.hpp +166 -0
  105. casadi/include/coin-or/IpVector.hpp +892 -0
  106. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  107. casadi/include/coin-or/IpoptConfig.h +45 -0
  108. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  109. casadi/include/coin-or/SensApplication.hpp +188 -0
  110. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  111. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  112. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  113. casadi/include/coin-or/SensRegOp.hpp +21 -0
  114. casadi/include/coin-or/SensSchurData.hpp +182 -0
  115. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  116. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  117. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  118. casadi/include/coin-or/SensUtils.hpp +63 -0
  119. casadi/include/coin-or/metis/defs.h +161 -0
  120. casadi/include/coin-or/metis/macros.h +143 -0
  121. casadi/include/coin-or/metis/metis.h +37 -0
  122. casadi/include/coin-or/metis/proto.h +505 -0
  123. casadi/include/coin-or/metis/rename.h +418 -0
  124. casadi/include/coin-or/metis/struct.h +251 -0
  125. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  126. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  127. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  128. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  129. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  130. casadi/include/daqp/api.h +46 -0
  131. casadi/include/daqp/auxiliary.h +29 -0
  132. casadi/include/daqp/bnb.h +32 -0
  133. casadi/include/daqp/codegen.h +18 -0
  134. casadi/include/daqp/constants.h +92 -0
  135. casadi/include/daqp/daqp.h +22 -0
  136. casadi/include/daqp/daqp_prox.h +18 -0
  137. casadi/include/daqp/factorization.h +18 -0
  138. casadi/include/daqp/types.h +161 -0
  139. casadi/include/daqp/utils.h +44 -0
  140. casadi/include/highs/HConfig.h +6 -5
  141. casadi/include/highs/Highs.h +93 -23
  142. casadi/include/highs/filereaderlp/def.hpp +19 -0
  143. casadi/include/highs/interfaces/highs_c_api.h +200 -24
  144. casadi/include/highs/io/Filereader.h +1 -1
  145. casadi/include/highs/io/FilereaderEms.h +1 -1
  146. casadi/include/highs/io/FilereaderLp.h +1 -1
  147. casadi/include/highs/io/FilereaderMps.h +1 -1
  148. casadi/include/highs/io/HMPSIO.h +1 -1
  149. casadi/include/highs/io/HMpsFF.h +5 -3
  150. casadi/include/highs/io/HighsIO.h +18 -8
  151. casadi/include/highs/io/LoadOptions.h +1 -1
  152. casadi/include/highs/ipm/IpxSolution.h +35 -0
  153. casadi/include/highs/ipm/IpxWrapper.h +1 -1
  154. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  155. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  156. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  157. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  158. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  159. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  160. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  161. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  162. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  163. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  164. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  165. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  166. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  167. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  168. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  169. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  170. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  171. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  172. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  173. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  174. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  175. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  176. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  177. casadi/include/highs/ipm/ipx/basis.h +351 -0
  178. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  179. casadi/include/highs/ipm/ipx/control.h +163 -0
  180. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  181. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  182. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  183. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  184. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  185. casadi/include/highs/ipm/ipx/info.h +27 -0
  186. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  187. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  188. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  189. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  190. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  191. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  192. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  193. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  194. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  195. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  196. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  197. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  198. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  199. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  200. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  201. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  202. casadi/include/highs/ipm/ipx/model.h +409 -0
  203. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  204. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  205. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  206. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  207. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  208. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  209. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  210. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  211. casadi/include/highs/ipm/ipx/timer.h +24 -0
  212. casadi/include/highs/ipm/ipx/utils.h +39 -0
  213. casadi/include/highs/lp_data/HConst.h +20 -10
  214. casadi/include/highs/lp_data/HStruct.h +23 -1
  215. casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
  216. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  217. casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
  218. casadi/include/highs/lp_data/HighsDebug.h +1 -1
  219. casadi/include/highs/lp_data/HighsInfo.h +20 -2
  220. casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
  221. casadi/include/highs/lp_data/HighsLp.h +17 -1
  222. casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
  223. casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
  224. casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
  225. casadi/include/highs/lp_data/HighsOptions.h +237 -10
  226. casadi/include/highs/lp_data/HighsRanging.h +1 -1
  227. casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
  228. casadi/include/highs/lp_data/HighsSolution.h +2 -2
  229. casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
  230. casadi/include/highs/lp_data/HighsSolve.h +3 -1
  231. casadi/include/highs/lp_data/HighsStatus.h +1 -1
  232. casadi/include/highs/mip/HighsCliqueTable.h +4 -4
  233. casadi/include/highs/mip/HighsConflictPool.h +1 -1
  234. casadi/include/highs/mip/HighsCutGeneration.h +1 -1
  235. casadi/include/highs/mip/HighsCutPool.h +2 -2
  236. casadi/include/highs/mip/HighsDebugSol.h +22 -29
  237. casadi/include/highs/mip/HighsDomain.h +10 -2
  238. casadi/include/highs/mip/HighsDomainChange.h +1 -1
  239. casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
  240. casadi/include/highs/mip/HighsGFkSolve.h +3 -3
  241. casadi/include/highs/mip/HighsImplications.h +3 -3
  242. casadi/include/highs/mip/HighsLpAggregator.h +1 -1
  243. casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
  244. casadi/include/highs/mip/HighsMipSolver.h +4 -2
  245. casadi/include/highs/mip/HighsMipSolverData.h +47 -4
  246. casadi/include/highs/mip/HighsModkSeparator.h +2 -2
  247. casadi/include/highs/mip/HighsNodeQueue.h +5 -3
  248. casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
  249. casadi/include/highs/mip/HighsPathSeparator.h +2 -2
  250. casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
  251. casadi/include/highs/mip/HighsPseudocost.h +35 -23
  252. casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
  253. casadi/include/highs/mip/HighsSearch.h +2 -1
  254. casadi/include/highs/mip/HighsSeparation.h +1 -1
  255. casadi/include/highs/mip/HighsSeparator.h +1 -1
  256. casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
  257. casadi/include/highs/mip/HighsTransformedLp.h +1 -1
  258. casadi/include/highs/model/HighsHessian.h +5 -0
  259. casadi/include/highs/model/HighsHessianUtils.h +2 -0
  260. casadi/include/highs/model/HighsModel.h +10 -1
  261. casadi/include/highs/parallel/HighsMutex.h +2 -1
  262. casadi/include/highs/parallel/HighsParallel.h +7 -2
  263. casadi/include/highs/parallel/HighsTask.h +1 -2
  264. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  265. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  266. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  267. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  268. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  269. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  270. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  271. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  272. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  273. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  274. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  275. casadi/include/highs/presolve/HPresolve.h +27 -14
  276. casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
  277. casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
  278. casadi/include/highs/presolve/HighsSymmetry.h +6 -5
  279. casadi/include/highs/presolve/ICrash.h +8 -2
  280. casadi/include/highs/presolve/ICrashUtil.h +1 -1
  281. casadi/include/highs/presolve/ICrashX.h +1 -1
  282. casadi/include/highs/presolve/PresolveComponent.h +1 -1
  283. casadi/include/highs/qpsolver/a_asm.hpp +23 -12
  284. casadi/include/highs/qpsolver/a_quass.hpp +8 -1
  285. casadi/include/highs/qpsolver/basis.hpp +150 -0
  286. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  287. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  288. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  289. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  290. casadi/include/highs/qpsolver/factor.hpp +400 -0
  291. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  292. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  293. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  294. casadi/include/highs/qpsolver/instance.hpp +63 -0
  295. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  296. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  297. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  298. casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
  299. casadi/include/highs/qpsolver/quass.hpp +1 -1
  300. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  301. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  302. casadi/include/highs/qpsolver/settings.hpp +57 -0
  303. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  304. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  305. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  306. casadi/include/highs/simplex/HApp.h +1 -1
  307. casadi/include/highs/simplex/HEkk.h +52 -18
  308. casadi/include/highs/simplex/HEkkDual.h +1 -1
  309. casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
  310. casadi/include/highs/simplex/HEkkDualRow.h +2 -2
  311. casadi/include/highs/simplex/HEkkPrimal.h +6 -1
  312. casadi/include/highs/simplex/HSimplex.h +1 -3
  313. casadi/include/highs/simplex/HSimplexDebug.h +1 -1
  314. casadi/include/highs/simplex/HSimplexNla.h +1 -1
  315. casadi/include/highs/simplex/HSimplexReport.h +1 -1
  316. casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
  317. casadi/include/highs/simplex/SimplexConst.h +1 -1
  318. casadi/include/highs/simplex/SimplexStruct.h +2 -2
  319. casadi/include/highs/simplex/SimplexTimer.h +1 -1
  320. casadi/include/highs/test/DevKkt.h +1 -1
  321. casadi/include/highs/test/KktCh2.h +1 -1
  322. casadi/include/highs/util/FactorTimer.h +1 -1
  323. casadi/include/highs/util/HFactor.h +35 -6
  324. casadi/include/highs/util/HFactorConst.h +1 -1
  325. casadi/include/highs/util/HFactorDebug.h +1 -1
  326. casadi/include/highs/util/HSet.h +1 -1
  327. casadi/include/highs/util/HVector.h +1 -1
  328. casadi/include/highs/util/HVectorBase.h +1 -1
  329. casadi/include/highs/util/HighsCDouble.h +3 -3
  330. casadi/include/highs/util/HighsComponent.h +1 -1
  331. casadi/include/highs/util/HighsDataStack.h +4 -4
  332. casadi/include/highs/util/HighsDisjointSets.h +1 -1
  333. casadi/include/highs/util/HighsHash.h +28 -21
  334. casadi/include/highs/util/HighsHashTree.h +63 -63
  335. casadi/include/highs/util/HighsInt.h +1 -1
  336. casadi/include/highs/util/HighsIntegers.h +8 -9
  337. casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
  338. casadi/include/highs/util/HighsMatrixPic.h +1 -1
  339. casadi/include/highs/util/HighsMatrixSlice.h +9 -6
  340. casadi/include/highs/util/HighsMatrixUtils.h +1 -1
  341. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  342. casadi/include/highs/util/HighsRandom.h +27 -15
  343. casadi/include/highs/util/HighsRbTree.h +2 -2
  344. casadi/include/highs/util/HighsSort.h +7 -7
  345. casadi/include/highs/util/HighsSparseMatrix.h +5 -2
  346. casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
  347. casadi/include/highs/util/HighsSplay.h +1 -1
  348. casadi/include/highs/util/HighsTimer.h +18 -9
  349. casadi/include/highs/util/HighsUtils.h +15 -8
  350. casadi/include/highs/util/stringutil.h +9 -4
  351. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  352. casadi/include/highs/zstr/zstr.hpp +472 -0
  353. casadi/include/licenses/daqp-external/LICENSE +21 -0
  354. casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
  355. casadi/include/osqp/constants.h +2 -3
  356. casadi/include/osqp/version.h +9 -0
  357. casadi/lib/libtinyxml2.a +0 -0
  358. casadi/libCbc.so +0 -0
  359. casadi/libCbc.so.3 +0 -0
  360. casadi/libCbc.so.3.10.11 +0 -0
  361. casadi/libCbcSolver.so +0 -0
  362. casadi/libCbcSolver.so.3 +0 -0
  363. casadi/libCbcSolver.so.3.10.11 +0 -0
  364. casadi/libCgl.so +0 -0
  365. casadi/libCgl.so.1 +0 -0
  366. casadi/libCgl.so.1.10.8 +0 -0
  367. casadi/libClp.so +0 -0
  368. casadi/libClp.so.1 +0 -0
  369. casadi/libClp.so.1.14.9 +0 -0
  370. casadi/libClpSolver.so +0 -0
  371. casadi/libClpSolver.so.1 +0 -0
  372. casadi/libClpSolver.so.1.14.9 +0 -0
  373. casadi/libCoinUtils.so +0 -0
  374. casadi/libCoinUtils.so.3 +0 -0
  375. casadi/libCoinUtils.so.3.11.10 +0 -0
  376. casadi/libOsi.so +0 -0
  377. casadi/libOsi.so.1 +0 -0
  378. casadi/libOsi.so.1.13.9 +0 -0
  379. casadi/libOsiCbc.so +0 -0
  380. casadi/libOsiCbc.so.3 +0 -0
  381. casadi/libOsiCbc.so.3.10.11 +0 -0
  382. casadi/libOsiClp.so +0 -0
  383. casadi/libOsiClp.so.1 +0 -0
  384. casadi/libOsiClp.so.1.14.9 +0 -0
  385. casadi/libOsiCommonTests.so +0 -0
  386. casadi/libOsiCommonTests.so.1 +0 -0
  387. casadi/libOsiCommonTests.so.1.13.9 +0 -0
  388. casadi/libbonmin.so +0 -0
  389. casadi/libbonmin.so.4 +0 -0
  390. casadi/libbonmin.so.4.8.9 +0 -0
  391. casadi/libcasadi.so +0 -0
  392. casadi/libcasadi.so.3.7 +0 -0
  393. casadi/libcasadi_conic_cbc.so +0 -0
  394. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  395. casadi/libcasadi_conic_clp.so +0 -0
  396. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  397. casadi/libcasadi_conic_daqp.so +0 -0
  398. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  399. casadi/libcasadi_conic_gurobi.so +0 -0
  400. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  401. casadi/libcasadi_conic_highs.so +0 -0
  402. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  403. casadi/libcasadi_conic_ipqp.so +0 -0
  404. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  405. casadi/libcasadi_conic_nlpsol.so +0 -0
  406. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  407. casadi/libcasadi_conic_osqp.so +0 -0
  408. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  409. casadi/libcasadi_conic_proxqp.so +0 -0
  410. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  411. casadi/libcasadi_conic_qpoases.so +0 -0
  412. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  413. casadi/libcasadi_conic_qrqp.so +0 -0
  414. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  415. casadi/libcasadi_conic_superscs.so +0 -0
  416. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  417. casadi/libcasadi_integrator_collocation.so +0 -0
  418. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  419. casadi/libcasadi_integrator_cvodes.so +0 -0
  420. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  421. casadi/libcasadi_integrator_idas.so +0 -0
  422. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  423. casadi/libcasadi_integrator_rk.so +0 -0
  424. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  425. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  426. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  427. casadi/libcasadi_nlpsol_ampl.so +0 -0
  428. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  429. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  430. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  431. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  432. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  433. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  434. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  435. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  436. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  437. casadi/libcasadi_nlpsol_knitro.so +0 -0
  438. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  439. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  440. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  441. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  442. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  443. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  444. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  445. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  446. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  447. casadi/libcasadi_nlpsol_snopt.so +0 -0
  448. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  449. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  450. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  451. casadi/libcasadi_nlpsol_worhp.so +0 -0
  452. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  453. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  454. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  455. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  456. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  457. casadi/libcasadi_rootfinder_newton.so +0 -0
  458. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  459. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  460. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  461. casadi/libcasadi_sundials_common.so +0 -0
  462. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  463. casadi/libdaqp.so +0 -0
  464. casadi/libdaqpstat.a +0 -0
  465. casadi/libhighs.so +0 -0
  466. casadi/libhighs.so.1 +0 -0
  467. casadi/libhighs.so.1.7.2 +0 -0
  468. casadi/libindirect.a +0 -0
  469. casadi/libipopt.so +0 -0
  470. casadi/libipopt.so.3 +0 -0
  471. casadi/libipopt.so.3.14.11 +0 -0
  472. casadi/liblinsys.a +0 -0
  473. casadi/libmatlab_ipc.so +0 -0
  474. casadi/libosqp.a +0 -0
  475. casadi/libosqp.so +0 -0
  476. casadi/libqdldl.a +0 -0
  477. casadi/libsipopt.so +0 -0
  478. casadi/libsipopt.so.3 +0 -0
  479. casadi/libsipopt.so.3.14.11 +0 -0
  480. casadi/libsleqp.so +0 -0
  481. casadi/libsleqp.so.1.0.1 +0 -0
  482. casadi/libspral.a +0 -0
  483. casadi/libsuperscs.a +0 -0
  484. casadi/pkgconfig/casadi.pc +1 -1
  485. casadi/pkgconfig/highs.pc +1 -1
  486. casadi/tools/__init__.py +4 -0
  487. casadi/tools/bounds.py +3 -3
  488. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
  489. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
  490. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  491. casadi/libFortranHighs.so +0 -0
  492. casadi/libhighs.so.1.6 +0 -0
  493. casadi/libhighs.so.1.6.0 +0 -0
  494. {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,212 @@
1
+ // Copyright (C) 2004, 2006 International Business Machines and others.
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
+
7
+ #ifndef __IP_AUGSYSTEMSOLVER_HPP__
8
+ #define __IP_AUGSYSTEMSOLVER_HPP__
9
+
10
+ #include "IpSymMatrix.hpp"
11
+ #include "IpSymLinearSolver.hpp"
12
+ #include "IpAlgStrategy.hpp"
13
+
14
+ namespace Ipopt
15
+ {
16
+ DECLARE_STD_EXCEPTION(FATAL_ERROR_IN_LINEAR_SOLVER);
17
+
18
+ /** Base class for Solver for the augmented system.
19
+ *
20
+ * This is the base class for linear solvers that
21
+ * solve the augmented system, which is defined as
22
+ *
23
+ * \f$\left[\begin{array}{cccc}
24
+ * W + D_x + \delta_xI & 0 & J_c^T & J_d^T\\
25
+ * 0 & D_s + \delta_sI & 0 & -I \\
26
+ * J_c & 0 & D_c - \delta_cI & 0\\
27
+ * J_d & -I & 0 & D_d - \delta_dI
28
+ * \end{array}\right]
29
+ * \left(\begin{array}{c}sol_x\\sol_s\\sol_c\\sol_d\end{array}\right)=
30
+ * \left(\begin{array}{c}rhs_x\\rhs_s\\rhs_c\\rhs_d\end{array}\right)\f$
31
+ *
32
+ * Since this system might be solved repeatedly for different right
33
+ * hand sides, it is desirable to step the factorization of a
34
+ * direct linear solver if possible.
35
+ */
36
+ class IPOPTLIB_EXPORT AugSystemSolver: public AlgorithmStrategyObject
37
+ {
38
+ public:
39
+ /**@name Constructors/Destructors */
40
+ ///@{
41
+ /** Default constructor. */
42
+ AugSystemSolver()
43
+ { }
44
+ /** Destructor */
45
+ virtual ~AugSystemSolver()
46
+ { }
47
+ ///@}
48
+
49
+ /** overloaded from AlgorithmStrategyObject */
50
+ virtual bool InitializeImpl(
51
+ const OptionsList& options,
52
+ const std::string& prefix
53
+ ) = 0;
54
+
55
+ /** Set up the augmented system and solve it for a given right hand side.
56
+ *
57
+ * If desired (i.e. if check_NegEVals is true), then the
58
+ * solution is only computed if the number of negative eigenvalues
59
+ * matches numberOfNegEVals.
60
+ *
61
+ * @return return value of the linear solver object.
62
+ */
63
+ virtual ESymSolverStatus Solve(
64
+ const SymMatrix* W,
65
+ Number W_factor,
66
+ const Vector* D_x,
67
+ Number delta_x,
68
+ const Vector* D_s,
69
+ Number delta_s,
70
+ const Matrix* J_c,
71
+ const Vector* D_c,
72
+ Number delta_c,
73
+ const Matrix* J_d,
74
+ const Vector* D_d,
75
+ Number delta_d,
76
+ const Vector& rhs_x,
77
+ const Vector& rhs_s,
78
+ const Vector& rhs_c,
79
+ const Vector& rhs_d,
80
+ Vector& sol_x,
81
+ Vector& sol_s,
82
+ Vector& sol_c,
83
+ Vector& sol_d,
84
+ bool check_NegEVals,
85
+ Index numberOfNegEVals
86
+ )
87
+ {
88
+ std::vector<SmartPtr<const Vector> > rhs_xV(1);
89
+ rhs_xV[0] = &rhs_x;
90
+ std::vector<SmartPtr<const Vector> > rhs_sV(1);
91
+ rhs_sV[0] = &rhs_s;
92
+ std::vector<SmartPtr<const Vector> > rhs_cV(1);
93
+ rhs_cV[0] = &rhs_c;
94
+ std::vector<SmartPtr<const Vector> > rhs_dV(1);
95
+ rhs_dV[0] = &rhs_d;
96
+ std::vector<SmartPtr<Vector> > sol_xV(1);
97
+ sol_xV[0] = &sol_x;
98
+ std::vector<SmartPtr<Vector> > sol_sV(1);
99
+ sol_sV[0] = &sol_s;
100
+ std::vector<SmartPtr<Vector> > sol_cV(1);
101
+ sol_cV[0] = &sol_c;
102
+ std::vector<SmartPtr<Vector> > sol_dV(1);
103
+ sol_dV[0] = &sol_d;
104
+ return MultiSolve(W, W_factor, D_x, delta_x, D_s, delta_s, J_c, D_c, delta_c, J_d, D_d, delta_d, rhs_xV, rhs_sV,
105
+ rhs_cV, rhs_dV, sol_xV, sol_sV, sol_cV, sol_dV, check_NegEVals, numberOfNegEVals);
106
+ }
107
+
108
+ /** Like Solve, but for multiple right hand sides.
109
+ *
110
+ * The inheriting class has to overload at least
111
+ * one of Solve and MultiSolve.
112
+ */
113
+ virtual ESymSolverStatus MultiSolve(
114
+ const SymMatrix* W,
115
+ Number W_factor,
116
+ const Vector* D_x,
117
+ Number delta_x,
118
+ const Vector* D_s,
119
+ Number delta_s,
120
+ const Matrix* J_c,
121
+ const Vector* D_c,
122
+ Number delta_c,
123
+ const Matrix* J_d,
124
+ const Vector* D_d,
125
+ Number delta_d,
126
+ std::vector<SmartPtr<const Vector> >& rhs_xV,
127
+ std::vector<SmartPtr<const Vector> >& rhs_sV,
128
+ std::vector<SmartPtr<const Vector> >& rhs_cV,
129
+ std::vector<SmartPtr<const Vector> >& rhs_dV,
130
+ std::vector<SmartPtr<Vector> >& sol_xV,
131
+ std::vector<SmartPtr<Vector> >& sol_sV,
132
+ std::vector<SmartPtr<Vector> >& sol_cV,
133
+ std::vector<SmartPtr<Vector> >& sol_dV,
134
+ bool check_NegEVals,
135
+ Index numberOfNegEVals
136
+ )
137
+ {
138
+ // Solve for one right hand side after the other
139
+ Index nrhs = (Index) rhs_xV.size();
140
+ DBG_ASSERT(nrhs > 0);
141
+ DBG_ASSERT(nrhs == (Index)rhs_sV.size());
142
+ DBG_ASSERT(nrhs == (Index)rhs_cV.size());
143
+ DBG_ASSERT(nrhs == (Index)rhs_dV.size());
144
+ DBG_ASSERT(nrhs == (Index)sol_xV.size());
145
+ DBG_ASSERT(nrhs == (Index)sol_sV.size());
146
+ DBG_ASSERT(nrhs == (Index)sol_cV.size());
147
+ DBG_ASSERT(nrhs == (Index)sol_dV.size());
148
+
149
+ ESymSolverStatus retval = SYMSOLVER_SUCCESS;
150
+ for( Index i = 0; i < nrhs; i++ )
151
+ {
152
+ retval = Solve(W, W_factor, D_x, delta_x, D_s, delta_s, J_c, D_c, delta_c, J_d, D_d, delta_d, *rhs_xV[i],
153
+ *rhs_sV[i], *rhs_cV[i], *rhs_dV[i], *sol_xV[i], *sol_sV[i], *sol_cV[i], *sol_dV[i], check_NegEVals,
154
+ numberOfNegEVals);
155
+ if( retval != SYMSOLVER_SUCCESS )
156
+ {
157
+ break;
158
+ }
159
+ }
160
+ return retval;
161
+ }
162
+
163
+ /** Number of negative eigenvalues detected during last solve.
164
+ *
165
+ * @return number of negative eigenvalues of the most recent factorized matrix
166
+ * @note This must not be called if the linear solver does not compute this
167
+ * quantities (see ProvidesInertia).
168
+ */
169
+ virtual Index NumberOfNegEVals() const = 0;
170
+
171
+ /** Query whether inertia is computed by linear solver.
172
+ *
173
+ * @return true, if linear solver provides inertia
174
+ */
175
+ virtual bool ProvidesInertia() const = 0;
176
+
177
+ /** Request to increase quality of solution for next solve.
178
+ *
179
+ * Asks underlying linear solver to increase quality of solution for
180
+ * the next solve (e.g. increase pivot tolerance). Returns
181
+ * false, if this is not possible (e.g. maximal pivot tolerance
182
+ * already used.)
183
+ */
184
+ virtual bool IncreaseQuality() = 0;
185
+
186
+ private:
187
+ /**@name Default Compiler Generated Methods
188
+ * (Hidden to avoid implicit creation/calling).
189
+ *
190
+ * These methods are not implemented and
191
+ * we do not want the compiler to implement
192
+ * them for us, so we declare them private
193
+ * and do not define them. This ensures that
194
+ * they will not be implicitly created/called.
195
+ */
196
+ ///@{
197
+ /** Copy Constructor */
198
+ AugSystemSolver(
199
+ const AugSystemSolver&
200
+ );
201
+
202
+ /** Default Assignment Operator */
203
+ void operator=(
204
+ const AugSystemSolver&
205
+ );
206
+ ///@}
207
+
208
+ };
209
+
210
+ } // namespace Ipopt
211
+
212
+ #endif
@@ -0,0 +1,426 @@
1
+ // Copyright (C) 2004, 2006 International Business Machines and others.
2
+ // All Rights Reserved.
3
+ // This code is published under the Eclipse Public License.
4
+ //
5
+ // Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
+
7
+ #ifndef __IPBLAS_HPP__
8
+ #define __IPBLAS_HPP__
9
+
10
+ #include "IpUtils.hpp"
11
+
12
+ namespace Ipopt
13
+ {
14
+ /** Wrapper for BLAS function XDOT.
15
+ *
16
+ * Compute dot product of vector x and vector y.
17
+ * @since 3.14.0
18
+ */
19
+ IPOPTLIB_EXPORT Number IpBlasDot(
20
+ Index size,
21
+ const Number* x,
22
+ Index incX,
23
+ const Number* y,
24
+ Index incY
25
+ );
26
+
27
+ /** Wrapper for BLAS function DDOT.
28
+ *
29
+ * Compute dot product of vector x and vector y.
30
+ *
31
+ * @deprecated Use IpBlasDot() instead.
32
+ */
33
+ IPOPT_DEPRECATED
34
+ inline Number IpBlasDdot(
35
+ Index size,
36
+ const Number* x,
37
+ Index incX,
38
+ const Number* y,
39
+ Index incY
40
+ )
41
+ {
42
+ return IpBlasDot(size, x, incX, y, incY);
43
+ }
44
+
45
+ /** Wrapper for BLAS function XNRM2.
46
+ *
47
+ * Compute 2-norm of vector x.
48
+ * @since 3.14.0
49
+ */
50
+ IPOPTLIB_EXPORT Number IpBlasNrm2(
51
+ Index size,
52
+ const Number* x,
53
+ Index incX
54
+ );
55
+
56
+ /** Wrapper for BLAS function DNRM2.
57
+ *
58
+ * Compute 2-norm of vector x.
59
+ *
60
+ * @deprecated Use IpBlasNrm2() instead.
61
+ */
62
+ IPOPT_DEPRECATED
63
+ inline Number IpBlasDnrm2(
64
+ Index size,
65
+ const Number* x,
66
+ Index incX
67
+ )
68
+ {
69
+ return IpBlasNrm2(size, x, incX);
70
+ }
71
+
72
+ /** Wrapper for BLAS function XASUM.
73
+ *
74
+ * Compute 1-norm of vector x.
75
+ * @since 3.14.0
76
+ */
77
+ IPOPTLIB_EXPORT Number IpBlasAsum(
78
+ Index size,
79
+ const Number* x,
80
+ Index incX
81
+ );
82
+
83
+ /** Wrapper for BLAS function DASUM.
84
+ *
85
+ * Compute 1-norm of vector x.
86
+ *
87
+ * @deprecated Use IpBlasAsum() instead.
88
+ */
89
+ IPOPT_DEPRECATED
90
+ inline Number IpBlasDasum(
91
+ Index size,
92
+ const Number* x,
93
+ Index incX
94
+ )
95
+ {
96
+ return IpBlasAsum(size, x, incX);
97
+ }
98
+
99
+ /** Wrapper for BLAS function IXAMAX.
100
+ *
101
+ * Compute index for largest absolute element of vector x.
102
+ * @since 3.14.0
103
+ */
104
+ IPOPTLIB_EXPORT Index IpBlasIamax(
105
+ Index size,
106
+ const Number* x,
107
+ Index incX
108
+ );
109
+
110
+ /** Wrapper for BLAS function IDAMAX.
111
+ *
112
+ * Compute index for largest absolute element of vector x.
113
+ *
114
+ * @deprecated Use IpBlasIamax() instead.
115
+ */
116
+ IPOPT_DEPRECATED
117
+ inline int IpBlasIdamax(
118
+ Index size,
119
+ const Number* x,
120
+ Index incX
121
+ )
122
+ {
123
+ return (int)IpBlasIamax(size, x, incX);
124
+ }
125
+
126
+ /** Wrapper for BLAS subroutine XCOPY.
127
+ *
128
+ * Copying vector x into vector y.
129
+ * @since 3.14.0
130
+ */
131
+ IPOPTLIB_EXPORT void IpBlasCopy(
132
+ Index size,
133
+ const Number* x,
134
+ Index incX,
135
+ Number* y,
136
+ Index incY
137
+ );
138
+
139
+ /** Wrapper for BLAS subroutine DCOPY.
140
+ *
141
+ * Copying vector x into vector y.
142
+ *
143
+ * @deprecated Use IpBlasCopy() instead.
144
+ */
145
+ IPOPT_DEPRECATED
146
+ inline void IpBlasDcopy(
147
+ Index size,
148
+ const Number* x,
149
+ Index incX,
150
+ Number* y,
151
+ Index incY
152
+ )
153
+ {
154
+ IpBlasCopy(size, x, incX, y, incY);
155
+ }
156
+
157
+ /** Wrapper for BLAS subroutine XAXPY.
158
+ *
159
+ * Adding the alpha multiple of vector x to vector y.
160
+ * @since 3.14.0
161
+ */
162
+ IPOPTLIB_EXPORT void IpBlasAxpy(
163
+ Index size,
164
+ Number alpha,
165
+ const Number* x,
166
+ Index incX,
167
+ Number* y,
168
+ Index incY
169
+ );
170
+
171
+ /** Wrapper for BLAS subroutine DAXPY.
172
+ *
173
+ * Adding the alpha multiple of vector x to vector y.
174
+ *
175
+ * @deprecated Use IpBlasAxpy() instead.
176
+ */
177
+ IPOPT_DEPRECATED
178
+ inline void IpBlasDaxpy(
179
+ Index size,
180
+ Number alpha,
181
+ const Number* x,
182
+ Index incX,
183
+ Number* y,
184
+ Index incY
185
+ )
186
+ {
187
+ IpBlasAxpy(size, alpha, x, incX, y, incY);
188
+ }
189
+
190
+ /** Wrapper for BLAS subroutine XSCAL.
191
+ *
192
+ * Scaling vector x by scalar alpha.
193
+ * @since 3.14.0
194
+ */
195
+ IPOPTLIB_EXPORT void IpBlasScal(
196
+ Index size,
197
+ Number alpha,
198
+ Number* x,
199
+ Index incX
200
+ );
201
+
202
+ /** Wrapper for BLAS subroutine DSCAL.
203
+ *
204
+ * Scaling vector x by scalar alpha.
205
+ *
206
+ * @deprecated Use IpBlasScal() instead.
207
+ */
208
+ IPOPT_DEPRECATED
209
+ inline void IpBlasDscal(
210
+ Index size,
211
+ Number alpha,
212
+ Number* x,
213
+ Index incX
214
+ )
215
+ {
216
+ IpBlasScal(size, alpha, x, incX);
217
+ }
218
+
219
+ /** Wrapper for BLAS subroutine XGEMV.
220
+ *
221
+ * Multiplying a matrix with a vector.
222
+ * @since 3.14.0
223
+ */
224
+ IPOPTLIB_EXPORT void IpBlasGemv(
225
+ bool trans,
226
+ Index nRows,
227
+ Index nCols,
228
+ Number alpha,
229
+ const Number* A,
230
+ Index ldA,
231
+ const Number* x,
232
+ Index incX,
233
+ Number beta,
234
+ Number* y,
235
+ Index incY
236
+ );
237
+
238
+ /** Wrapper for BLAS subroutine DGEMV.
239
+ *
240
+ * Multiplying a matrix with a vector.
241
+ *
242
+ * @deprecated Use IpBlasGemv() instead.
243
+ */
244
+ IPOPT_DEPRECATED
245
+ inline void IpBlasDgemv(
246
+ bool trans,
247
+ Index nRows,
248
+ Index nCols,
249
+ Number alpha,
250
+ const Number* A,
251
+ Index ldA,
252
+ const Number* x,
253
+ Index incX,
254
+ Number beta,
255
+ Number* y,
256
+ Index incY
257
+ )
258
+ {
259
+ IpBlasGemv(trans, nRows, nCols, alpha, A, ldA, x, incX, beta, y, incY);
260
+ }
261
+
262
+ /** Wrapper for BLAS subroutine XSYMV.
263
+ *
264
+ * Multiplying a symmetric matrix with a vector.
265
+ * @since 3.14.0
266
+ */
267
+ IPOPTLIB_EXPORT void IpBlasSymv(
268
+ Index n,
269
+ Number alpha,
270
+ const Number* A,
271
+ Index ldA,
272
+ const Number* x,
273
+ Index incX,
274
+ Number beta,
275
+ Number* y,
276
+ Index incY
277
+ );
278
+
279
+ /** Wrapper for BLAS subroutine DSYMV.
280
+ *
281
+ * Multiplying a symmetric matrix with a vector.
282
+ *
283
+ * @deprecated Use IpBlasSymv() instead.
284
+ */
285
+ IPOPT_DEPRECATED
286
+ inline void IpBlasDsymv(
287
+ Index n,
288
+ Number alpha,
289
+ const Number* A,
290
+ Index ldA,
291
+ const Number* x,
292
+ Index incX,
293
+ Number beta,
294
+ Number* y,
295
+ Index incY
296
+ )
297
+ {
298
+ IpBlasSymv(n, alpha, A, ldA, x, incX, beta, y, incY);
299
+ }
300
+
301
+ /** Wrapper for BLAS subroutine XGEMM.
302
+ *
303
+ * Multiplying two matrices.
304
+ * @since 3.14.0
305
+ */
306
+ IPOPTLIB_EXPORT void IpBlasGemm(
307
+ bool transa,
308
+ bool transb,
309
+ Index m,
310
+ Index n,
311
+ Index k,
312
+ Number alpha,
313
+ const Number* A,
314
+ Index ldA,
315
+ const Number* B,
316
+ Index ldB,
317
+ Number beta,
318
+ Number* C,
319
+ Index ldC
320
+ );
321
+
322
+ /** Wrapper for BLAS subroutine DGEMM.
323
+ *
324
+ * Multiplying two matrices.
325
+ *
326
+ * @deprecated Use IpBlasGemm() instead.
327
+ */
328
+ IPOPT_DEPRECATED
329
+ inline void IpBlasDgemm(
330
+ bool transa,
331
+ bool transb,
332
+ Index m,
333
+ Index n,
334
+ Index k,
335
+ Number alpha,
336
+ const Number* A,
337
+ Index ldA,
338
+ const Number* B,
339
+ Index ldB,
340
+ Number beta,
341
+ Number* C,
342
+ Index ldC
343
+ )
344
+ {
345
+ IpBlasGemm(transa, transb, m, n, k, alpha, A, ldA, B, ldB, beta, C, ldC);
346
+ }
347
+
348
+ /** Wrapper for BLAS subroutine XSYRK.
349
+ *
350
+ * Adding a high-rank update to a matrix.
351
+ * @since 3.14.0
352
+ */
353
+ IPOPTLIB_EXPORT void IpBlasSyrk(
354
+ bool trans,
355
+ Index ndim,
356
+ Index nrank,
357
+ Number alpha,
358
+ const Number* A,
359
+ Index ldA,
360
+ Number beta,
361
+ Number* C,
362
+ Index ldC
363
+ );
364
+
365
+ /** Wrapper for BLAS subroutine DSYRK.
366
+ *
367
+ * Adding a high-rank update to a matrix.
368
+ *
369
+ * @deprecated Use IpBlasSyrk() instead.
370
+ */
371
+ IPOPT_DEPRECATED
372
+ inline void IpBlasDsyrk(
373
+ bool trans,
374
+ Index ndim,
375
+ Index nrank,
376
+ Number alpha,
377
+ const Number* A,
378
+ Index ldA,
379
+ Number beta,
380
+ Number* C,
381
+ Index ldC
382
+ )
383
+ {
384
+ IpBlasSyrk(trans, ndim, nrank, alpha, A, ldA, beta, C, ldC);
385
+ }
386
+
387
+ /** Wrapper for BLAS subroutine XTRSM.
388
+ *
389
+ * Backsolve for a lower triangular matrix.
390
+ * @since 3.14.0
391
+ */
392
+ IPOPTLIB_EXPORT void IpBlasTrsm(
393
+ bool trans,
394
+ Index ndim,
395
+ Index nrhs,
396
+ Number alpha,
397
+ const Number* A,
398
+ Index ldA,
399
+ Number* B,
400
+ Index ldB
401
+ );
402
+
403
+ /** Wrapper for BLAS subroutine DTRSM.
404
+ *
405
+ * Backsolve for a lower triangular matrix.
406
+ *
407
+ * @deprecated Use IpBlasTrsm() instead.
408
+ */
409
+ IPOPT_DEPRECATED
410
+ inline void IpBlasDtrsm(
411
+ bool trans,
412
+ Index ndim,
413
+ Index nrhs,
414
+ Number alpha,
415
+ const Number* A,
416
+ Index ldA,
417
+ Number* B,
418
+ Index ldB
419
+ )
420
+ {
421
+ IpBlasTrsm(trans, ndim, nrhs, alpha, A, ldA, B, ldB);
422
+ }
423
+
424
+ } // namespace Ipopt
425
+
426
+ #endif