@@ -333,6 +333,7 @@ function SolverCore.solve!(
333333 set_objective! (stats, fk + hk)
334334 set_solver_specific! (stats, :smooth_obj , fk)
335335 set_solver_specific! (stats, :nonsmooth_obj , hk)
336+ set_solver_specific! (stats, :sigma_cauchy , 1 / ν)
336337
337338 # models
338339 φ1 = let ∇fk = ∇fk
@@ -358,6 +359,7 @@ function SolverCore.solve!(
358359
359360 if reduce_TR
360361 prox! (s, ψ, mν∇fk, ν)
362+ set_solver_specific! (stats, :scp_norm , norm (s))
361363 mks = mk1 (s)
362364
363365 ξ1 = hk - mks + max (1 , abs (hk)) * 10 * eps ()
@@ -383,6 +385,7 @@ function SolverCore.solve!(
383385 sNorm = χ (s)
384386
385387 if ! reduce_TR
388+ set_solver_specific! (stats, :scp_norm , norm (s))
386389 sqrt_ξ_νInv = ξ ≥ 0 ? sqrt (ξ / ν) : sqrt (- ξ / ν)
387390 solved = (ξ < 0 && sqrt_ξ_νInv ≤ neg_tol) || (ξ ≥ 0 && sqrt_ξ_νInv < atol)
388391 (ξ < 0 && sqrt_ξ_νInv > neg_tol) &&
@@ -473,10 +476,12 @@ function SolverCore.solve!(
473476 set_time! (stats, time () - start_time)
474477
475478 ν = reduce_TR ? (α * Δk)/ (DNorm + one (T)) : α / (DNorm + one (T))
479+ set_solver_specific! (stats, :sigma_cauchy , 1 / ν)
476480 mν∇fk .= - ν .* ∇fk
477481
478482 if reduce_TR
479483 prox! (s, ψ, mν∇fk, ν)
484+ set_solver_specific! (stats, :scp_norm , norm (s))
480485 ξ1 = hk - mk1 (s) + max (1 , abs (hk)) * 10 * eps ()
481486 sqrt_ξ_νInv = ξ1 ≥ 0 ? sqrt (ξ1 / ν) : sqrt (- ξ1 / ν)
482487 solved = (ξ1 < 0 && sqrt_ξ_νInv ≤ neg_tol) || (ξ1 ≥ 0 && sqrt_ξ_νInv < atol)
@@ -489,6 +494,7 @@ function SolverCore.solve!(
489494 sNorm = χ (s)
490495
491496 if ! reduce_TR
497+ set_solver_specific! (stats, :scp_norm , norm (s))
492498 ξ = hk - mk (s) + max (1 , abs (hk)) * 10 * eps ()
493499 sqrt_ξ_νInv = ξ ≥ 0 ? sqrt (ξ / ν) : sqrt (- ξ / ν)
494500 solved = (ξ < 0 && sqrt_ξ_νInv ≤ neg_tol) || (ξ ≥ 0 && sqrt_ξ_νInv < atol)
0 commit comments