@@ -244,29 +244,20 @@ static inline void *scs_calloc(size_t count, size_t size) {
244244#define MIN_SCALE_VALUE (1e-6)
245245#define SCALE_NORM NORM /* what norm to use when computing the scale factor */
246246
247- /* Dynamic diagonal rescaling (stgs->adaptive_diag_scale). Multipliers
248- * move by at most (profile ratio)^DIAG_SCALE_DAMP per update. Row
249- * multipliers live in [DIAG_SCALE_MULT_MIN, DIAG_SCALE_MULT_MAX] around
250- * the scalar scale. Column multipliers only ever heat (rho_x_j <= rho_x;
251- * rho_x is a boundary optimum -- the x prox carries no cone so anchoring
252- * healthy columns is pure loss) and are capped at DIAG_SCALE_COL_MULT_MAX:
253- * the dual residual is directly proportional to rho_x_j, so the profile
254- * feedback is fully reflexive and destabilizes (multiplier limit cycles,
255- * perpetual refactor churn) beyond ~2 orders of magnitude of range. The
256- * resulting rho_x_j is additionally floored at DIAG_RHO_X_FLOOR for
257- * factorization health. An update fires when the scalar scale updates, or
258- * when some damped *clamped* step alone exceeds sqrt(10) (a railed scalar
259- * must not freeze the diagonal; a railed multiplier must not keep
260- * triggering updates it cannot take). */
247+ /* Dynamic diagonal rescaling (stgs->adaptive_diag_scale). Row multipliers
248+ * move by at most (profile ratio)^DIAG_SCALE_DAMP per update and live in
249+ * [DIAG_SCALE_MULT_MIN, DIAG_SCALE_MULT_MAX] around the scalar scale. An
250+ * update fires when the scalar scale updates, or when some damped
251+ * *clamped* step alone exceeds sqrt(10) (a railed scalar must not freeze
252+ * the diagonal; a railed multiplier must not keep triggering updates it
253+ * cannot take). */
261254#define DIAG_SCALE_DAMP (0.25)
262255#define DIAG_SCALE_MULT_MIN (1e-3)
263256#define DIAG_SCALE_MULT_MAX (1e3)
264- #define DIAG_SCALE_COL_MULT_MAX (1e2)
265257/* Floor on the row-profile denominators, as a fraction of the block's
266258 * rms denominator (see row_rel_res). Swept over 1e-4..1e-1: every value
267259 * improves on no floor, 1e-3 is the best on solve count. */
268260#define DEN_FLOOR_FRAC (1e-3)
269- #define DIAG_RHO_X_FLOOR (1e-8)
270261
271262/* --- Conjugate gradient (CG) parameters, only used with indirect solver --- */
272263#define CG_BEST_TOL (1e-12)
0 commit comments