eps_abs and eps_rel should both be choosable but with reasonable default values
It would be nice to have an option use_kkt to switch between the stop criteria
Before merging, it would be useful to see a plot how the kkt criterion and the two residuals behave over time for some simple example (so x-axis = iteration).
I commented your criterion for now since I would like to check my criterion first.