SOCLCP_Solvers (functions)


siconos.numerics.soclcp_VI_ExtraGradient(SecondOrderConeLinearComplementarityProblem *problem, array_like (np.float64, 1D)r, array_like (np.float64, 1D)v, int *info, SolverOptions *options) → None[source]

Extra Gradient solver (VI_EG) for SOCLCP problem based on a VI reformulation.

Parameters:
  • problem – the SOCLCP problem to solve
  • v – global vector (n), in-out parameter
  • r – global vector (n), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number dparam[3] : rho >0

siconos.numerics.soclcp_VI_ExtraGradient_setDefaultSolverOptions(SolverOptions *options) → int[source]

set the default solver parameters and perform memory allocation for VI_EG

Parameters:options – the pointer to the array of options to set

siconos.numerics.soclcp_VI_FixedPointProjection(SecondOrderConeLinearComplementarityProblem *problem, array_like (np.float64, 1D)r, array_like (np.float64, 1D)v, int *info, SolverOptions *options) → None[source]

siconos.numerics.soclcp_VI_FixedPointProjection_setDefaultSolverOptions(SolverOptions *options) → int[source]

set the default solver parameters and perform memory allocation for DSFP

Parameters:options – the pointer to the array of options to set

siconos.numerics.soclcp_checkTrivialCase(SecondOrderConeLinearComplementarityProblem *problem, array_like (np.float64, 1D)v, array_like (np.float64, 1D)r, SolverOptions *options) → int[source]

Check for trivial solution in the SOCLCP problem.

Parameters:
  • problem – SecondOrderConeLinearComplementarityProblem* the problem
  • v – global vector (n), in-out parameter
  • r – global vector (n), in-out parameters
  • options – the pointer to the array of options to set
Returns:

info =0 if a trivial solution has been found, else = -1


siconos.numerics.soclcp_nsgs(SecondOrderConeLinearComplementarityProblem *problem, array_like (np.float64, 1D)r, array_like (np.float64, 1D)v, int *info, SolverOptions *options) → None[source]

Non-Smooth Gauss Seidel solver for SOCLCP problem.

Parameters:
  • problem – the SOCLCP problem to solve
  • v – global vector (n), in-out parameter
  • r – global vector (n), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : [in] iparam[0] : Maximum iteration number [in] iparam[1] : error computation method : 0 : Complete error computation with v computation 1: Light error computation with incremental values on r verification of absolute error at the end 2: only light error computation (v not computed) [out]iparam[7] = iter number of performed iterations [in] iparam[8] : method uses overrelaxation [in] iparam[9] : shuffle the contact indices in the loop
  • dparam[0] user tolerance on the loop [in] dparam[8] the relaxation ([in]) –
  • omega [out] dparam[1] reached error (parameter) –
  • internal (local) solver must set by the SolverOptions options[1] (The) –

siconos.numerics.soclcp_nsgs_computeqLocal(SecondOrderConeLinearComplementarityProblem *problem, SecondOrderConeLinearComplementarityProblem *localproblem, array_like (np.float64, 1D)r, int contact, SolverOptions *options) → None[source]

siconos.numerics.soclcp_nsgs_fillMLocal(SecondOrderConeLinearComplementarityProblem *problem, SecondOrderConeLinearComplementarityProblem *localproblem, int contact) → None[source]

siconos.numerics.soclcp_nsgs_setDefaultSolverOptions(SolverOptions *options) → int[source]

set the default solver parameters and perform memory allocation for NSGS

Parameters:options – the pointer to the array of options to set

siconos.numerics.soclcp_setDefaultSolverOptions(SolverOptions *options, int solverId) → int[source]

set the default solver parameters and perform memory allocation for soclcp

Parameters:
  • options – the pointer to the options to set
  • solverId – the identifier of the solver