For linear system $$Ax=b$$ with given preconditioner matrix $$M$$, the preconditioned conjugate gradient method is shown in the following equations.
(1)$\begin{split}x_0 &= 0 \\ r_0 &= b-Ax_0 \\ z_0 &= M^{-1}r_0 \\ \rho_0 &= r_0^Tz_0 \\ \beta_k &= 0 \\\end{split}$
$\begin{split}while\ k<maxIter\ &AND\ ||r_{k}|| > tol*||b|| \\ p_{k} &= z_{k} + \beta_{k-1}p_{k-1} \\ \alpha_k&=\frac{\rho_k}{p_k^TAp_k} \\ x_{k+1} &= x_k+\alpha_kp_k \\ r_{k+1} &= r_k+\alpha_kAp_k \\ z_{k+1} &= M^{-1}r_{k+1} \\ \rho_{k+1} &= r_{k+1}^Tz_{k+1} \\ \beta_k &= \frac{\rho_{k+1}}{\rho_k} \\ k &= k+ 1 \\\end{split}$