casadi 3.6.4__cp39-none-manylinux2014_i686.whl → 3.6.6__cp39-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,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
|