https://medium.com/@monocosmo77/understanding-greedy-coordinate-descent-part1-machine-learning-8233e3454c42