## Total Variation Denosing by Nonlinear Conjugate Gradient Method

Consider the denoising model:
min TV(u,&tau) + 0.5*&mu*||u-h||^{2}

where the first term is a smoothed total variation of image
`u` that depends on a smoothing parameter `&tau`,
and the quantity `h` in the second term is a given noisy image.
We have implemented a simple nonlinear conjugate gradient (NCG) method
for minimizing the function. The purpose of the project is to
familiarize yourselves with image denoising and an optimization
algorithm involved. The algorithm uses a back-tracking line search
to choose step length. The stopping criterion is either
crit := norm(g)/(1 + abs(f)) < tol;

or the maximum iteration number `maxit` is reached.
Download the zipped file proj1.zip
and open it. Study the codes to know who does what (a
thorough
understanding is not necessary though). Run
the test script test1.m
(you will need image processing toolbox).

Your task is to start from mysolve0.m
and modify it into `mysolve.m` so that it can perform
as well as,
or better than, the instructor's code `zysolve.p` for
the given
parameter values (i.e., `&tau = tol = 1.e-5`). As it
is, `mysolve0.m` is much slower.
The trick is to gradually
decrease `&tau` value. Also experiment with different
values for `&mu` to see its effect.

Submit your code, printout including graphs, and a short, and
typed, report
that explains what you have done and observed.