% min [phi(x) = (1/2)*<Qx,x> + <b,x>]
%
% using the preconditioned conjugate gradient method (14.56 in
- % Guler). If ``M`` is the identity matrix, we use the slightly
- % faster implementation in conjugate_gradient_method.m.
+ % Guler).
%
% INPUT:
%
%
% We use this in the inner loop.
- sqrt_n = floor(sqrt(length(x0)));
+ n = length(x0);
+ sqrt_n = floor(sqrt(n));
% Set k=0 first, that way the references to xk,rk,zk,dk which
% immediately follow correspond (semantically) to x0,r0,z0,d0.
% So if it's too close to zero, we replace it with something
% comparable but non-zero.
- if (abs(dkQdk) < eps)
- dkQdk = sign(dkQdk)*eps;
+ if (dkQdk < eps)
+ dkQdk = eps;
end
alpha_k = rkzk/dkQdk;