author Michael Orlitzky Tue, 26 Mar 2013 00:28:10 +0000 (20:28 -0400) committer Michael Orlitzky Tue, 26 Mar 2013 00:28:10 +0000 (20:28 -0400)

@@ -6,7 +6,7 @@
## stopping condition, so we should too.
##
max_iterations = 100000;
## stopping condition, so we should too.
##
max_iterations = 100000;
-tolerance = 1e-10;
+tolerance = 1e-8;

## First a simple example.
Q = [5,1,2; ...

## First a simple example.
Q = [5,1,2; ...
@@ -57,10 +57,13 @@ for n = [ 5, 10, 25, 50, 100 ]
max_iterations, ...
C, ...
C');
max_iterations, ...
C, ...
C');
-  x_sd = steepest_descent(g, x0, step_size, tolerance, max_iterations);
+  [x_sd, k] = steepest_descent(g, x0, step_size, tolerance, max_iterations);

-  ## Note: pcg() uses the 2-norm.
-  diff = abs(norm(g(x_pcg)) - norm(g(x_sd), 'inf'));
+  diff = norm(x_pcg - x_sd, 'inf');
msg = sprintf("Our steepest descent agrees with Octave's pcg, n=%d.", n);
msg = sprintf("Our steepest descent agrees with Octave's pcg, n=%d.", n);
-  unit_test_equals(msg, true, diff <= tolerance);
+
+  ## There's no good way to choose the tolerance here, since each
+  ## individual algorithm terminates based on the (2,infinity)-norm of