# Biconjugate gradient method

(Difference between revisions)
Jump to: navigation, search
 Revision as of 07:07, 14 September 2005 (view source)Zxaar (Talk | contribs)← Older edit Revision as of 08:02, 14 September 2005 (view source)Zxaar (Talk | contribs) Newer edit → Line 12: Line 12: === Algorithm === === Algorithm === - + Has to be added very soon. - Allocate temperary vectors p, phat, s, shat, t, v, rtilde
+ - Allocate temerary reals rho_1, rho_2 , alpha, beta, omega
+ - r := b - A[itex]\bullet[/itex]x
+ - rtilde = r
+ - for i := 1 step 1 until max_itr do + - rho_1 = rtilde[itex]\bullet[/itex]r
+ - if i = 1 then p := r else
+ - beta = (rho_1/rho_2) * (alpha/omega)
+ - p = r + beta * (p - omega * v)
+ - end if
+ - solve (M[itex]\bullet[/itex]phat  = p )
+ - v = A[itex]\bullet[/itex]phat
+ - alpha = rho_1 / (rtilde[itex]\bullet[/itex]v)
+ - s = r - alpha * v
+ - solve (M[itex]\bullet[/itex]shat = s )
+ - t = A * shat; + - omega = (t[itex]\bullet[/itex]s) / (t[itex]\bullet[/itex]t)
+ - x = x + alpha * phat + omega * shat
+ - r = s - omega * t
+ - rho_2 = rho_1
+ - end (i-loop) + - + - deallocate all temp memory
+ - return TRUE
+

## Biconjugate gradient method

Biconjugate gradient method could be summarized as follows

### System of equation

For the given system of equation
Ax = b ;
b = source vector
x = solution variable for which we seek the solution
A = coefficient matrix

M = the precondioning matrix constructued by matrix A

### Algorithm

``` Has to be added very soon.
```