%
% * ``k`` - the value of k when we stop; i.e. the number of
% iterations.
+ %
+ % NOTES:
+ %
+ % A specialized implementation for solving e.g. Qx=b can avoid one
+ % matrix-vector multiplication below.
+ %
% The initial gradient at x_{0} is not supplied, so we compute it
% here and begin the loop at k=1.
% - ``alpha`` -- the optimal step size in the negative gradient
% direction.
%
+ % NOTES:
+ %
+ % It is possible to save one matrix-vector multiplication here, by
+ % taking d_k as a parameter. In fact, if the caller is specialized to
+ % our problem (1), we can avoid both matrix-vector multiplications here
+ % at the expense of some added roundoff error.
+ %
% The gradient of f(x) is Qx - b, and d_k is the negative gradient
% direction.