This implements the Semismooth Newton Augmented Lagrangian (SSNAL) Algorithm for convex clustering as described in the paper: https://proceedings.mlr.press/v80/yuan18a.html
The implementation now correctly follows the mathematical formulas from the paper. Recent fixes addressed critical bugs in the SSNCG subproblem solver that were preventing proper convergence.
The following mathematical bugs have been fixed:
-
Dual proximal operator scaling: The
proxdual_pUfunction now correctly scales projection ball radii by thetauparameter (σ·w_ij). -
Active-set handling in Hessian: The semismooth Newton Hessian approximation now correctly zeros out active-set columns, ensuring only inactive constraints contribute to the Newton direction.
- numpy
- scipy
- pylops
- Tests
- Examples
- Performance benchmarking