As AA has been refactored in a class, we should make sure to catch a sneaky bug that can make AA fail silently.
I've already stumbled upon cases where the residual matrix is ill-conditioned, which makes the solution of the quadratic problem associated to AA take very large positive and very small negative values which cancel out.
This bug is not caught by the try - except block paying attention to LinAlgError, and computational time is wasted.
We should make sure to catch this bug in the AA class.
As AA has been refactored in a class, we should make sure to catch a sneaky bug that can make AA fail silently. I've already stumbled upon cases where the residual matrix is ill-conditioned, which makes the solution of the quadratic problem associated to AA take very large positive and very small negative values which cancel out. This bug is not caught by the
try
-except
block paying attention toLinAlgError
, and computational time is wasted.We should make sure to catch this bug in the AA class.
See https://github.com/scikit-learn-contrib/skglm/blob/main/skglm/solvers/cd_solver.py#L295 for more detailed explanation.