Generalmente se utiliza los precondicionadores para acelerar la convergencia de los métodos iterativos. Para resolver el sistema con un precondicionador , el BiCGSTAB precondicionado comienza con una aproximación inicial y procede como sigue:
Elige un vector arbitrario tal que , por ejemplo,
Para
Termina si es lo suficientemente preciso
Esta formulación es equivalente a aplicar el BiCGSTAB sin precondicionamiento al sistema explícitamente precondicionado
con , , . En otras palabras, precondicionamiento a ambas la izquierda y la derecha es posible en esta formulación.
BiCGSTAB puede ser visto como una combinación de BiCG y GMRES en que cada paso de BiCG se sigue por un paso de GMRES() (GMRES reiniciado en cada paso) para reparar el comportamiento irregular de convergencia de CGS, de lo cual BiCGSTAB fue desarrollado como una mejora. No obstante, debido al uso de los polinomios del residuo mínimo de grado uno, la dicha reparación puede no ser eficaz si la matriz tiene pares propios complejos grandes. En tales casos, es probable que BiCGSTAB se estanca como lo confirman los experimentos numéricos.
Se puede esparar que los polinomios del residuo mínimo de grado más alto pueda mejor manejar esta situación. Esto da lugar a los métodos que incluyen BiCGSTAB2[1] y el más general BiCGSTAB().[2] En BiCGSTAB(), un paso de GMRES() sigue cada pasos de BiCG. BiCGSTAB2 es equivalente a BiCGSTAB() con .
↑Gutknecht, M. H. (1993). «Variants of BICGSTAB for Matrices with Complex Spectrum». SIAM Journal on Scientific Computing(en inglés)14 (5): 1020-1033. doi:10.1137/0914062.
Van der Vorst, H. A. (1992). «Bi-CGSTAB: A Fast and Smoothly Converging Variant of Bi-CG for the Solution of Nonsymmetric Linear Systems». SIAM Journal on Scientific and Statistical Computing(en inglés)13: 631-644. doi:10.1137/0913035.