In gradient descent we minimize a function $f(\textbf{x})$, by using the update rule:
$$\textbf{x}_{t+1} = \textbf{x}_t-\alpha\nabla f(\textbf{x}_t).$$
We also know, that at each iteration we have $$\nabla f (\textbf{x}_{t+1})^T\nabla f(\textbf{x}_t) = 0.$$
Because of this we have the zig-zag path in gradient descent. In conjugate gradient we use update rule:
$$\textbf{x}_{t+1} = \textbf{x}_t +\beta_t \textbf{d}_t, $$
where $\beta_t$ and $\textbf{d}_t$ are the coefficients and conjugate directions solved by the CG-method. Now my question is embedded in the following picture:
We can see from the image the zig-zag path and the reason for it is clear like I mentioned above, but the problem is understanding why are the conjugate directions the way they are. They look very nice in the picture, but I didn't get the motivation from the theory.
So my question is: Why does the conjugate gradient "route" have this nicer looking pattern than gradient descent? What part of the theory explains this?
Here is one reference I used: Conjugate gradient