Solver settingsΒΆ

The solver settings are displayed in the following table. The settings marked with * can be changed without running the setup method again.

Argument

Description

Allowed values

Default value

device

Device identifier

0 <= device (integer)

0

linsys_solver

Linear systems solver type

See Linear Systems Solvers

qdldl

verbose *

Print output

True/False

True

warm_starting *

Perform warm starting

True/False

True

scaling

Number of scaling iterations

0 (disabled) or 0 < scaling (integer)

10

polishing *

Perform polishing

True/False

False

rho *

ADMM rho step

0 < rho

0.1

rho_is_vec

Is rho a vector?

True/False

True

sigma

ADMM sigma step

0 < sigma

1e-06

alpha *

ADMM relaxation parameter

0 < alpha < 2

1.6

cg_max_iter *

Maximum number of CG iterations per solver

0 < cg_max_iter (integer)

20

cg_tol_reduction *

No. of consecutive CG iterations before the tol is halved

0 < cg_tol_reduction (integer)

10

cg_tol_fraction *

CG tolerance (fraction of ADMM residuals)

0 < cg_tol_fraction < 1

0.15

adaptive_rho

Adaptive rho

True/False

True

adaptive_rho_interval

Adaptive rho interval

0 (automatic) or 0 < adaptive_rho_interval (integer)

0

adaptive_rho_fraction

Adaptive rho interval as fraction of setup time (auto mode)

0 < adaptive_rho_fraction

0.4

adaptive_rho_tolerance

Tolerance for adapting rho

1 <= adaptive_rho_tolerance

5

max_iter *

Maximum number of iterations

0 < max_iter (integer)

4000

eps_abs *

Absolute tolerance

0 <= eps_abs

1e-03

eps_rel *

Relative tolerance

0 <= eps_rel

1e-03

eps_prim_inf *

Primal infeasibility tolerance

0 <= eps_prim_inf

1e-04

eps_dual_inf *

Dual infeasibility tolerance

0 <= eps_dual_inf

1e-04

scaled_termination *

Scaled termination conditions

True/False

False

check_termination *

Check termination interval

0 (disabled) or 0 < check_termination (integer)

25

time_limit *

Runtime limit in seconds

0 < time_limit

1e+10

delta *

Polishing regularization parameter

0 < delta

1e-06

polish_refine_iter *

Refinement iterations in polishing

0 < polish_refine_iter (integer)

3

The boolean values True/False are defined as 1/0 in the C interface.