The method of conjugate gradients, a particular version of the general class of conjugate direction methods, was originally developed for solving a linear system of equations$$ Ax = b,$$where $A$ is an $n \times n$ symmetric, positive definite matrix, $x$ is an unknown $n$-vector and $b$ is a fixed $n$-vector. The conjugate gradient method can be viewed as a descent procedure for the problem : Minimize$$(x , Ax) - 2(x, b);$$and through this viewpoint the method can be generalized so as to apply to the solution of general unconstrained minimization problems. For these general problems conjugate gradient methods are among the most effective first order descent procedures.