NUMERICAL OPTIMISATION
ASSIGNMENT 7
MARTA BETCKE
KIKO RUL·LAN
EXERCISE 1
Implement the Gauss-Newton method for solution of nonlinear least square problems. As Gauss-Newton
is a line search method, it can be easiest implemented inside the function descentLineSearch.m. More
help is provided in Cody Coursework.
Submit your implementation via Cody Coursework. [20pt]
EXERCISE 2 (optional)
You are given an implementation of the Levenberg-Marquardt method. This implementation plugs in
the Levenberg-Marquardt solver solverCMlevenberg.m into the trust region function trustRegion.m.
Briefly answer the following questions about the solver in solverCMlevenberg.m
(i) What is the effect of the for loop in line 36 and what is the reason for sequential execution?
(ii) Explain the formula for calculating the L-M direction p.
(iii) Explain what is q and how it is calculated.
(iv) Explain what is λ and the formula used for its update.
Submit your solution via TurnitIn. [0pt]
EXERCISE 3
Consider a model
ϕ(x1, x2, x3; t) = (x1 + x2t
2) exp(−x3t)
with parameters (x1, x2, x3). Such models are relevant e.g. in optics (photon counting).
Simulate the measurements sampling this model for a fixed choice of parameters (x1, x2, x3) =
(3, 150, 2) at 200 equi-spaced points in ti ∈ (0, 4] and adding Gaussian noise n(ti) ∼ N (0, σ2) drawn
from a normal distribution with 0 mean and standard deviation 5% of the maximal amplitude of the
sampled model signal σ = 0.05 maxti |ϕ(ti)|,
ϕ̃(x1, x2, x3; tj) = ϕ(x1, x2, x3; tj) + n(tj).
(a) Formulate the least-squares problem for fitting the model ϕ and derive its Jacobian.
Submit your solution via TurnitIn. [30pt]
(b) Estimate the parameters (x1, x2, x3) from your simulated measurements using
(i) Gauss-Newton (implemented in Ex 1)
(ii) Levenberg-Marquardt (provided)
Specify all the relevant parameters and explain the results. Visualise the fit by plotting the esti-
mated signal versus the measurements.
Submit your solution via TurnitIn. [50pt]
Remark. The submission to TurnitIn should not exceed 4 pages. Avoid submitting code unless
explicitly asked for and focus on explaining your results.