xref: /petsc/src/binding/petsc4py/demo/legacy/kspsolve/petsc-cg.tex (revision 5a48edb989d3ea10d6aff6c0e26d581c18691deb)
1*55a74a43SLisandro Dalcin\begin{equation*}
2*55a74a43SLisandro Dalcin\begin{split}
3*55a74a43SLisandro Dalcin& cg(A,x,b,i_{max},\epsilon): \\
4*55a74a43SLisandro Dalcin& \quad i \Leftarrow 0 \\
5*55a74a43SLisandro Dalcin& \quad r \Leftarrow b - A x \\
6*55a74a43SLisandro Dalcin& \quad d \Leftarrow r \\
7*55a74a43SLisandro Dalcin& \quad \delta_{0} \Leftarrow r^T r \\
8*55a74a43SLisandro Dalcin& \quad \delta_{   } \Leftarrow \delta_{0} \\
9*55a74a43SLisandro Dalcin& \quad \text{while}\;\; i < i_{max} \text{ and } \\
10*55a74a43SLisandro Dalcin& \quad\quad\qquad  \delta_{   } > \delta_{0} \epsilon^2 \text{ do} :\\
11*55a74a43SLisandro Dalcin& \quad\quad\quad  q \Leftarrow Ad \\
12*55a74a43SLisandro Dalcin& \quad\quad\quad  \alpha \Leftarrow \frac{\delta_{   }}{d^T q} \\
13*55a74a43SLisandro Dalcin& \quad\quad\quad  x \Leftarrow x + \alpha d\\
14*55a74a43SLisandro Dalcin& \quad\quad\quad  r \Leftarrow r - \alpha q\\
15*55a74a43SLisandro Dalcin& \quad\quad\quad  \delta_{old} \Leftarrow \delta_{   } \\
16*55a74a43SLisandro Dalcin& \quad\quad\quad  \delta_{   } \Leftarrow r^T r \\
17*55a74a43SLisandro Dalcin& \quad\quad\quad  \beta \Leftarrow \frac{\delta_{   }}{\delta_{old}} \\
18*55a74a43SLisandro Dalcin& \quad\quad\quad  d \Leftarrow r + \beta d\\
19*55a74a43SLisandro Dalcin& \quad\quad\quad  i \Leftarrow i + 1
20*55a74a43SLisandro Dalcin\end{split}
21*55a74a43SLisandro Dalcin\end{equation*}
22