# Biconjugate gradient stabilized method

### From CFD-Wiki

## 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

Allocate temperary vectors p, phat, s, shat, t, v, rtilde

Allocate temerary reals rho_1, rho_2 , alpha, beta, omega

r := b - Ax

rtilde = r

for i := 1 step 1 until max_itr do rho_1 = rtilder

if i = 1 then p := r else

beta = (rho_1/rho_2) * (alpha/omega)

p = r + beta * (p - omega * v)

end if

solve (Mphat = p )

v = Aphat

alpha = rho_1 / (rtildev)

s = r - alpha * v

solve (Mshat = s )

t = A * shat; omega = (ts) / (tt)

x = x + alpha * phat + omega * shat

r = s - omega * t

rho_2 = rho_1

end (i-loop) deallocate all temp memory

return TRUE