Return information
When SCS terminates it will return an ScsInfo struct containing the following fields.
Name |
Type |
Description |
|---|---|---|
|
|
Number of iterations taken |
|
|
Status string (e.g., ‘solved’) |
|
|
Linear system solver used |
|
|
Status integer exit flag |
|
|
Number of updates to the scale parameter (see Dynamic scale updating) |
|
|
Primal objective |
|
|
Dual objective |
|
|
Primal residual (see termination conditions) |
|
|
Dual residual (see termination conditions) |
|
|
Absolute duality gap (see termination conditions) |
|
|
Primal infeasibility residual (see termination conditions) |
|
|
Dual infeasibility residual involving \(A\) (see termination conditions) |
|
|
Dual infeasibility residual involving \(P\) (see termination conditions) |
|
|
Complementary slackness (\(s^\top y\)), should be very close to zero |
|
|
Time taken for setup (milliseconds) |
|
|
Time taken for solve (milliseconds) |
|
|
Final scale parameter, useful for initializing next solve (see Dynamic scale updating) |
|
|
Number of times an AA update was rejected by the safeguarding check (see Acceleration) |
|
|
Number of times an AA update was accepted by the safeguarding check (see Acceleration) |
|
|
Detailed AA solve diagnostics, including rejection causes, last rank, last weight norm, and last regularization |
|
|
Total time (milliseconds) spent in the linear system solver |
|
|
Total time (milliseconds) spent in the cone projection |
|
|
Total time (milliseconds) spent in the acceleration routine |
Anderson acceleration statistics
The aa_stats field contains detailed diagnostics from the Anderson
acceleration linear solves. These counters are useful for diagnosing whether AA
is active and, when AA updates are rejected, why they were rejected.
Name |
Type |
Description |
|---|---|---|
|
|
Internal AA iteration counter |
|
|
Number of AA updates accepted by |
|
|
Number of AA updates rejected because the LAPACK solve failed |
|
|
Number of AA updates rejected because rank truncation produced rank zero |
|
|
Number of AA updates rejected because the AA weight norm was non-finite |
|
|
Number of AA updates rejected because the AA weight norm exceeded the configured cap |
|
|
Number of AA updates rejected by the safeguarding check |
|
|
Rank used in the most recent AA solve |
|
|
AA weight norm from the most recent AA solve, or NaN if no AA solve was attempted |
|
|
Regularization value used in the most recent AA solve |