NEWS
CCMMR 0.2.3 (2026-07-21)
- Reduced the computation time of convex_clusterpath() without changing the
loss function values. The C++ solver now computes the fit term of the loss
from maintained aggregates instead of a full matrix product, skips the
fusion scan when no pairwise distance is small enough to trigger a fusion,
and rebuilds the cluster weight matrix directly from the fusion map rather
than forming sparse matrix products.
CCMMR 0.2.2 (2026-06-28)
- Fixed an integer overflow in the computation of the mean squared distance
used to scale the weights in sparse_weights(). For very large numbers of
observations this could produce incorrect weights (in some cases larger
than one).
- Fixed an off-by-one error in the median used to determine the default
fusion threshold, which could return a slightly incorrect value when the
number of pairwise distances was even.
- Added regression tests.
CCMMR 0.2 (2023-12-21)
- Added new option to guarantee a connected weight matrix in
sparse_weights().
- Replaced some inefficient parts of the C++ code.
- Added several options to monitor the algorithm's performance during
minimization. Monitoring can be turned on using the relevant arguments of
convex_clusterpath(). Data gathered while monitoring is part of the
output of convex_clusterpath().