## Version 1.1.0

22nd February 2005

# MI25: Unsymmetric system: BiCG (BiConjugate Gradient) method

This routine uses the BiCG (BiConjugate Gradient) method to solve the $$n \times n$$ unsymmetric linear system $$\mathbf{Ax} = \mathbf{b}$$, optionally using preconditioning. If $$\mathbf{P} _L$$, $$\mathbf{P} _R$$ are the preconditioning matrices, the routine actually solves the preconditioned system

$\bar{\mathbf{A}} \bar{\mathbf{x}} = \bar{\mathbf{b}} ,$

with $$\bar{\mathbf{A}} = \mathbf{P} _L \mathbf{A}\mathbf{P} _R$$ and $$\bar{\mathbf{b}} = \mathbf{P} _L \mathbf{b}$$ and recovers the solution $$\mathbf{x} = \mathbf{P} _ R \bar{\mathbf{x}}$$. If $$\mathbf{P} _L = \mathbf{I}$$, preconditioning is said to be from the right, if $$\mathbf{P} _R = \mathbf{I}$$, it is said to be from the left, and otherwise it is from both sides. Reverse communication is used for preconditioning operations $$\mathbf{Pz}$$ and $$\mathbf{P} ^ T \mathbf{z}$$, where $$\mathbf{P} = \mathbf{P} _L \mathbf{P} _R$$, and for matrix-vector products of the form $$\mathbf{Az}$$ and $$\mathbf{A} ^ T \mathbf{z}$$.