changeset 17423:0b93af1023f6

Merge away extra head
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 16 Sep 2013 10:25:59 -0400
parents 7ad3b9ca66f5 (diff) 096280194ca3 (current diff)
children 8c22a8d42833
files
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/sparse/bicgstab.m	Sun Sep 15 21:36:22 2013 +0200
+++ b/scripts/sparse/bicgstab.m	Mon Sep 16 10:25:59 2013 -0400
@@ -145,7 +145,7 @@
     flag = 1;
 
     for iter = 1:maxit
-      rho_1 = res' * rr;
+      rho_1 = rr' * res;
 
       if (iter == 1)
         p = res;
@@ -163,7 +163,7 @@
       shat = precon (s);
 
       t = Ax (shat);
-      omega = (t' * s) / (t' * t);
+      omega = (s' * t) / (t' * t);
       x = x + alpha * phat + omega * shat;
       res = s - omega * t;
       rho_2 = rho_1;
@@ -248,3 +248,8 @@
 %! [x, flag, relres, iter, resvec] = bicgstab (A, b, tol, [], diag (diag (A)));
 %! assert (x, ones (size (b)), 1e-7);
 
+%!test
+%! A = [1 + 1i, 1 + 1i; 2 - 1i, 2 + 1i];
+%! b = A * [1; 1];
+%! [x, flag, relres, iter, resvec] = bicgstab (A, b);
+%! assert (x, [1; 1], 1e-6);