Trisha Shetty (Editor)

Biconjugate gradient method

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In mathematics, more specifically in numerical linear algebra, the biconjugate gradient method is an algorithm to solve systems of linear equations

Contents

A x = b .

Unlike the conjugate gradient method, this algorithm does not require the matrix A to be self-adjoint, but instead one needs to perform multiplications by the conjugate transpose A*.

The algorithm

  1. Choose initial guess x 0 , two other vectors x 0 and b and a preconditioner M
  2. r 0 b A x 0
  3. r 0 b x 0 A T
  4. p 0 M 1 r 0
  5. p 0 r 0 M 1
  6. for k = 0 , 1 , do
    1. α k r k M 1 r k p k A p k
    2. x k + 1 x k + α k p k
    3. x k + 1 x k + α k ¯ p k
    4. r k + 1 r k α k A p k
    5. r k + 1 r k α k ¯ p k A
    6. β k r k + 1 M 1 r k + 1 r k M 1 r k
    7. p k + 1 M 1 r k + 1 + β k p k
    8. p k + 1 r k + 1 M 1 + β k ¯ 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, and α ¯ is the complex conjugate.

Unpreconditioned version of the algorithm

  1. Choose initial guess x 0 ,
  2. r 0 b A x 0
  3. r ^ 0 b ^ x ^ 0 A T
  4. p 0 r 0
  5. p ^ 0 r ^ 0
  6. for k = 0 , 1 , do
    1. α k r ^ k r k p ^ k A p k
    2. x k + 1 x k + α k p k
    3. x ^ k + 1 x ^ k + α k p ^ k
    4. r k + 1 r k α k A p k
    5. r ^ k + 1 r ^ k α k p ^ k A T
    6. β k r ^ k + 1 r k + 1 r ^ k r k
    7. p k + 1 r k + 1 + β k p k
    8. p ^ k + 1 r ^ k + 1 + β k p ^ k

Discussion

The biconjugate gradient method is numerically unstable (compare to the biconjugate gradient stabilized method), but very important from a theoretical point of view. Define the iteration steps by

x k := x j + P k A 1 ( b A x j ) , x k := x j + ( b x j A ) P k A 1 ,

where j < k using the related projection

P k := u k ( v k A u k ) 1 v k A ,

with

u k = [ u 0 , u 1 , , u k 1 ] , v k = [ v 0 , v 1 , , v k 1 ] .

These related projections may be iterated themselves as

P k + 1 = P k + ( 1 P k ) u k v k A ( 1 P k ) v k A ( 1 P k ) u k .

A relation to Quasi-Newton methods is given by P k = A k 1 A and x k + 1 = x k A k + 1 1 ( A x k b ) , where

A k + 1 1 = A k 1 + ( 1 A k 1 A ) u k v k ( 1 A A k 1 ) v k A ( 1 A k 1 A ) u k .

The new directions

p k = ( 1 P k ) u k , p k = v k A ( 1 P k ) A 1

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 ( 1 P k ) A 1 r j , r k = r j ( 1 P k )

where i , j < k .

The biconjugate gradient method now makes a special choice and uses the setting

u k = M 1 r k , v k = r k M 1 .

With this particular choice, explicit evaluations of P k and A−1 are avoided, and the algorithm takes the form stated above.

Properties

  • If A = A is self-adjoint, x 0 = x 0 and b = b , then r k = r k , p k = p k , and the conjugate gradient method 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 A p j = r i M 1 r j = 0 for i j .
  • if P j is a polynomial with d e g ( P j ) + j < k , then r k P j ( M 1 A ) u j = 0 . The algorithm thus produces projections onto the Krylov subspace.
  • if P i is a polynomial with i + d e g ( P i ) < k , then v i P i ( A M 1 ) r k = 0 .
  • References

    Biconjugate gradient method Wikipedia