Two gradient descent methods