Return information

When SCS terminates it will return an ScsInfo struct containing the following fields.

Name

Type

Description

iter

scs_int

Number of iterations taken

status

char *

Status string (e.g., ‘solved’)

lin_sys_solver

char *

Linear system solver used

status_val

scs_int

Status integer exit flag

scale_updates

scs_int

Number of updates to the scale parameter (see Dynamic scale updating)

pobj

scs_float

Primal objective

dobj

scs_float

Dual objective

res_pri

scs_float

Primal residual (see termination conditions)

res_dual

scs_float

Dual residual (see termination conditions)

gap

scs_float

Absolute duality gap (see termination conditions)

res_infeas

scs_float

Primal infeasibility residual (see termination conditions)

res_unbdd_a

scs_float

Dual infeasibility residual involving \(A\) (see termination conditions)

res_unbdd_p

scs_float

Dual infeasibility residual involving \(P\) (see termination conditions)

comp_slack

scs_float

Complementary slackness (\(s^\top y\)), should be very close to zero

setup_time

scs_float

Time taken for setup (milliseconds)

solve_time

scs_float

Time taken for solve (milliseconds)

scale

scs_float

Final scale parameter, useful for initializing next solve (see Dynamic scale updating)

rejected_accel_steps

scs_int

Number of times an AA update was rejected by the safeguarding check (see Acceleration)

accepted_accel_steps

scs_int

Number of times an AA update was accepted by the safeguarding check (see Acceleration)

lin_sys_time

scs_float

Total time (milliseconds) spent in the linear system solver

cone_time

scs_float

Total time (milliseconds) spent in the cone projection

accel_time

scs_float

Total time (milliseconds) spent in the aceleration routine