7

You first have to make sure that your system is solvable: this happens iff the right-hand side $b$ is orthogonal to the kernel of $A$. If $A$ has a dimension-1 kernel spanned by $v$, you need to have $v^* b=0$. If that is not the case, then go back to the modelling stage and ask yourself if what you did makes sense. Convergence of iterative methods for ...


6

Wolfgang Bangerth's answer already says almost everything, but another subtle detail is that GMRES/MINRES minimize the norm of the residual, i.e., $\|Ax_k-b\|$, while CG minimizes the (A-)norm of the error, i.e., $\|x_*-x_k\|_A$. In most cases what you really want to minimize is the error, and the residual serves as an imperfect proxy: recall that by the ...


5

In some sense it doesn't matter: In finite dimensions, all norms are equivalent, so if an algorithm conveniently has the property that proving convergence in one norm is easy, then that's what people will choose. In practice, one oftentimes wants to reduce the norm of the residual by a certain factor, and from a practical perspective, a certain reduction in ...


3

Your statement is not correct, I believe. The equivalent condition for the real case is that the iteration will fail if there is a vector $x\in{\mathbb R}^n$ so that $x^T A x = 0$, which is equivalent to saying "the iteration will fail if the matrix $A$ has a zero eigenvalue". Or, equivalently "the iteration will fail if the matrix $A$ has a ...


3

Either of $p_k$ or $r_k$ being zero implies exact convergence in exact arithmetic, so that is never a problem. Conjugate gradient was used as a direct solver for linear systems of equations much before it was used as an iterative solver, because we know that for an $n\times n$ symmetric positive definite linear system CG will converge to the exact solution ...


3

If I understand your question correctly you're solving a linear elasticity problem using conjugate gradient and it's preconditioned with a preconditioned AMG solver? It seems to me that this may be overkill for a pretty well behaved problem, and that could be why you don't see much of a speed-up. Just to elaborate a bit. I think it makes more sense to just ...


2

If you don't care too much about which $b$ you're working with (say just for linear algebra), then you can use the Method of Manufactured Solutions (MMS) in Linear Algebra much like we differential equations geeks would for our problems to start with a known exact solution, $x^*$, derive a $b$, and then apply your solver to see how decent an $x$ you can ...


Only top voted, non community-wiki answers of a minimum length are eligible