HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, more specifically in
numerical linear algebra Numerical linear algebra, sometimes called applied linear algebra, is the study of how matrix operations can be used to create computer algorithms which efficiently and accurately provide approximate answers to questions in continuous mathematics. ...
, the biconjugate gradient method is an
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
to solve
systems of linear equations In mathematics, a system of linear equations (or linear system) is a collection of one or more linear equations involving the same variables. For example, :\begin 3x+2y-z=1\\ 2x-2y+4z=-2\\ -x+\fracy-z=0 \end is a system of three equations in th ...
:A x= b.\, Unlike the
conjugate gradient method In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterativ ...
, this algorithm does not require the
matrix Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
A to be
self-adjoint In mathematics, and more specifically in abstract algebra, an element ''x'' of a *-algebra is self-adjoint if x^*=x. A self-adjoint element is also Hermitian, though the reverse doesn't necessarily hold. A collection ''C'' of elements of a sta ...
, but instead one needs to perform multiplications by the
conjugate transpose In mathematics, the conjugate transpose, also known as the Hermitian transpose, of an m \times n complex matrix \boldsymbol is an n \times m matrix obtained by transposing \boldsymbol and applying complex conjugate on each entry (the complex con ...
.


The algorithm

# Choose initial guess x_0\,, two other vectors x_0^* and b^*\, and a
preconditioner In mathematics, preconditioning is the application of a transformation, called the preconditioner, that conditions a given problem into a form that is more suitable for numerical solving methods. Preconditioning is typically related to reducing ...
M\, # r_0 \leftarrow b-A\, x_0\, # r_0^* \leftarrow b^*-x_0^*\, A # p_0 \leftarrow M^ r_0\, # p_0^* \leftarrow r_0^*M^\, # for k=0, 1, \ldots do ## \alpha_k \leftarrow \, ## x_ \leftarrow x_k + \alpha_k \cdot p_k\, ## x_^* \leftarrow x_k^* + \overline\cdot p_k^*\, ## r_ \leftarrow r_k - \alpha_k \cdot A p_k\, ## r_^* \leftarrow r_k^*- \overline \cdot p_k^*\, A ## \beta_k \leftarrow \, ## p_ \leftarrow M^ r_ + \beta_k \cdot p_k\, ## p_^* \leftarrow r_^*M^ + \overline\cdot p_k^*\, In the above formulation, the computed r_k\, and r_k^* satisfy :r_k = b - A x_k,\, :r_k^* = b^* - x_k^*\, A and thus are the respective residuals corresponding to x_k\, and x_k^*, as approximate solutions to the systems :A x = b,\, :x^*\, A = b^*\,; x^* is the
adjoint In mathematics, the term ''adjoint'' applies in several situations. Several of these share a similar formalism: if ''A'' is adjoint to ''B'', then there is typically some formula of the type :(''Ax'', ''y'') = (''x'', ''By''). Specifically, adjoin ...
, and \overline is the
complex conjugate In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, (if a and b are real, then) the complex conjugate of a + bi is equal to a - ...
.


Unpreconditioned version of the algorithm

# Choose initial guess x_0\,, # r_0 \leftarrow b-A\, x_0\, # \hat_0 \leftarrow \hat - \hat_0A # p_0 \leftarrow r_0\, # \hat_0 \leftarrow \hat_0\, # for k=0, 1, \ldots do ## \alpha_k \leftarrow \, ## x_ \leftarrow x_k + \alpha_k \cdot p_k\, ## \hat_ \leftarrow \hat_k + \alpha_k \cdot \hat_k\, ## r_ \leftarrow r_k - \alpha_k \cdot A p_k\, ## \hat_ \leftarrow \hat_k- \alpha_k \cdot \hat_k A ## \beta_k \leftarrow \, ## p_ \leftarrow r_ + \beta_k \cdot p_k\, ## \hat_ \leftarrow \hat_ + \beta_k \cdot \hat_k\,


Discussion

The biconjugate gradient method is numerically unstable (compare to the
biconjugate gradient stabilized method In numerical linear algebra, the biconjugate gradient stabilized method, often abbreviated as BiCGSTAB, is an iterative method developed by H. A. van der Vorst for the numerical solution of nonsymmetric linear systems. It is a variant of the bic ...
), but very important from a theoretical point of view. Define the iteration steps by :x_k:=x_j+ P_k A^\left(b - A x_j \right), :x_k^*:= x_j^*+\left(b^*- x_j^* A \right) P_k A^, where j using the related
projection Projection, projections or projective may refer to: Physics * Projection (physics), the action/process of light, heat, or sound reflecting from a surface to another in a different direction * The display of images by a projector Optics, graphic ...
:P_k:= \mathbf_k \left(\mathbf_k^* A \mathbf_k \right)^ \mathbf_k^* A, with :\mathbf_k=\left _0, u_1, \dots, u_ \right :\mathbf_k=\left _0, v_1, \dots, v_ \right These related projections may be iterated themselves as :P_= P_k+ \left( 1-P_k\right) u_k \otimes . A relation to
Quasi-Newton method Quasi-Newton methods are methods used to either find zeroes or local maxima and minima of functions, as an alternative to Newton's method. They can be used if the Jacobian or Hessian is unavailable or is too expensive to compute at every iteration. ...
s is given by P_k= A_k^ A and x_= x_k- A_^\left(A x_k -b \right), where :A_^= A_k^+ \left( 1-A_k^A\right) u_k \otimes . The new directions :p_k = \left(1-P_k \right) u_k, :p_k^* = v_k^* A \left(1- P_k \right) A^ are then orthogonal to the residuals: :v_i^* r_k= p_i^* r_k=0, :r_k^* u_j = r_k^* p_j= 0, which themselves satisfy :r_k= A \left( 1- P_k \right) A^ r_j, :r_k^*= r_j^* \left( 1- P_k \right) where i,j. The biconjugate gradient method now makes a special choice and uses the setting :u_k = M^ r_k,\, :v_k^* = r_k^* \, M^.\, With this particular choice, explicit evaluations of P_k and are avoided, and the algorithm takes the form stated above.


Properties

* If A= A^*\, is
self-adjoint In mathematics, and more specifically in abstract algebra, an element ''x'' of a *-algebra is self-adjoint if x^*=x. A self-adjoint element is also Hermitian, though the reverse doesn't necessarily hold. A collection ''C'' of elements of a sta ...
, x_0^*= x_0 and b^*=b, then r_k= r_k^*, p_k= p_k^*, and the
conjugate gradient method In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterativ ...
produces the same sequence x_k= x_k^* at half the computational cost. * The sequences produced by the algorithm are biorthogonal, i.e., p_i^*Ap_j=r_i^*M^r_j=0 for i \neq j. * if P_\, is a polynomial with \deg\left(P_\right)+j, then r_k^*P_\left(M^A\right)u_j=0. The algorithm thus produces projections onto the
Krylov subspace In linear algebra, the order-''r'' Krylov subspace generated by an ''n''-by-''n'' matrix ''A'' and a vector ''b'' of dimension ''n'' is the linear subspace spanned by the images of ''b'' under the first ''r'' powers of ''A'' (starting from A^0=I), ...
. * if P_\, is a polynomial with i+\deg\left(P_\right), then v_i^*P_\left(AM^\right)r_k=0.


See also

*
Biconjugate gradient stabilized method In numerical linear algebra, the biconjugate gradient stabilized method, often abbreviated as BiCGSTAB, is an iterative method developed by H. A. van der Vorst for the numerical solution of nonsymmetric linear systems. It is a variant of the bic ...
*
Conjugate gradient method In mathematics, the conjugate gradient method is an algorithm for the numerical solution of particular systems of linear equations, namely those whose matrix is positive-definite. The conjugate gradient method is often implemented as an iterativ ...


References

* * {{Numerical linear algebra Numerical linear algebra Gradient methods