CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Wiki > Biconjugate gradient method

Biconjugate gradient method

From CFD-Wiki

(Difference between revisions)
Jump to: navigation, search
Line 12: Line 12:
=== Algorithm ===
=== Algorithm ===
-
 
+
   Has to be added very soon.
-
   Allocate temperary vectors p, phat, s, shat, t, v, rtilde  <br>
+
-
  Allocate temerary reals rho_1, rho_2 , alpha, beta, omega <br>
+
-
  r := b - A<math>\bullet</math>x <br>
+
-
  rtilde = r <br>
+
-
  for i := 1 step 1 until max_itr do
+
-
      rho_1 = rtilde<math>\bullet</math>r <br>
+
-
      if i = 1 then p := r else <br>
+
-
        beta = (rho_1/rho_2) * (alpha/omega)<br>
+
-
        p = r + beta * (p - omega * v) <br>
+
-
      end if <br>
+
-
      solve (M<math>\bullet</math>phat  = p ) <br>
+
-
      v = A<math>\bullet</math>phat <br>
+
-
      alpha = rho_1 / (rtilde<math>\bullet</math>v) <br>
+
-
      s = r - alpha * v <br>
+
-
      solve (M<math>\bullet</math>shat = s ) <br>
+
-
      t = A * shat;
+
-
      omega = (t<math>\bullet</math>s) / (t<math>\bullet</math>t) <br>
+
-
      x = x + alpha * phat + omega * shat <br>
+
-
      r = s - omega * t <br>
+
-
      rho_2 = rho_1 <br>
+
-
  end (i-loop)
+
-
 
+
-
  deallocate all temp memory <br>
+
-
  return TRUE <br>
+

Revision as of 08:02, 14 September 2005

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.
My wiki