Nonlinear conjugate gradient method