casadi 3.6.5__cp37-none-win_amd64.whl → 3.6.7__cp37-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- casadi/_casadi.pyd +0 -0
- casadi/bin/libtinyxml2.dll +0 -0
- casadi/blasfeo.lib +0 -0
- casadi/casadi-cli.exe +0 -0
- casadi/casadi.lib +0 -0
- casadi/casadi.py +739 -308
- casadi/cbc.exe +0 -0
- casadi/clp.exe +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +7 -14
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +11 -9
- casadi/daqp.lib +0 -0
- casadi/fatrop.lib +0 -0
- casadi/highs.exe +0 -0
- casadi/highs.lib +0 -0
- casadi/hpipm.lib +0 -0
- casadi/include/casadi/casadi.i +3 -0
- 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 +52 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +30 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/mx.hpp +18 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +19 -4
- 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/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +7 -0
- casadi/include/casadi/doc.i +1513 -1016
- casadi/include/casadi/doc_merged.i +965 -719
- casadi/include/casadi/mem.h +1 -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/dlfcn.h +94 -0
- casadi/include/fatrop/auxiliary/Common.hpp +34 -0
- casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
- casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
- casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
- casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
- casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
- casadi/include/fatrop/fatrop.hpp +39 -0
- casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
- casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
- casadi/include/fatrop/json/json.h +946 -0
- casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
- casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
- casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
- casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
- casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
- casadi/include/fatrop/ocp/OCP.hpp +82 -0
- casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
- casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
- casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
- casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
- casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
- casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
- casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
- casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
- casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
- casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
- casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
- casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
- casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
- casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
- casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
- casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
- casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
- casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
- casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
- casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
- casadi/include/fatrop/solver/FatropData.hpp +188 -0
- casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
- casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
- casadi/include/fatrop/solver/FatropStats.hpp +63 -0
- casadi/include/fatrop/solver/Filter.hpp +54 -0
- casadi/include/fatrop/solver/IterationData.hpp +56 -0
- casadi/include/fatrop/solver/LineSearch.hpp +86 -0
- casadi/include/fatrop/solver/NLPL1.hpp +263 -0
- casadi/include/fatrop/templates/NLPAlg.hpp +104 -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/highs_export.h +42 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
- casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
- casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -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/include/sleqp/defs.h +2 -2
- casadi/ipopt.lib +0 -0
- casadi/lapack.lib +0 -0
- casadi/lib/libtinyxml2.dll.a +0 -0
- casadi/libCbc-3.dll +0 -0
- casadi/libCbc.dll.a +0 -0
- casadi/libCbcSolver-3.dll +0 -0
- casadi/libCbcSolver.dll.a +0 -0
- casadi/libCgl-1.dll +0 -0
- casadi/libCgl.dll.a +0 -0
- casadi/libClp-1.dll +0 -0
- casadi/libClp.dll.a +0 -0
- casadi/libClpSolver-1.dll +0 -0
- casadi/libClpSolver.dll.a +0 -0
- casadi/libCoinUtils-3.dll +0 -0
- casadi/libCoinUtils.dll.a +0 -0
- casadi/libOsi-1.dll +0 -0
- casadi/libOsi.dll.a +0 -0
- casadi/libOsiCbc-3.dll +0 -0
- casadi/libOsiCbc.dll.a +0 -0
- casadi/libOsiClp-1.dll +0 -0
- casadi/libOsiClp.dll.a +0 -0
- casadi/libOsiCommonTests-1.dll +0 -0
- casadi/libOsiCommonTests.dll.a +0 -0
- casadi/libalpaqa.dll +0 -0
- casadi/libalpaqa.dll.a +0 -0
- casadi/libblasfeo.dll +0 -0
- casadi/libblasfeo.dll.a +0 -0
- casadi/libbonmin-4.dll +0 -0
- casadi/libbonmin.dll.a +0 -0
- casadi/libcasadi-tp-openblas.dll +0 -0
- casadi/libcasadi-tp-openblas.dll.a +0 -0
- casadi/libcasadi.dll +0 -0
- casadi/libcasadi.dll.a +0 -0
- casadi/libcasadi_conic_cbc.dll +0 -0
- casadi/libcasadi_conic_cbc.dll.a +0 -0
- casadi/libcasadi_conic_clp.dll +0 -0
- casadi/libcasadi_conic_clp.dll.a +0 -0
- casadi/libcasadi_conic_cplex.dll +0 -0
- casadi/libcasadi_conic_cplex.dll.a +0 -0
- casadi/libcasadi_conic_daqp.dll +0 -0
- casadi/libcasadi_conic_daqp.dll.a +0 -0
- casadi/libcasadi_conic_fatrop.dll +0 -0
- casadi/libcasadi_conic_fatrop.dll.a +0 -0
- casadi/libcasadi_conic_gurobi.dll +0 -0
- casadi/libcasadi_conic_gurobi.dll.a +0 -0
- casadi/libcasadi_conic_highs.dll +0 -0
- casadi/libcasadi_conic_highs.dll.a +0 -0
- casadi/libcasadi_conic_hpipm.dll +0 -0
- casadi/libcasadi_conic_hpipm.dll.a +0 -0
- casadi/libcasadi_conic_ipqp.dll +0 -0
- casadi/libcasadi_conic_ipqp.dll.a +0 -0
- casadi/libcasadi_conic_nlpsol.dll +0 -0
- casadi/libcasadi_conic_nlpsol.dll.a +0 -0
- casadi/libcasadi_conic_osqp.dll +0 -0
- casadi/libcasadi_conic_osqp.dll.a +0 -0
- casadi/libcasadi_conic_proxqp.dll +0 -0
- casadi/libcasadi_conic_proxqp.dll.a +0 -0
- casadi/libcasadi_conic_qpoases.dll +0 -0
- casadi/libcasadi_conic_qpoases.dll.a +0 -0
- casadi/libcasadi_conic_qrqp.dll +0 -0
- casadi/libcasadi_conic_qrqp.dll.a +0 -0
- casadi/libcasadi_conic_superscs.dll +0 -0
- casadi/libcasadi_conic_superscs.dll.a +0 -0
- casadi/libcasadi_importer_shell.dll +0 -0
- casadi/libcasadi_importer_shell.dll.a +0 -0
- casadi/libcasadi_integrator_collocation.dll +0 -0
- casadi/libcasadi_integrator_collocation.dll.a +0 -0
- casadi/libcasadi_integrator_cvodes.dll +0 -0
- casadi/libcasadi_integrator_cvodes.dll.a +0 -0
- casadi/libcasadi_integrator_idas.dll +0 -0
- casadi/libcasadi_integrator_idas.dll.a +0 -0
- casadi/libcasadi_integrator_rk.dll +0 -0
- casadi/libcasadi_integrator_rk.dll.a +0 -0
- casadi/libcasadi_interpolant_bspline.dll +0 -0
- casadi/libcasadi_interpolant_bspline.dll.a +0 -0
- casadi/libcasadi_interpolant_linear.dll +0 -0
- casadi/libcasadi_interpolant_linear.dll.a +0 -0
- casadi/libcasadi_linsol_csparse.dll +0 -0
- casadi/libcasadi_linsol_csparse.dll.a +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
- casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
- casadi/libcasadi_linsol_lapacklu.dll +0 -0
- casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
- casadi/libcasadi_linsol_lapackqr.dll +0 -0
- casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
- casadi/libcasadi_linsol_ldl.dll +0 -0
- casadi/libcasadi_linsol_ldl.dll.a +0 -0
- casadi/libcasadi_linsol_lsqr.dll +0 -0
- casadi/libcasadi_linsol_lsqr.dll.a +0 -0
- casadi/libcasadi_linsol_ma27.dll +0 -0
- casadi/libcasadi_linsol_ma27.dll.a +0 -0
- casadi/libcasadi_linsol_mumps.dll +0 -0
- casadi/libcasadi_linsol_mumps.dll.a +0 -0
- casadi/libcasadi_linsol_qr.dll +0 -0
- casadi/libcasadi_linsol_qr.dll.a +0 -0
- casadi/libcasadi_linsol_symbolicqr.dll +0 -0
- casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
- casadi/libcasadi_linsol_tridiag.dll +0 -0
- casadi/libcasadi_linsol_tridiag.dll.a +0 -0
- casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
- casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
- casadi/libcasadi_nlpsol_ampl.dll +0 -0
- casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
- casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_bonmin.dll +0 -0
- casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
- casadi/libcasadi_nlpsol_fatrop.dll +0 -0
- casadi/libcasadi_nlpsol_fatrop.dll.a +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
- casadi/libcasadi_nlpsol_ipopt.dll +0 -0
- casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
- casadi/libcasadi_nlpsol_knitro.dll +0 -0
- casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
- casadi/libcasadi_nlpsol_madnlp.dll +0 -0
- casadi/libcasadi_nlpsol_madnlp.dll.a +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
- casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_scpgen.dll +0 -0
- casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
- casadi/libcasadi_nlpsol_sleqp.dll +0 -0
- casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
- casadi/libcasadi_nlpsol_snopt.dll +0 -0
- casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
- casadi/libcasadi_nlpsol_worhp.dll +0 -0
- casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
- casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
- casadi/libcasadi_rootfinder_kinsol.dll +0 -0
- casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
- casadi/libcasadi_rootfinder_newton.dll +0 -0
- casadi/libcasadi_rootfinder_newton.dll.a +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
- casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
- casadi/libcasadi_sundials_common.dll +0 -0
- casadi/libcasadi_sundials_common.dll.a +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
- casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
- casadi/libcoinmetis-2.dll +0 -0
- casadi/libcoinmetis.dll.a +0 -0
- casadi/libcoinmetis.la +1 -1
- casadi/libcoinmumps-3.dll +0 -0
- casadi/libcoinmumps.dll.a +0 -0
- casadi/libcplex_adaptor.dll +0 -0
- casadi/libdaqp.dll +0 -0
- casadi/libdaqp.dll.a +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/{libFortranHighs.dll → libdl.dll} +0 -0
- casadi/libdl.dll.a +0 -0
- casadi/libfatrop.dll +0 -0
- casadi/libfatrop.dll.a +0 -0
- casadi/libgurobi_adaptor.dll +0 -0
- casadi/libhighs.dll +0 -0
- casadi/libhighs.dll.a +0 -0
- casadi/libhpipm.dll +0 -0
- casadi/libhpipm.dll.a +0 -0
- casadi/libipopt-3.dll +0 -0
- casadi/libipopt.dll.a +0 -0
- casadi/libmatlab_ipc.dll +0 -0
- casadi/libmatlab_ipc.dll.a +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.dll +0 -0
- casadi/libosqp.dll.a +0 -0
- casadi/libqdldl.dll +0 -0
- casadi/libqdldl.dll.a +0 -0
- casadi/libsipopt-3.dll +0 -0
- casadi/libsipopt.dll.a +0 -0
- casadi/libsleqp.dll +0 -0
- casadi/libsleqp.dll.a +0 -0
- casadi/libtinyxml2.dll +0 -0
- casadi/libtrlib.dll +0 -0
- casadi/libtrlib.dll.a +0 -0
- casadi/matlab_ipc.lib +0 -0
- casadi/osqp.lib +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/sleqp.lib +0 -0
- casadi/spral_ssids.exe +0 -0
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/METADATA +2 -2
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/RECORD +503 -325
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.dll.a +0 -0
- {casadi-3.6.5.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
lu_int basiclu_obj_get_factors
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
lu_int rowperm[],
|
5
|
+
lu_int colperm[],
|
6
|
+
lu_int Lcolptr[],
|
7
|
+
lu_int Lrowidx[],
|
8
|
+
double Lvalue[],
|
9
|
+
lu_int Ucolptr[],
|
10
|
+
lu_int Urowidx[],
|
11
|
+
double Uvalue[]
|
12
|
+
);
|
13
|
+
|
14
|
+
/*
|
15
|
+
Purpose:
|
16
|
+
|
17
|
+
Call basiclu_get_factors() on a BASICLU object.
|
18
|
+
|
19
|
+
Return:
|
20
|
+
|
21
|
+
BASICLU_ERROR_invalid_object
|
22
|
+
|
23
|
+
obj is NULL or initialized to a null object.
|
24
|
+
|
25
|
+
Other return codes are passed through from basiclu_get_factors().
|
26
|
+
|
27
|
+
Arguments:
|
28
|
+
|
29
|
+
struct basiclu_object *obj
|
30
|
+
|
31
|
+
Pointer to an initialized BASICLU object.
|
32
|
+
|
33
|
+
The other arguments are passed through to basiclu_get_factors().
|
34
|
+
*/
|
@@ -0,0 +1,46 @@
|
|
1
|
+
lu_int basiclu_obj_initialize
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
lu_int m
|
5
|
+
);
|
6
|
+
|
7
|
+
/*
|
8
|
+
Purpose:
|
9
|
+
|
10
|
+
Initialize a BASICLU object. When m is positive, then *obj is initialized to
|
11
|
+
process matrices of dimension m. When m is zero, then *obj is initialized to
|
12
|
+
a "null" object, which cannot be used for factorization, but can be passed
|
13
|
+
to basiclu_obj_free().
|
14
|
+
|
15
|
+
This routine must be called once before passing obj to any other
|
16
|
+
basiclu_obj_ routine. When obj is initialized to a null object, then the
|
17
|
+
routine can be called again to reinitialize obj.
|
18
|
+
|
19
|
+
Return:
|
20
|
+
|
21
|
+
BASICLU_OK
|
22
|
+
|
23
|
+
*obj successfully initialized.
|
24
|
+
|
25
|
+
BASICLU_ERROR_argument_missing
|
26
|
+
|
27
|
+
obj is NULL.
|
28
|
+
|
29
|
+
BASICLU_ERROR_invalid_argument
|
30
|
+
|
31
|
+
m is negative.
|
32
|
+
|
33
|
+
BASICLU_ERROR_out_of_memory
|
34
|
+
|
35
|
+
insufficient memory to initialize object.
|
36
|
+
|
37
|
+
Arguments:
|
38
|
+
|
39
|
+
struct basiclu_object *obj
|
40
|
+
|
41
|
+
Pointer to the object to be initialized.
|
42
|
+
|
43
|
+
lu_int m
|
44
|
+
|
45
|
+
The dimension of matrices which can be processed, or 0.
|
46
|
+
*/
|
@@ -0,0 +1,29 @@
|
|
1
|
+
lu_int basiclu_obj_solve_dense
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
const double rhs[],
|
5
|
+
double lhs[],
|
6
|
+
char trans
|
7
|
+
);
|
8
|
+
|
9
|
+
/*
|
10
|
+
Purpose:
|
11
|
+
|
12
|
+
Call basiclu_solve_dense() on a BASICLU object.
|
13
|
+
|
14
|
+
Return:
|
15
|
+
|
16
|
+
BASICLU_ERROR_invalid_object
|
17
|
+
|
18
|
+
obj is NULL or initialized to a null object.
|
19
|
+
|
20
|
+
Other return codes are passed through from basiclu_solve_dense().
|
21
|
+
|
22
|
+
Arguments:
|
23
|
+
|
24
|
+
struct basiclu_object *obj
|
25
|
+
|
26
|
+
Pointer to an initialized BASICLU object.
|
27
|
+
|
28
|
+
The other arguments are passed through to basiclu_solve_dense().
|
29
|
+
*/
|
@@ -0,0 +1,42 @@
|
|
1
|
+
lu_int basiclu_obj_solve_for_update
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
lu_int nzrhs,
|
5
|
+
const lu_int irhs[],
|
6
|
+
const double xrhs[],
|
7
|
+
char trans,
|
8
|
+
lu_int want_solution
|
9
|
+
);
|
10
|
+
|
11
|
+
/*
|
12
|
+
Purpose:
|
13
|
+
|
14
|
+
Call basiclu_solve_for_update() on a BASICLU object. On success, if the
|
15
|
+
solution was requested, it is provided in obj->lhs and the nonzero pattern
|
16
|
+
is stored in obj->ilhs[0..obj->nzlhs-1].
|
17
|
+
|
18
|
+
Return:
|
19
|
+
|
20
|
+
BASICLU_ERROR_invalid_object
|
21
|
+
|
22
|
+
obj is NULL or initialized to a null object.
|
23
|
+
|
24
|
+
BASICLU_ERROR_out_of_memory
|
25
|
+
|
26
|
+
reallocation failed because of insufficient memory.
|
27
|
+
|
28
|
+
Other return codes are passed through from basiclu_solve_for_update().
|
29
|
+
|
30
|
+
Arguments:
|
31
|
+
|
32
|
+
struct basiclu_object *obj
|
33
|
+
|
34
|
+
Pointer to an initialized BASICLU object.
|
35
|
+
|
36
|
+
lu_int want_solution
|
37
|
+
|
38
|
+
Nonzero to compute the solution to the linear system,
|
39
|
+
zero to only prepare the update.
|
40
|
+
|
41
|
+
The other arguments are passed through to basiclu_solve_for_update().
|
42
|
+
*/
|
@@ -0,0 +1,32 @@
|
|
1
|
+
lu_int basiclu_obj_solve_sparse
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
lu_int nzrhs,
|
5
|
+
const lu_int irhs[],
|
6
|
+
const double xrhs[],
|
7
|
+
char trans
|
8
|
+
);
|
9
|
+
|
10
|
+
/*
|
11
|
+
Purpose:
|
12
|
+
|
13
|
+
Call basiclu_solve_sparse() on a BASICLU object. On success, the solution
|
14
|
+
is provided in obj->lhs and the nonzero pattern is stored in
|
15
|
+
obj->ilhs[0..obj->nzlhs-1].
|
16
|
+
|
17
|
+
Return:
|
18
|
+
|
19
|
+
BASICLU_ERROR_invalid_object
|
20
|
+
|
21
|
+
obj is NULL or initialized to a null object.
|
22
|
+
|
23
|
+
Other return codes are passed through from basiclu_solve_sparse().
|
24
|
+
|
25
|
+
Arguments:
|
26
|
+
|
27
|
+
struct basiclu_object *obj
|
28
|
+
|
29
|
+
Pointer to an initialized BASICLU object.
|
30
|
+
|
31
|
+
The other arguments are passed through to basiclu_solve_sparse().
|
32
|
+
*/
|
@@ -0,0 +1,31 @@
|
|
1
|
+
lu_int basiclu_obj_update
|
2
|
+
(
|
3
|
+
struct basiclu_object *obj,
|
4
|
+
double xtbl
|
5
|
+
);
|
6
|
+
|
7
|
+
/*
|
8
|
+
Purpose:
|
9
|
+
|
10
|
+
Call basiclu_update() on a BASICLU object.
|
11
|
+
|
12
|
+
Return:
|
13
|
+
|
14
|
+
BASICLU_ERROR_invalid_object
|
15
|
+
|
16
|
+
obj is NULL or initialized to a null object.
|
17
|
+
|
18
|
+
BASICLU_ERROR_out_of_memory
|
19
|
+
|
20
|
+
reallocation failed because of insufficient memory.
|
21
|
+
|
22
|
+
Other return codes are passed through from basiclu_update().
|
23
|
+
|
24
|
+
Arguments:
|
25
|
+
|
26
|
+
struct basiclu_object *obj
|
27
|
+
|
28
|
+
Pointer to an initialized BASICLU object.
|
29
|
+
|
30
|
+
The other arguments are passed through to basiclu_update().
|
31
|
+
*/
|
@@ -0,0 +1,30 @@
|
|
1
|
+
struct basiclu_object
|
2
|
+
{
|
3
|
+
lu_int *istore;
|
4
|
+
double *xstore;
|
5
|
+
lu_int *Li, *Ui, *Wi;
|
6
|
+
double *Lx, *Ux, *Wx;
|
7
|
+
double *lhs;
|
8
|
+
lu_int *ilhs;
|
9
|
+
lu_int nzlhs;
|
10
|
+
double realloc_factor;
|
11
|
+
};
|
12
|
+
|
13
|
+
/*
|
14
|
+
A variable of type struct basiclu_object must be defined in user code. Its
|
15
|
+
members are set and maintained by basiclu_obj_* routines. User code should only
|
16
|
+
access the following members:
|
17
|
+
|
18
|
+
xstore (read/write)
|
19
|
+
|
20
|
+
set parameters and get info values
|
21
|
+
|
22
|
+
lhs, ilhs, nzlhs (read only)
|
23
|
+
|
24
|
+
holds solution after solve_sparse() and solve_for_update()
|
25
|
+
|
26
|
+
realloc_factor (read/write)
|
27
|
+
|
28
|
+
Arrays are reallocated for max(realloc_factor, 1.0) times the
|
29
|
+
required size. Default: 1.5
|
30
|
+
*/
|
@@ -0,0 +1,75 @@
|
|
1
|
+
lu_int basiclu_solve_dense
|
2
|
+
(
|
3
|
+
lu_int istore[],
|
4
|
+
double xstore[],
|
5
|
+
lu_int Li[],
|
6
|
+
double Lx[],
|
7
|
+
lu_int Ui[],
|
8
|
+
double Ux[],
|
9
|
+
lu_int Wi[],
|
10
|
+
double Wx[],
|
11
|
+
const double rhs[],
|
12
|
+
double lhs[],
|
13
|
+
char trans
|
14
|
+
);
|
15
|
+
|
16
|
+
/*
|
17
|
+
Purpose:
|
18
|
+
|
19
|
+
Given the factorization computed by basiclu_factorize() or basiclu_update()
|
20
|
+
and the dense right-hand side, rhs, solve a linear system for the solution
|
21
|
+
lhs.
|
22
|
+
|
23
|
+
Return:
|
24
|
+
|
25
|
+
BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
|
26
|
+
instance. In this case xstore[BASICLU_STATUS] is not set.
|
27
|
+
|
28
|
+
Otherwise return the status code. See xstore[BASICLU_STATUS] below.
|
29
|
+
|
30
|
+
Arguments:
|
31
|
+
|
32
|
+
lu_int istore[]
|
33
|
+
double xstore[]
|
34
|
+
lu_int Li[]
|
35
|
+
double Lx[]
|
36
|
+
lu_int Ui[]
|
37
|
+
double Ux[]
|
38
|
+
lu_int Wi[]
|
39
|
+
double Wx[]
|
40
|
+
|
41
|
+
Factorization computed by basiclu_factorize() or basiclu_update().
|
42
|
+
|
43
|
+
const double rhs[m]
|
44
|
+
|
45
|
+
The right-hand side vector.
|
46
|
+
|
47
|
+
double lhs[m]
|
48
|
+
|
49
|
+
Uninitialized on entry. On return lhs holds the solution to the linear
|
50
|
+
system.
|
51
|
+
|
52
|
+
lhs and rhs are allowed to overlap. To overwrite rhs with the solution
|
53
|
+
pass pointers to the same array.
|
54
|
+
|
55
|
+
char trans
|
56
|
+
|
57
|
+
Defines which system to solve. 't' or 'T' for the transposed system, any
|
58
|
+
other character for the forward system.
|
59
|
+
|
60
|
+
Info:
|
61
|
+
|
62
|
+
xstore[BASICLU_STATUS]: status code.
|
63
|
+
|
64
|
+
BASICLU_OK
|
65
|
+
|
66
|
+
The linear system has been successfully solved.
|
67
|
+
|
68
|
+
BASICLU_ERROR_argument_missing
|
69
|
+
|
70
|
+
One or more of the pointer/array arguments are NULL.
|
71
|
+
|
72
|
+
BASICLU_ERROR_invalid_call
|
73
|
+
|
74
|
+
The factorization is invalid.
|
75
|
+
*/
|
@@ -0,0 +1,169 @@
|
|
1
|
+
lu_int basiclu_solve_for_update
|
2
|
+
(
|
3
|
+
lu_int istore[],
|
4
|
+
double xstore[],
|
5
|
+
lu_int Li[],
|
6
|
+
double Lx[],
|
7
|
+
lu_int Ui[],
|
8
|
+
double Ux[],
|
9
|
+
lu_int Wi[],
|
10
|
+
double Wx[],
|
11
|
+
lu_int nzrhs,
|
12
|
+
const lu_int irhs[],
|
13
|
+
const double xrhs[],
|
14
|
+
lu_int *p_nzlhs,
|
15
|
+
lu_int ilhs[],
|
16
|
+
double lhs[],
|
17
|
+
char trans
|
18
|
+
);
|
19
|
+
|
20
|
+
/*
|
21
|
+
Purpose:
|
22
|
+
|
23
|
+
Given the factorization computed by basiclu_factorize() or basiclu_update(),
|
24
|
+
solve a linear system in preparation to update the factorization.
|
25
|
+
|
26
|
+
When the forward system is solved, then the right-hand side is the column
|
27
|
+
to be inserted into the factorized matrix. When the transposed system is
|
28
|
+
solved, then the right-hand side is a unit vector with entry 1 in position
|
29
|
+
of the column to be replaced in the factorized matrix.
|
30
|
+
|
31
|
+
For BASICLU to prepare the update, it is sufficient to compute only a
|
32
|
+
partial solution. If the left-hand side is not requested by the user (see
|
33
|
+
below), then only one triangular solve is done. If the left-hand side is
|
34
|
+
requested, then a second triangular solve is required.
|
35
|
+
|
36
|
+
Return:
|
37
|
+
|
38
|
+
BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
|
39
|
+
instance. In this case xstore[BASICLU_STATUS] is not set.
|
40
|
+
|
41
|
+
Otherwise return the status code. See xstore[BASICLU_STATUS] below.
|
42
|
+
|
43
|
+
Arguments:
|
44
|
+
|
45
|
+
lu_int istore[]
|
46
|
+
double xstore[]
|
47
|
+
lu_int Li[]
|
48
|
+
double Lx[]
|
49
|
+
lu_int Ui[]
|
50
|
+
double Ux[]
|
51
|
+
lu_int Wi[]
|
52
|
+
double Wx[]
|
53
|
+
|
54
|
+
Factorization computed by basiclu_factorize() or basiclu_update().
|
55
|
+
|
56
|
+
lu_int nzrhs
|
57
|
+
const lu_int irhs[nzrhs]
|
58
|
+
const double xrhs[nzrhs]
|
59
|
+
|
60
|
+
The right-hand side vector in compressed format.
|
61
|
+
|
62
|
+
When the forward system is solved, irhs[0..nzrhs-1] are the indices of
|
63
|
+
nonzeros and xrhs[0..nzrhs-1] the corresponding values. irhs must not
|
64
|
+
contain duplicates.
|
65
|
+
|
66
|
+
When the transposed system is solved, the right-hand side is a unit
|
67
|
+
vector with entry 1 in position irhs[0]. nzrhs, xrhs and elements of
|
68
|
+
irhs other than irhs[0] are not accessed. xrhs can be NULL.
|
69
|
+
|
70
|
+
lu_int *p_nzlhs
|
71
|
+
lu_int ilhs[m]
|
72
|
+
lu_int lhs[m]
|
73
|
+
|
74
|
+
If any of p_nzlhs, ilhs or lhs is NULL, then the solution to the linear
|
75
|
+
system is not requested. In this case only the update is prepared.
|
76
|
+
|
77
|
+
Otherwise:
|
78
|
+
|
79
|
+
*p_nzlhs is uninitialized on entry. On return *p_nzlhs holds
|
80
|
+
the number of nonzeros in the solution.
|
81
|
+
The contents of ilhs is uninitialized on entry. On return
|
82
|
+
ilhs[0..*p_nzlhs-1] holds the indices of nonzeros in the solution.
|
83
|
+
The contents of lhs must be initialized to zero on entry. On return
|
84
|
+
the solution is scattered into lhs.
|
85
|
+
|
86
|
+
char trans
|
87
|
+
|
88
|
+
Defines which system to solve. 't' or 'T' for the transposed system,
|
89
|
+
any other character for the forward system.
|
90
|
+
|
91
|
+
Parameters:
|
92
|
+
|
93
|
+
xstore[BASICLU_MEMORYL]: length of Li and Lx
|
94
|
+
xstore[BASICLU_MEMORYU]: length of Ui and Ux
|
95
|
+
xstore[BASICLU_MEMORYW]: length of Wi and Wx
|
96
|
+
|
97
|
+
xstore[BASICLU_SPARSE_THRESHOLD]
|
98
|
+
|
99
|
+
Defines which method is used for solving a triangular system. A
|
100
|
+
triangular solve can be done either by the two phase method of Gilbert
|
101
|
+
and Peierls ("sparse solve") or by a sequential pass through the vector
|
102
|
+
("sequential solve").
|
103
|
+
|
104
|
+
When the solution to the linear system is requested, then two triangular
|
105
|
+
systems are solved. The first triangular solve is done sparse. The
|
106
|
+
second triangular solve is done sparse if its right-hand side has not
|
107
|
+
more than m * xstore[BASICLU_SPARSE_THRESHOLD] nonzeros. Otherwise the
|
108
|
+
sequential solve is used.
|
109
|
+
|
110
|
+
When the solution to the linear system is not requested, then this
|
111
|
+
parameter has no effect.
|
112
|
+
|
113
|
+
Default: 0.05
|
114
|
+
|
115
|
+
xstore[BASICLU_DROP_TOLERANCE]
|
116
|
+
|
117
|
+
Nonzeros which magnitude is less than or equal to the drop tolerance
|
118
|
+
are removed after each triangular solve. Default: 1e-20
|
119
|
+
|
120
|
+
Info:
|
121
|
+
|
122
|
+
xstore[BASICLU_STATUS]: status code.
|
123
|
+
|
124
|
+
BASICLU_OK
|
125
|
+
|
126
|
+
The updated has been successfully prepared and, if requested, the
|
127
|
+
solution to the linear system has been computed.
|
128
|
+
|
129
|
+
BASICLU_ERROR_argument_missing
|
130
|
+
|
131
|
+
One or more of the mandatory pointer/array arguments are NULL.
|
132
|
+
|
133
|
+
BASICLU_ERROR_invalid_call
|
134
|
+
|
135
|
+
The factorization is invalid.
|
136
|
+
|
137
|
+
BASICLU_ERROR_maximum_updates
|
138
|
+
|
139
|
+
There have already been m Forrest-Tomlin updates, see
|
140
|
+
xstore[BASICLU_NFORREST]. The factorization cannot be updated any
|
141
|
+
more and must be recomputed by basiclu_factorize().
|
142
|
+
The solution to the linear system has not been computed.
|
143
|
+
|
144
|
+
BASICLU_ERROR_invalid_argument
|
145
|
+
|
146
|
+
The right-hand side is invalid (forward system: nzrhs < 0 or
|
147
|
+
nzrhs > m or one or more indices out of range; backward system:
|
148
|
+
irhs[0] out of range).
|
149
|
+
|
150
|
+
BASICLU_REALLOCATE
|
151
|
+
|
152
|
+
The solve was aborted because of insufficient memory in Li,Lx or
|
153
|
+
Ui,Ux to store data for basiclu_update(). The number of additional
|
154
|
+
elements required is given by
|
155
|
+
|
156
|
+
xstore[BASICLU_ADD_MEMORYL] >= 0
|
157
|
+
xstore[BASICLU_ADD_MEMORYU] >= 0
|
158
|
+
|
159
|
+
The user must reallocate the arrays for which additional memory is
|
160
|
+
required. It is recommended to reallocate for the requested number
|
161
|
+
of additional elements plus some extra space for further updates
|
162
|
+
(e.g. 0.5 times the current array length). The new array lengths
|
163
|
+
must be provided in
|
164
|
+
|
165
|
+
xstore[BASICLU_MEMORYL]: length of Li and Lx
|
166
|
+
xstore[BASICLU_MEMORYU]: length of Ui and Ux
|
167
|
+
|
168
|
+
basiclu_solve_for_update() will start from scratch in the next call.
|
169
|
+
*/
|
@@ -0,0 +1,112 @@
|
|
1
|
+
lu_int basiclu_solve_sparse
|
2
|
+
(
|
3
|
+
lu_int istore[],
|
4
|
+
double xstore[],
|
5
|
+
lu_int Li[],
|
6
|
+
double Lx[],
|
7
|
+
lu_int Ui[],
|
8
|
+
double Ux[],
|
9
|
+
lu_int Wi[],
|
10
|
+
double Wx [],
|
11
|
+
lu_int nzrhs,
|
12
|
+
const lu_int irhs[],
|
13
|
+
const double xrhs[],
|
14
|
+
lu_int *p_nzlhs,
|
15
|
+
lu_int ilhs[],
|
16
|
+
double lhs[],
|
17
|
+
char trans
|
18
|
+
);
|
19
|
+
|
20
|
+
/*
|
21
|
+
Purpose:
|
22
|
+
|
23
|
+
Given the factorization computed by basiclu_factorize() or basiclu_update()
|
24
|
+
and the sparse right-hand side, rhs, solve a linear system for the solution
|
25
|
+
lhs.
|
26
|
+
|
27
|
+
Return:
|
28
|
+
|
29
|
+
BASICLU_ERROR_invalid_store if istore, xstore do not hold a BASICLU
|
30
|
+
instance. In this case xstore[BASICLU_STATUS] is not set.
|
31
|
+
|
32
|
+
Otherwise return the status code. See xstore[BASICLU_STATUS] below.
|
33
|
+
|
34
|
+
Arguments:
|
35
|
+
|
36
|
+
lu_int istore[]
|
37
|
+
double xstore[]
|
38
|
+
lu_int Li[]
|
39
|
+
double Lx[]
|
40
|
+
lu_int Ui[]
|
41
|
+
double Ux[]
|
42
|
+
lu_int Wi[]
|
43
|
+
double Wx[]
|
44
|
+
|
45
|
+
Factorization computed by basiclu_factorize() or basiclu_update().
|
46
|
+
|
47
|
+
lu_int nzrhs
|
48
|
+
const lu_int irhs[nzrhs]
|
49
|
+
const double xrhs[nzrhs]
|
50
|
+
|
51
|
+
The right-hand side vector in compressed format. irhs[0..nzrhs-1] are
|
52
|
+
the indices of nonzeros and xrhs[0..nzrhs-1] the corresponding values.
|
53
|
+
irhs must not contain duplicates.
|
54
|
+
|
55
|
+
lu_int *p_nzlhs
|
56
|
+
lu_int ilhs[m]
|
57
|
+
lu_int lhs[m]
|
58
|
+
|
59
|
+
*p_nzlhs is uninitialized on entry. On return *p_nzlhs holds
|
60
|
+
the number of nonzeros in the solution.
|
61
|
+
The contents of ilhs is uninitialized on entry. On return
|
62
|
+
ilhs[0..*p_nzlhs-1] holds the indices of nonzeros in the solution.
|
63
|
+
The contents lhs must be initialized to zero on entry. On return
|
64
|
+
the solution is scattered into lhs.
|
65
|
+
|
66
|
+
char trans
|
67
|
+
|
68
|
+
Defines which system to solve. 't' or 'T' for the transposed system,
|
69
|
+
any other character for the forward system.
|
70
|
+
|
71
|
+
Parameters:
|
72
|
+
|
73
|
+
xstore[BASICLU_SPARSE_THRESHOLD]
|
74
|
+
|
75
|
+
Defines which method is used for solving a triangular system. A
|
76
|
+
triangular solve can be done either by the two phase method of Gilbert
|
77
|
+
and Peierls ("sparse solve") or by a sequential pass through the vector
|
78
|
+
("sequential solve").
|
79
|
+
|
80
|
+
Solving B*x=b requires two triangular solves. The first triangular solve
|
81
|
+
is done sparse. The second triangular solve is done sparse if its
|
82
|
+
right-hand side has not more than m * xstore[BASICLU_SPARSE_THRESHOLD]
|
83
|
+
nonzeros. Otherwise the sequential solve is used.
|
84
|
+
|
85
|
+
Default: 0.05
|
86
|
+
|
87
|
+
xstore[BASICLU_DROP_TOLERANCE]
|
88
|
+
|
89
|
+
Nonzeros which magnitude is less than or equal to the drop tolerance
|
90
|
+
are removed after each triangular solve. Default: 1e-20
|
91
|
+
|
92
|
+
Info:
|
93
|
+
|
94
|
+
xstore[BASICLU_STATUS]: status code.
|
95
|
+
|
96
|
+
BASICLU_OK
|
97
|
+
|
98
|
+
The linear system has been successfully solved.
|
99
|
+
|
100
|
+
BASICLU_ERROR_argument_missing
|
101
|
+
|
102
|
+
One or more of the pointer/array arguments are NULL.
|
103
|
+
|
104
|
+
BASICLU_ERROR_invalid_call
|
105
|
+
|
106
|
+
The factorization is invalid.
|
107
|
+
|
108
|
+
BASICLU_ERROR_invalid_argument
|
109
|
+
|
110
|
+
The right-hand side is invalid (nzrhs < 0 or nzrhs > m or one or
|
111
|
+
more indices out of range).
|
112
|
+
*/
|