Gradient Methods Types