casadi 3.6.4__cp311-none-manylinux2014_i686.whl → 3.6.6__cp311-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.
- casadi/_casadi.so +0 -0
- casadi/casadi.py +984 -500
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +6 -13
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +13 -10
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +33 -15
- casadi/include/casadi/casadi_c.h +2 -0
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/casadi_common.hpp +1 -0
- casadi/include/casadi/core/casadi_misc.hpp +13 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +59 -2
- casadi/include/casadi/core/core.hpp +1 -0
- casadi/include/casadi/core/generic_expression.hpp +1 -1
- casadi/include/casadi/core/generic_type.hpp +25 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/matrix_decl.hpp +15 -0
- casadi/include/casadi/core/mx.hpp +13 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
- casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
- casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +4 -1
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +12 -3
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/doc.i +2283 -1491
- casadi/include/casadi/doc_merged.i +1522 -1065
- casadi/include/casadi/mem.h +1 -0
- casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
- casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
- casadi/include/coin-or/IpAlgTypes.hpp +64 -0
- casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
- casadi/include/coin-or/IpBlas.hpp +426 -0
- casadi/include/coin-or/IpCachedResults.hpp +897 -0
- casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
- casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
- casadi/include/coin-or/IpCompoundVector.hpp +395 -0
- casadi/include/coin-or/IpConvCheck.hpp +97 -0
- casadi/include/coin-or/IpDebug.hpp +167 -0
- casadi/include/coin-or/IpDenseVector.hpp +626 -0
- casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
- casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
- casadi/include/coin-or/IpException.hpp +156 -0
- casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
- casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
- casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
- casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
- casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
- casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
- casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
- casadi/include/coin-or/IpIpoptData.hpp +966 -0
- casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
- casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
- casadi/include/coin-or/IpIteratesVector.hpp +840 -0
- casadi/include/coin-or/IpIterationOutput.hpp +78 -0
- casadi/include/coin-or/IpJournalist.hpp +573 -0
- casadi/include/coin-or/IpLapack.hpp +227 -0
- casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
- casadi/include/coin-or/IpLineSearch.hpp +106 -0
- casadi/include/coin-or/IpLinearSolvers.h +46 -0
- casadi/include/coin-or/IpMatrix.hpp +434 -0
- casadi/include/coin-or/IpMuUpdate.hpp +77 -0
- casadi/include/coin-or/IpNLP.hpp +306 -0
- casadi/include/coin-or/IpNLPScaling.hpp +582 -0
- casadi/include/coin-or/IpObserver.hpp +422 -0
- casadi/include/coin-or/IpOptionsList.hpp +412 -0
- casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
- casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
- casadi/include/coin-or/IpReferenced.hpp +262 -0
- casadi/include/coin-or/IpRegOptions.hpp +1152 -0
- casadi/include/coin-or/IpReturnCodes.h +23 -0
- casadi/include/coin-or/IpReturnCodes.hpp +18 -0
- casadi/include/coin-or/IpReturnCodes.inc +71 -0
- casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
- casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
- casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
- casadi/include/coin-or/IpSmartPtr.hpp +865 -0
- casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
- casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
- casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
- casadi/include/coin-or/IpStdCInterface.h +428 -0
- casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
- casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
- casadi/include/coin-or/IpSymMatrix.hpp +167 -0
- casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
- casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
- casadi/include/coin-or/IpTNLP.hpp +820 -0
- casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
- casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
- casadi/include/coin-or/IpTaggedObject.hpp +128 -0
- casadi/include/coin-or/IpTimedTask.hpp +218 -0
- casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
- casadi/include/coin-or/IpTripletHelper.hpp +308 -0
- casadi/include/coin-or/IpTypes.h +81 -0
- casadi/include/coin-or/IpTypes.hpp +30 -0
- casadi/include/coin-or/IpUtils.hpp +166 -0
- casadi/include/coin-or/IpVector.hpp +892 -0
- casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
- casadi/include/coin-or/IpoptConfig.h +45 -0
- casadi/include/coin-or/SensAlgorithm.hpp +114 -0
- casadi/include/coin-or/SensApplication.hpp +188 -0
- casadi/include/coin-or/SensBacksolver.hpp +36 -0
- casadi/include/coin-or/SensMeasurement.hpp +56 -0
- casadi/include/coin-or/SensPCalculator.hpp +137 -0
- casadi/include/coin-or/SensRegOp.hpp +21 -0
- casadi/include/coin-or/SensSchurData.hpp +182 -0
- casadi/include/coin-or/SensSchurDriver.hpp +118 -0
- casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
- casadi/include/coin-or/SensStepCalc.hpp +85 -0
- casadi/include/coin-or/SensUtils.hpp +63 -0
- casadi/include/coin-or/metis/defs.h +161 -0
- casadi/include/coin-or/metis/macros.h +143 -0
- casadi/include/coin-or/metis/metis.h +37 -0
- casadi/include/coin-or/metis/proto.h +505 -0
- casadi/include/coin-or/metis/rename.h +418 -0
- casadi/include/coin-or/metis/struct.h +251 -0
- casadi/include/coin-or/mumps/dmumps_c.h +142 -0
- casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
- casadi/include/coin-or/mumps/mumps_compat.h +27 -0
- casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
- casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
- casadi/include/daqp/api.h +46 -0
- casadi/include/daqp/auxiliary.h +29 -0
- casadi/include/daqp/bnb.h +32 -0
- casadi/include/daqp/codegen.h +18 -0
- casadi/include/daqp/constants.h +92 -0
- casadi/include/daqp/daqp.h +22 -0
- casadi/include/daqp/daqp_prox.h +18 -0
- casadi/include/daqp/factorization.h +18 -0
- casadi/include/daqp/types.h +161 -0
- casadi/include/daqp/utils.h +44 -0
- casadi/include/highs/HConfig.h +6 -5
- casadi/include/highs/Highs.h +93 -23
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/interfaces/highs_c_api.h +200 -24
- casadi/include/highs/io/Filereader.h +1 -1
- casadi/include/highs/io/FilereaderEms.h +1 -1
- casadi/include/highs/io/FilereaderLp.h +1 -1
- casadi/include/highs/io/FilereaderMps.h +1 -1
- casadi/include/highs/io/HMPSIO.h +1 -1
- casadi/include/highs/io/HMpsFF.h +5 -3
- casadi/include/highs/io/HighsIO.h +18 -8
- casadi/include/highs/io/LoadOptions.h +1 -1
- casadi/include/highs/ipm/IpxSolution.h +35 -0
- casadi/include/highs/ipm/IpxWrapper.h +1 -1
- casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
- casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
- casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
- casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
- casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
- casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
- casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
- casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
- casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
- casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
- casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
- casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
- casadi/include/highs/ipm/ipx/basis.h +351 -0
- casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
- casadi/include/highs/ipm/ipx/control.h +163 -0
- casadi/include/highs/ipm/ipx/crossover.h +157 -0
- casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
- casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
- casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
- casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
- casadi/include/highs/ipm/ipx/info.h +27 -0
- casadi/include/highs/ipm/ipx/ipm.h +94 -0
- casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
- casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
- casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
- casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
- casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
- casadi/include/highs/ipm/ipx/iterate.h +328 -0
- casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
- casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
- casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
- casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
- casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
- casadi/include/highs/ipm/ipx/lu_update.h +129 -0
- casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
- casadi/include/highs/ipm/ipx/model.h +409 -0
- casadi/include/highs/ipm/ipx/multistream.h +52 -0
- casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
- casadi/include/highs/ipm/ipx/power_method.h +44 -0
- casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
- casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
- casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
- casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
- casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
- casadi/include/highs/ipm/ipx/timer.h +24 -0
- casadi/include/highs/ipm/ipx/utils.h +39 -0
- casadi/include/highs/lp_data/HConst.h +20 -10
- casadi/include/highs/lp_data/HStruct.h +23 -1
- casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
- casadi/include/highs/lp_data/HighsCallback.h +10 -3
- casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
- casadi/include/highs/lp_data/HighsDebug.h +1 -1
- casadi/include/highs/lp_data/HighsInfo.h +20 -2
- casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
- casadi/include/highs/lp_data/HighsLp.h +17 -1
- casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
- casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
- casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
- casadi/include/highs/lp_data/HighsOptions.h +237 -10
- casadi/include/highs/lp_data/HighsRanging.h +1 -1
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
- casadi/include/highs/lp_data/HighsSolution.h +2 -2
- casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
- casadi/include/highs/lp_data/HighsSolve.h +3 -1
- casadi/include/highs/lp_data/HighsStatus.h +1 -1
- casadi/include/highs/mip/HighsCliqueTable.h +4 -4
- casadi/include/highs/mip/HighsConflictPool.h +1 -1
- casadi/include/highs/mip/HighsCutGeneration.h +1 -1
- casadi/include/highs/mip/HighsCutPool.h +2 -2
- casadi/include/highs/mip/HighsDebugSol.h +22 -29
- casadi/include/highs/mip/HighsDomain.h +10 -2
- casadi/include/highs/mip/HighsDomainChange.h +1 -1
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
- casadi/include/highs/mip/HighsGFkSolve.h +3 -3
- casadi/include/highs/mip/HighsImplications.h +3 -3
- casadi/include/highs/mip/HighsLpAggregator.h +1 -1
- casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
- casadi/include/highs/mip/HighsMipSolver.h +4 -2
- casadi/include/highs/mip/HighsMipSolverData.h +47 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -2
- casadi/include/highs/mip/HighsNodeQueue.h +5 -3
- casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
- casadi/include/highs/mip/HighsPathSeparator.h +2 -2
- casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
- casadi/include/highs/mip/HighsPseudocost.h +35 -23
- casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
- casadi/include/highs/mip/HighsSearch.h +2 -1
- casadi/include/highs/mip/HighsSeparation.h +1 -1
- casadi/include/highs/mip/HighsSeparator.h +1 -1
- casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
- casadi/include/highs/mip/HighsTransformedLp.h +1 -1
- casadi/include/highs/model/HighsHessian.h +5 -0
- casadi/include/highs/model/HighsHessianUtils.h +2 -0
- casadi/include/highs/model/HighsModel.h +10 -1
- casadi/include/highs/parallel/HighsMutex.h +2 -1
- casadi/include/highs/parallel/HighsParallel.h +7 -2
- casadi/include/highs/parallel/HighsTask.h +1 -2
- casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +27 -14
- casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
- casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
- casadi/include/highs/presolve/HighsSymmetry.h +6 -5
- casadi/include/highs/presolve/ICrash.h +8 -2
- casadi/include/highs/presolve/ICrashUtil.h +1 -1
- casadi/include/highs/presolve/ICrashX.h +1 -1
- casadi/include/highs/presolve/PresolveComponent.h +1 -1
- casadi/include/highs/qpsolver/a_asm.hpp +23 -12
- casadi/include/highs/qpsolver/a_quass.hpp +8 -1
- casadi/include/highs/qpsolver/basis.hpp +150 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +400 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
- casadi/include/highs/qpsolver/gradient.hpp +39 -0
- casadi/include/highs/qpsolver/instance.hpp +63 -0
- casadi/include/highs/qpsolver/matrix.hpp +335 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
- casadi/include/highs/qpsolver/quass.hpp +1 -1
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/settings.hpp +57 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
- casadi/include/highs/simplex/HApp.h +1 -1
- casadi/include/highs/simplex/HEkk.h +52 -18
- casadi/include/highs/simplex/HEkkDual.h +1 -1
- casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
- casadi/include/highs/simplex/HEkkDualRow.h +2 -2
- casadi/include/highs/simplex/HEkkPrimal.h +6 -1
- casadi/include/highs/simplex/HSimplex.h +1 -3
- casadi/include/highs/simplex/HSimplexDebug.h +1 -1
- casadi/include/highs/simplex/HSimplexNla.h +1 -1
- casadi/include/highs/simplex/HSimplexReport.h +1 -1
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
- casadi/include/highs/simplex/SimplexConst.h +1 -1
- casadi/include/highs/simplex/SimplexStruct.h +2 -2
- casadi/include/highs/simplex/SimplexTimer.h +1 -1
- casadi/include/highs/test/DevKkt.h +1 -1
- casadi/include/highs/test/KktCh2.h +1 -1
- casadi/include/highs/util/FactorTimer.h +1 -1
- casadi/include/highs/util/HFactor.h +35 -6
- casadi/include/highs/util/HFactorConst.h +1 -1
- casadi/include/highs/util/HFactorDebug.h +1 -1
- casadi/include/highs/util/HSet.h +1 -1
- casadi/include/highs/util/HVector.h +1 -1
- casadi/include/highs/util/HVectorBase.h +1 -1
- casadi/include/highs/util/HighsCDouble.h +3 -3
- casadi/include/highs/util/HighsComponent.h +1 -1
- casadi/include/highs/util/HighsDataStack.h +4 -4
- casadi/include/highs/util/HighsDisjointSets.h +1 -1
- casadi/include/highs/util/HighsHash.h +28 -21
- casadi/include/highs/util/HighsHashTree.h +63 -63
- casadi/include/highs/util/HighsInt.h +1 -1
- casadi/include/highs/util/HighsIntegers.h +8 -9
- casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
- casadi/include/highs/util/HighsMatrixPic.h +1 -1
- casadi/include/highs/util/HighsMatrixSlice.h +9 -6
- casadi/include/highs/util/HighsMatrixUtils.h +1 -1
- casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
- casadi/include/highs/util/HighsRandom.h +27 -15
- casadi/include/highs/util/HighsRbTree.h +2 -2
- casadi/include/highs/util/HighsSort.h +7 -7
- casadi/include/highs/util/HighsSparseMatrix.h +5 -2
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
- casadi/include/highs/util/HighsSplay.h +1 -1
- casadi/include/highs/util/HighsTimer.h +18 -9
- casadi/include/highs/util/HighsUtils.h +15 -8
- casadi/include/highs/util/stringutil.h +9 -4
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
- casadi/include/osqp/constants.h +2 -3
- casadi/include/osqp/version.h +9 -0
- casadi/lib/libtinyxml2.a +0 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libdaqp.so +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.7.2 +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.so +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.so +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
@@ -0,0 +1,142 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* This file is part of MUMPS 5.4.1, released
|
4
|
+
* on Tue Aug 3 09:49:43 UTC 2021
|
5
|
+
*
|
6
|
+
*
|
7
|
+
* Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
|
8
|
+
* Mumps Technologies, University of Bordeaux.
|
9
|
+
*
|
10
|
+
* This version of MUMPS is provided to you free of charge. It is
|
11
|
+
* released under the CeCILL-C license
|
12
|
+
* (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
|
13
|
+
* https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
|
17
|
+
/* Mostly written in march 2002 (JYL) */
|
18
|
+
|
19
|
+
#ifndef DMUMPS_C_H
|
20
|
+
#define DMUMPS_C_H
|
21
|
+
|
22
|
+
#ifdef __cplusplus
|
23
|
+
extern "C" {
|
24
|
+
#endif
|
25
|
+
|
26
|
+
#include "mumps_compat.h"
|
27
|
+
/* Next line defines MUMPS_INT, DMUMPS_COMPLEX and DMUMPS_REAL */
|
28
|
+
#include "mumps_c_types.h"
|
29
|
+
|
30
|
+
#ifndef MUMPS_VERSION
|
31
|
+
/* Protected in case headers of other arithmetics are included */
|
32
|
+
#define MUMPS_VERSION "5.4.1"
|
33
|
+
#endif
|
34
|
+
#ifndef MUMPS_VERSION_MAX_LEN
|
35
|
+
#define MUMPS_VERSION_MAX_LEN 30
|
36
|
+
#endif
|
37
|
+
|
38
|
+
/*
|
39
|
+
* Definition of the (simplified) MUMPS C structure.
|
40
|
+
* NB: DMUMPS_COMPLEX are REAL types in s and d arithmetics.
|
41
|
+
*/
|
42
|
+
typedef struct {
|
43
|
+
|
44
|
+
MUMPS_INT sym, par, job;
|
45
|
+
MUMPS_INT comm_fortran; /* Fortran communicator */
|
46
|
+
MUMPS_INT icntl[60];
|
47
|
+
MUMPS_INT keep[500];
|
48
|
+
DMUMPS_REAL cntl[15];
|
49
|
+
DMUMPS_REAL dkeep[230];
|
50
|
+
MUMPS_INT8 keep8[150];
|
51
|
+
MUMPS_INT n;
|
52
|
+
MUMPS_INT nblk;
|
53
|
+
|
54
|
+
MUMPS_INT nz_alloc; /* used in matlab interface to decide if we
|
55
|
+
free + malloc when we have large variation */
|
56
|
+
|
57
|
+
/* Assembled entry */
|
58
|
+
MUMPS_INT nz;
|
59
|
+
MUMPS_INT8 nnz;
|
60
|
+
MUMPS_INT *irn;
|
61
|
+
MUMPS_INT *jcn;
|
62
|
+
DMUMPS_COMPLEX *a;
|
63
|
+
|
64
|
+
/* Distributed entry */
|
65
|
+
MUMPS_INT nz_loc;
|
66
|
+
MUMPS_INT8 nnz_loc;
|
67
|
+
MUMPS_INT *irn_loc;
|
68
|
+
MUMPS_INT *jcn_loc;
|
69
|
+
DMUMPS_COMPLEX *a_loc;
|
70
|
+
|
71
|
+
/* Element entry */
|
72
|
+
MUMPS_INT nelt;
|
73
|
+
MUMPS_INT *eltptr;
|
74
|
+
MUMPS_INT *eltvar;
|
75
|
+
DMUMPS_COMPLEX *a_elt;
|
76
|
+
|
77
|
+
/* Matrix by blocks */
|
78
|
+
MUMPS_INT *blkptr;
|
79
|
+
MUMPS_INT *blkvar;
|
80
|
+
|
81
|
+
/* Ordering, if given by user */
|
82
|
+
MUMPS_INT *perm_in;
|
83
|
+
|
84
|
+
/* Orderings returned to user */
|
85
|
+
MUMPS_INT *sym_perm; /* symmetric permutation */
|
86
|
+
MUMPS_INT *uns_perm; /* column permutation */
|
87
|
+
|
88
|
+
/* Scaling (inout but complicated) */
|
89
|
+
DMUMPS_REAL *colsca;
|
90
|
+
DMUMPS_REAL *rowsca;
|
91
|
+
MUMPS_INT colsca_from_mumps;
|
92
|
+
MUMPS_INT rowsca_from_mumps;
|
93
|
+
|
94
|
+
/* RHS, solution, ouptput data and statistics */
|
95
|
+
DMUMPS_COMPLEX *rhs, *redrhs, *rhs_sparse, *sol_loc, *rhs_loc;
|
96
|
+
MUMPS_INT *irhs_sparse, *irhs_ptr, *isol_loc, *irhs_loc;
|
97
|
+
MUMPS_INT nrhs, lrhs, lredrhs, nz_rhs, lsol_loc, nloc_rhs, lrhs_loc;
|
98
|
+
MUMPS_INT schur_mloc, schur_nloc, schur_lld;
|
99
|
+
MUMPS_INT mblock, nblock, nprow, npcol;
|
100
|
+
MUMPS_INT info[80],infog[80];
|
101
|
+
DMUMPS_REAL rinfo[40], rinfog[40];
|
102
|
+
|
103
|
+
/* Null space */
|
104
|
+
MUMPS_INT deficiency;
|
105
|
+
MUMPS_INT *pivnul_list;
|
106
|
+
MUMPS_INT *mapping;
|
107
|
+
|
108
|
+
/* Schur */
|
109
|
+
MUMPS_INT size_schur;
|
110
|
+
MUMPS_INT *listvar_schur;
|
111
|
+
DMUMPS_COMPLEX *schur;
|
112
|
+
|
113
|
+
/* Internal parameters */
|
114
|
+
MUMPS_INT instance_number;
|
115
|
+
DMUMPS_COMPLEX *wk_user;
|
116
|
+
|
117
|
+
/* Version number: length=14 in FORTRAN + 1 for final \0 + 1 for alignment */
|
118
|
+
char version_number[MUMPS_VERSION_MAX_LEN + 1 + 1];
|
119
|
+
/* For out-of-core */
|
120
|
+
char ooc_tmpdir[256];
|
121
|
+
char ooc_prefix[64];
|
122
|
+
/* To save the matrix in matrix market format */
|
123
|
+
char write_problem[256];
|
124
|
+
MUMPS_INT lwk_user;
|
125
|
+
/* For save/restore feature */
|
126
|
+
char save_dir[256];
|
127
|
+
char save_prefix[256];
|
128
|
+
|
129
|
+
/* Metis options */
|
130
|
+
MUMPS_INT metis_options[40];
|
131
|
+
} DMUMPS_STRUC_C;
|
132
|
+
|
133
|
+
|
134
|
+
void MUMPS_CALL
|
135
|
+
dmumps_c( DMUMPS_STRUC_C * dmumps_par );
|
136
|
+
|
137
|
+
#ifdef __cplusplus
|
138
|
+
}
|
139
|
+
#endif
|
140
|
+
|
141
|
+
#endif /* DMUMPS_C_H */
|
142
|
+
|
@@ -0,0 +1,72 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* This file is part of MUMPS 5.4.1, released
|
4
|
+
* on Tue Aug 3 09:49:43 UTC 2021
|
5
|
+
*
|
6
|
+
*
|
7
|
+
* Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
|
8
|
+
* Mumps Technologies, University of Bordeaux.
|
9
|
+
*
|
10
|
+
* This version of MUMPS is provided to you free of charge. It is
|
11
|
+
* released under the CeCILL-C license
|
12
|
+
* (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
|
13
|
+
* https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
|
17
|
+
|
18
|
+
#ifndef MUMPS_C_TYPES_H
|
19
|
+
#define MUMPS_C_TYPES_H
|
20
|
+
|
21
|
+
#include <stdint.h>
|
22
|
+
|
23
|
+
/* mumps_int_def.h will define either MUMPS_INTSIZE32 (default)
|
24
|
+
or MUMPS_INTSIZE64 (if compilation is with -DINTSIZE64 to
|
25
|
+
match Fortran -i8 or equivalent option). This allows one to
|
26
|
+
test from an external code whether MUMPS_INT is 64bits or not */
|
27
|
+
#include "mumps_int_def.h"
|
28
|
+
|
29
|
+
#ifdef MUMPS_INTSIZE64
|
30
|
+
#define MUMPS_INT int64_t
|
31
|
+
#else
|
32
|
+
#define MUMPS_INT int
|
33
|
+
#endif
|
34
|
+
|
35
|
+
#define MUMPS_INT8 int64_t
|
36
|
+
|
37
|
+
#define SMUMPS_COMPLEX float
|
38
|
+
#define SMUMPS_REAL float
|
39
|
+
|
40
|
+
#define DMUMPS_COMPLEX double
|
41
|
+
#define DMUMPS_REAL double
|
42
|
+
|
43
|
+
/* Complex datatypes */
|
44
|
+
typedef struct {float r,i;} mumps_complex;
|
45
|
+
typedef struct {double r,i;} mumps_double_complex;
|
46
|
+
|
47
|
+
#define CMUMPS_COMPLEX mumps_complex
|
48
|
+
#define CMUMPS_REAL float
|
49
|
+
|
50
|
+
#define ZMUMPS_COMPLEX mumps_double_complex
|
51
|
+
#define ZMUMPS_REAL double
|
52
|
+
|
53
|
+
|
54
|
+
#ifndef mumps_ftnlen
|
55
|
+
/* When passing a string, what is the type of the extra argument
|
56
|
+
* passed by value ? */
|
57
|
+
# define mumps_ftnlen MUMPS_INT
|
58
|
+
#endif
|
59
|
+
|
60
|
+
|
61
|
+
#define MUMPS_ARITH_s 1
|
62
|
+
#define MUMPS_ARITH_d 2
|
63
|
+
#define MUMPS_ARITH_c 4
|
64
|
+
#define MUMPS_ARITH_z 8
|
65
|
+
|
66
|
+
#define MUMPS_ARITH_REAL ( MUMPS_ARITH_s | MUMPS_ARITH_d )
|
67
|
+
#define MUMPS_ARITH_CMPLX ( MUMPS_ARITH_c | MUMPS_ARITH_z )
|
68
|
+
#define MUMPS_ARITH_SINGLE ( MUMPS_ARITH_s | MUMPS_ARITH_c )
|
69
|
+
#define MUMPS_ARITH_DBL ( MUMPS_ARITH_d | MUMPS_ARITH_z )
|
70
|
+
|
71
|
+
|
72
|
+
#endif /* MUMPS_C_TYPES_H */
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/* mumps_compat.h. Generated from mumps_compat.h.in by configure. */
|
2
|
+
/* mumps_compat.h.in. */
|
3
|
+
|
4
|
+
#ifndef MUMPS_COMPAT_H
|
5
|
+
#define MUMPS_COMPAT_H
|
6
|
+
|
7
|
+
#ifndef MUMPS_CALL
|
8
|
+
/* Define Mumps calling convention. */
|
9
|
+
#define MUMPS_CALL
|
10
|
+
#endif
|
11
|
+
|
12
|
+
/* tell using codes that we changed mpi.h to mumps_mpi.h */
|
13
|
+
#define COIN_USE_MUMPS_MPI_H
|
14
|
+
|
15
|
+
/* copied from MUMPS' own mumps_compat.h */
|
16
|
+
#if defined(_WIN32) && ! defined(__MINGW32__)
|
17
|
+
# define MUMPS_WIN32 1
|
18
|
+
#endif
|
19
|
+
|
20
|
+
#if (__STDC_VERSION__ >= 199901L)
|
21
|
+
# define MUMPS_INLINE static inline
|
22
|
+
#else
|
23
|
+
# define MUMPS_INLINE
|
24
|
+
#endif
|
25
|
+
|
26
|
+
|
27
|
+
#endif /* MUMPS_COMPAT_H */
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/* mumps_int_def.h. Generated from mumps_int_def.h.in by configure. */
|
2
|
+
#ifndef MUMPS_INT_H
|
3
|
+
#define MUMPS_INT_H
|
4
|
+
|
5
|
+
/* Define if MUMPS integers have a size of 32-bit */
|
6
|
+
#define MUMPS_INTSIZE32 /**/
|
7
|
+
|
8
|
+
/* Define if MUMPS integers have a size of 64-bit */
|
9
|
+
/* #undef MUMPS_INTSIZE64 */
|
10
|
+
|
11
|
+
#endif
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/*
|
2
|
+
*
|
3
|
+
* This file is part of MUMPS 5.4.1, released
|
4
|
+
* on Tue Aug 3 09:49:43 UTC 2021
|
5
|
+
*
|
6
|
+
*
|
7
|
+
* Copyright 1991-2021 CERFACS, CNRS, ENS Lyon, INP Toulouse, Inria,
|
8
|
+
* Mumps Technologies, University of Bordeaux.
|
9
|
+
*
|
10
|
+
* This version of MUMPS is provided to you free of charge. It is
|
11
|
+
* released under the CeCILL-C license
|
12
|
+
* (see doc/CeCILL-C_V1-en.txt, doc/CeCILL-C_V1-fr.txt, and
|
13
|
+
* https://cecill.info/licences/Licence_CeCILL-C_V1-en.html)
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
#ifdef INTSIZE64
|
17
|
+
#include <inttypes.h>
|
18
|
+
#define LIBSEQ_INT int64_t
|
19
|
+
#else
|
20
|
+
#define LIBSEQ_INT int
|
21
|
+
#endif
|
22
|
+
|
23
|
+
#if ! defined(LIBSEQ_CALL)
|
24
|
+
#if defined(_WIN32) && ! defined(__MINGW32__)
|
25
|
+
/* Choose between next lines or modify according
|
26
|
+
* to your Windows calling conventions:
|
27
|
+
#define LIBSEQ_CALL
|
28
|
+
#define LIBSEQ_CALL __declspec(dllexport)
|
29
|
+
#define LIBSEQ_CALL __declspec(dllexport) */
|
30
|
+
#define LIBSEQ_CALL
|
31
|
+
#else
|
32
|
+
#define LIBSEQ_CALL
|
33
|
+
#endif
|
34
|
+
#endif
|
35
|
+
|
36
|
+
|
37
|
+
#ifndef MUMPS_MPI_H
|
38
|
+
#define MUMPS_MPI_H
|
39
|
+
|
40
|
+
/* We define all symbols as extern "C" for users who call MUMPS with its
|
41
|
+
libseq from a C++ driver. */
|
42
|
+
#ifdef __cplusplus
|
43
|
+
extern "C" {
|
44
|
+
#endif
|
45
|
+
|
46
|
+
/* This is the minimum to have the C interface to MUMPS work with the
|
47
|
+
* C example provided. Other stub functions of the MPI standard may be
|
48
|
+
* added if needed. */
|
49
|
+
|
50
|
+
typedef LIBSEQ_INT MPI_Comm; /* Simple type for MPI communicator */
|
51
|
+
static MPI_Comm MPI_COMM_WORLD=(MPI_Comm)0;
|
52
|
+
|
53
|
+
LIBSEQ_INT LIBSEQ_CALL MPI_Init(LIBSEQ_INT *pargc, char ***pargv);
|
54
|
+
LIBSEQ_INT LIBSEQ_CALL MPI_Comm_rank(LIBSEQ_INT comm, LIBSEQ_INT *rank);
|
55
|
+
LIBSEQ_INT LIBSEQ_CALL MPI_Finalize(void);
|
56
|
+
|
57
|
+
/* For MPI_IS_IN_PLACE tests */
|
58
|
+
void LIBSEQ_CALL MUMPS_CHECKADDREQUAL(char *a, char*b, LIBSEQ_INT *i);
|
59
|
+
void LIBSEQ_CALL MUMPS_CHECKADDREQUAL_(char *a, char*b, LIBSEQ_INT *i);
|
60
|
+
void LIBSEQ_CALL mumps_checkaddrequal_(char *a, char*b, LIBSEQ_INT *i);
|
61
|
+
void LIBSEQ_CALL mumps_checkaddrequal__(char *a, char*b, LIBSEQ_INT *i);
|
62
|
+
|
63
|
+
#ifdef __cplusplus
|
64
|
+
}
|
65
|
+
#endif
|
66
|
+
|
67
|
+
#endif /* MUMPS_MPI_H */
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#ifndef DAQP_API_H
|
2
|
+
# define DAQP_API_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "daqp.h"
|
9
|
+
#include "daqp_prox.h"
|
10
|
+
#include "bnb.h"
|
11
|
+
|
12
|
+
typedef struct{
|
13
|
+
c_float *x;
|
14
|
+
c_float *lam;
|
15
|
+
c_float fval;
|
16
|
+
c_float soft_slack;
|
17
|
+
|
18
|
+
int exitflag;
|
19
|
+
int iter;
|
20
|
+
int nodes;
|
21
|
+
c_float solve_time;
|
22
|
+
c_float setup_time;
|
23
|
+
|
24
|
+
}DAQPResult;
|
25
|
+
|
26
|
+
void daqp_solve(DAQPResult* res, DAQPWorkspace *work);
|
27
|
+
void daqp_quadprog(DAQPResult* res, DAQPProblem* qp,DAQPSettings* settings);
|
28
|
+
|
29
|
+
int setup_daqp(DAQPProblem *qp, DAQPWorkspace* work, c_float* setup_time);
|
30
|
+
int setup_daqp_ldp(DAQPWorkspace *work, DAQPProblem* qp);
|
31
|
+
int setup_daqp_bnb(DAQPWorkspace* work, int nb, int ns);
|
32
|
+
void allocate_daqp_settings(DAQPWorkspace *work);
|
33
|
+
void allocate_daqp_workspace(DAQPWorkspace *work, int n, int ns);
|
34
|
+
|
35
|
+
void free_daqp_ldp(DAQPWorkspace *work);
|
36
|
+
void free_daqp_workspace(DAQPWorkspace *work);
|
37
|
+
void free_daqp_bnb(DAQPWorkspace* work);
|
38
|
+
|
39
|
+
void daqp_extract_result(DAQPResult* res, DAQPWorkspace* work);
|
40
|
+
void daqp_default_settings(DAQPSettings *settings);
|
41
|
+
|
42
|
+
# ifdef __cplusplus
|
43
|
+
}
|
44
|
+
# endif // ifdef __cplusplus
|
45
|
+
|
46
|
+
#endif //ifndef DAQP_API_H
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#ifndef DAQP_AUX_H
|
2
|
+
# define DAQP_AUX_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "types.h"
|
9
|
+
#include "constants.h"
|
10
|
+
|
11
|
+
void remove_constraint(DAQPWorkspace* work, const int rm_ind);
|
12
|
+
void add_constraint(DAQPWorkspace *work, const int add_ind, c_float lam);
|
13
|
+
void compute_primal_and_fval(DAQPWorkspace *work);
|
14
|
+
int add_infeasible(DAQPWorkspace *work);
|
15
|
+
int remove_blocking(DAQPWorkspace *work);
|
16
|
+
void compute_CSP(DAQPWorkspace *work);
|
17
|
+
void compute_singular_direction(DAQPWorkspace *work);
|
18
|
+
|
19
|
+
void reorder_LDL(DAQPWorkspace *work);
|
20
|
+
void pivot_last(DAQPWorkspace *work);
|
21
|
+
|
22
|
+
int activate_constraints(DAQPWorkspace *work);
|
23
|
+
void deactivate_constraints(DAQPWorkspace *work);
|
24
|
+
|
25
|
+
# ifdef __cplusplus
|
26
|
+
}
|
27
|
+
# endif // ifdef __cplusplus
|
28
|
+
|
29
|
+
#endif //ifndef DAQP_AUX_H
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#ifndef DAQP_BNB_H
|
2
|
+
# define DAQP_BNB_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "types.h"
|
9
|
+
#include "constants.h"
|
10
|
+
#include "daqp.h"
|
11
|
+
|
12
|
+
int daqp_bnb(DAQPWorkspace* work);
|
13
|
+
int process_node(DAQPNode* node, DAQPWorkspace* work);
|
14
|
+
int get_branch_id(DAQPWorkspace* work);
|
15
|
+
void spawn_children(DAQPNode* node, const int branch_id, DAQPWorkspace* work);
|
16
|
+
|
17
|
+
void node_cleanup_workspace(int n_clean, DAQPWorkspace* work);
|
18
|
+
void warmstart_node(DAQPNode* node, DAQPWorkspace* work);
|
19
|
+
void save_warmstart(DAQPNode* node, DAQPWorkspace* work);
|
20
|
+
int add_upper_lower(const int add_id, DAQPWorkspace* work);
|
21
|
+
|
22
|
+
#define LOWER_BIT 16
|
23
|
+
#define EXTRACT_LOWER_FLAG(x) (x>>(LOWER_BIT-1))
|
24
|
+
#define REMOVE_LOWER_FLAG(x) (x&~(1<<LOWER_BIT))
|
25
|
+
#define ADD_LOWER_FLAG(x) (x|(1<<LOWER_BIT))
|
26
|
+
#define TOGGLE_LOWER_FLAG(x) (x^(1<<LOWER_BIT))
|
27
|
+
|
28
|
+
# ifdef __cplusplus
|
29
|
+
}
|
30
|
+
# endif // ifdef __cplusplus
|
31
|
+
|
32
|
+
#endif //ifndef DAQP_BNB_H
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#ifndef DAQP_CODEGEN_H
|
2
|
+
#define DAQP_CODEGEN_H
|
3
|
+
|
4
|
+
#include <stdio.h>
|
5
|
+
#include "types.h"
|
6
|
+
|
7
|
+
void render_daqp_workspace(DAQPWorkspace* work, const char *fname, const char* dir);
|
8
|
+
|
9
|
+
void write_daqp_workspace_h(FILE *f, DAQPWorkspace *work);
|
10
|
+
void write_daqp_workspace_src(FILE *f, DAQPWorkspace *work);
|
11
|
+
void write_daqp_settings_src(FILE* f, DAQPSettings* settings);
|
12
|
+
void write_daqp_bnb_h(FILE* f, DAQPBnB* bnb, const int n);
|
13
|
+
void write_daqp_bnb_src(FILE* f, DAQPBnB* bnb, const int n);
|
14
|
+
|
15
|
+
void write_float_array(FILE *f, c_float* a, const int N, const char *name);
|
16
|
+
void write_int_array(FILE *f, int* a, const int N, const char *name);
|
17
|
+
|
18
|
+
#endif //ifndef DAQP_CODEGEN_H
|
@@ -0,0 +1,92 @@
|
|
1
|
+
#ifndef DAQP_CONSTANTS_H
|
2
|
+
#define DAQP_CONSTANTS_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include <stddef.h>
|
9
|
+
|
10
|
+
#define EMPTY_IND -1
|
11
|
+
#define NX work->n
|
12
|
+
#define N_CONSTR work->m
|
13
|
+
#define N_SIMPLE work->ms
|
14
|
+
#define DAQP_INF ((c_float)1e30)
|
15
|
+
|
16
|
+
// DEFAULT SETTINGS
|
17
|
+
#define DEFAULT_PRIM_TOL 1e-6
|
18
|
+
#define DEFAULT_DUAL_TOL 1e-12
|
19
|
+
#define DEFAULT_ZERO_TOL 1e-11
|
20
|
+
#define DEFAULT_PROG_TOL 1e-14
|
21
|
+
#define DEFAULT_PIVOT_TOL 1e-6
|
22
|
+
#define DEFAULT_CYCLE_TOL 10
|
23
|
+
#define DEFAULT_ETA 1e-6
|
24
|
+
#define DEFAULT_ITER_LIMIT 1000
|
25
|
+
#define DEFAULT_RHO_SOFT 1e-3
|
26
|
+
#define DEFAULT_REL_SUBOPT 0
|
27
|
+
#define DEFAULT_ABS_SUBOPT 0
|
28
|
+
|
29
|
+
// MACROS
|
30
|
+
#define SQUARE(x) ((x)*(x))
|
31
|
+
#define ARSUM(x) ((x)*(x+1)/2)
|
32
|
+
#define R_OFFSET(X,Y) (((2*Y-X-1)*X)/2)
|
33
|
+
|
34
|
+
// EXIT FLAGS
|
35
|
+
#define EXIT_SOFT_OPTIMAL 2
|
36
|
+
#define EXIT_OPTIMAL 1
|
37
|
+
#define EXIT_INFEASIBLE -1
|
38
|
+
#define EXIT_CYCLE -2
|
39
|
+
#define EXIT_UNBOUNDED -3
|
40
|
+
#define EXIT_ITERLIMIT -4
|
41
|
+
#define EXIT_NONCONVEX -5
|
42
|
+
#define EXIT_OVERDETERMINED_INITIAL -6
|
43
|
+
|
44
|
+
// UPDATE LDP MASKS
|
45
|
+
#define UPDATE_Rinv 1
|
46
|
+
#define UPDATE_M 2
|
47
|
+
#define UPDATE_v 4
|
48
|
+
#define UPDATE_d 8
|
49
|
+
#define UPDATE_sense 16
|
50
|
+
|
51
|
+
// CONSTRAINT MASKS
|
52
|
+
#define ACTIVE 1
|
53
|
+
#define IS_ACTIVE(x) (work->sense[x]&1)
|
54
|
+
#define SET_ACTIVE(x) (work->sense[x]|=1)
|
55
|
+
#define SET_INACTIVE(x) (work->sense[x]&=~1)
|
56
|
+
|
57
|
+
// marks if a constraints is active at its lower bound
|
58
|
+
#define LOWER 2
|
59
|
+
#define IS_LOWER(x) (work->sense[x]&2)
|
60
|
+
#define SET_LOWER(x) (work->sense[x]|=2)
|
61
|
+
#define SET_UPPER(x) (work->sense[x]&=~2)
|
62
|
+
|
63
|
+
// marks if a constraint cannot be activated/deactivated
|
64
|
+
#define IMMUTABLE 4
|
65
|
+
#define IS_IMMUTABLE(x) (work->sense[x]&4)
|
66
|
+
#define SET_IMMUTABLE(x) (work->sense[x]|=4)
|
67
|
+
#define SET_MUTABLE(x) (work->sense[x]&=~4)
|
68
|
+
|
69
|
+
// marks that a constraint might be violated (but the slack is penalized)
|
70
|
+
#define SOFT 8
|
71
|
+
#define IS_SOFT(x) (work->sense[x]&8)
|
72
|
+
#define SET_SOFT(x) (work->sense[x]|=8)
|
73
|
+
#define SET_HARD(x) (work->sense[x]&=~8)
|
74
|
+
|
75
|
+
// marks that a constraint has to be active at either its upper or lower bound
|
76
|
+
#define BINARY 16
|
77
|
+
#define IS_BINARY(x) (work->sense[x]&16)
|
78
|
+
|
79
|
+
// marks that the soft slack is at its lower bound (d_ls or d_us)
|
80
|
+
#define SLACK_FIXED 32
|
81
|
+
#define IS_SLACK_FIXED(x) (work->sense[x]&32)
|
82
|
+
#define IS_SLACK_FREE(x) ((work->sense[x]&32)==0)
|
83
|
+
#define SET_SLACK_FIXED(x) (work->sense[x]|=32)
|
84
|
+
#define SET_SLACK_FREE(x) (work->sense[x]&=~32)
|
85
|
+
|
86
|
+
#define IS_SIMPLE(x) (x < work->ms)
|
87
|
+
|
88
|
+
# ifdef __cplusplus
|
89
|
+
}
|
90
|
+
# endif // ifdef __cplusplus
|
91
|
+
|
92
|
+
#endif //ifndef DAQP_CONSTANTS_H
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#ifndef DAQP_H
|
2
|
+
# define DAQP_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "factorization.h"
|
9
|
+
#include "constants.h"
|
10
|
+
#include "auxiliary.h"
|
11
|
+
|
12
|
+
int daqp_ldp(DAQPWorkspace *work);
|
13
|
+
void ldp2qp_solution(DAQPWorkspace *work);
|
14
|
+
|
15
|
+
void warmstart_workspace(DAQPWorkspace* work, int* WS, const int n_active);
|
16
|
+
void reset_daqp_workspace(DAQPWorkspace *work);
|
17
|
+
|
18
|
+
# ifdef __cplusplus
|
19
|
+
}
|
20
|
+
# endif // ifdef __cplusplus
|
21
|
+
|
22
|
+
#endif //ifndef DAQP_H
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#ifndef DAQP_PROX_H
|
2
|
+
# define DAQP_PROX_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "types.h"
|
9
|
+
#include "constants.h"
|
10
|
+
#include "daqp.h"
|
11
|
+
|
12
|
+
int daqp_prox(DAQPWorkspace *work);
|
13
|
+
|
14
|
+
# ifdef __cplusplus
|
15
|
+
}
|
16
|
+
# endif // ifdef __cplusplus
|
17
|
+
|
18
|
+
#endif //ifndef DAQP_PROX_H
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#ifndef DAQP_FACTORIZATION_H
|
2
|
+
# define DAQP_FACTORIZATION_H
|
3
|
+
|
4
|
+
# ifdef __cplusplus
|
5
|
+
extern "C" {
|
6
|
+
# endif // ifdef __cplusplus
|
7
|
+
|
8
|
+
#include "types.h"
|
9
|
+
#include "constants.h"
|
10
|
+
|
11
|
+
void update_LDL_add(DAQPWorkspace *work, const int add_ind);
|
12
|
+
void update_LDL_remove(DAQPWorkspace *work, const int rm_ind);
|
13
|
+
|
14
|
+
# ifdef __cplusplus
|
15
|
+
}
|
16
|
+
# endif // ifdef __cplusplus
|
17
|
+
|
18
|
+
#endif //ifndef DAQP_FACTORIZATION_H
|