BUG: primaldual.GradientDescent => gradient.GradientDescent