# Conjugate gradient method of Golub and van Loan

## Contents

Conjugate gradient method could be summarized as follows

### System of equation

For the given system of equation
Ax = b ;
b = source vector
x = solution variable for which we seek the solution
A = coefficient matrix

M = the precondioning matrix constructued by matrix A

### Algorithm

``` Allocate temperary vectors p,z,q
Allocate temerary reals rho_0, rho_1 , alpha, beta

r := b - A$\bullet$x
for i := 1 step 1 until max_itr do
solve (M$\bullet$z = r )
beta := rho_0 / rho_1
p := z + beta$\bullet$p
q := A$\bullet$p
alpha = rho_0 / ( p$\bullet$q  )
x := x + alpha$\bullet$p
r := r - alpha$\bullet$q
rho_1 = rho_0
end (i-loop)

deallocate all temp memory
return TRUE
```

## Reference

Ferziger, J.H. and Peric, M. 2002. "Computational Methods for Fluid Dynamics", 3rd rev. ed., Springer-Verlag, Berlin.