$30
Your assignment should be well-organized, typed (or neatly written and scanned) and saved as a .pdf for submission on Canvas. You must show all of your work to receive full credit. For problems requiring the use of MATLAB code, remember to also submit your .m-files on Canvas as a part of your completed assignment. Your code should be appropriately commented to receive full credit.
Problems
1 The goal of this problem is to explore the use of Tikhonov regularization in solving linear discrete inverse problems. Consider again the Phillips’ test problem, as used in HW3, which can be generated with phillips.m (posted on Canvas; see the ‘Regularization Tools’ manual by P. C. Hansen for the problem description).
Use the phillips function with n = 64 to generate the true solution xtrue, operator matrix G, and noiseless data ytrue. Generate noisy data y by adding a normally distributed perturbation to ytrue with zero mean and standard deviation 10−4. For a number of different regularization parameters α in the range of 10−4 to 1, compute the filter factors
along with the corresponding zeroth-order Tikhonov solution
n uTi
xα =
using of the SVD of G. Use a logarithmic distribution of α values, as generated by MATLAB’s logspace function. For each α, plot both the filter factors and the solution, and comment on your results.
BONUS: Explore higher-order Tikhonov solutions using the finite difference smoothing operators L1 and L2 to regularize with respect to the first and second derivatives of x, respectively. You may make use of MATLAB’s gsvd function and the ‘Regularization Tools’ get l function (posted on Canvas) in computing your solutions. Comment on the “optimal” choice of α and the corresponding solution xα in each case.
2 The aim of this problem is to demonstrate how the Tikhonov solution xα, its norm ||xα||2, and the residual norm ||Gxα − y||2 change as α goes from large values (oversmoothing) to small values (undersmoothing). Use the ‘Regularization Tools’ shaw test problem (posted on Canvas) with n = 32, adding Gaussian noise with zero mean and standard deviation 10−3 to generate the data y.
Use MATLAB’s logspace to generate 20 logarithmically distributed values of α from 10−5 to 10. For each α, compute the corresponding zeroth-order Tikhonov solution xα. Store the solutions xα as the columns of a matrix X, and inspect X (e.g., by means of mesh or surf) to study the progression of xα as α varies from oversmoothing to undersmoothing. Discuss your findings.
For the α values in part (a) (or even more values in the same interval), compute the error norm ||xtrue − xα||2 and plot it versus α. Determine the optimum value of α (i.e., the one that leads to the small error norm) and locate its position on the corresponding L-curve – is it near the “corner”? Discuss.
3 This problem illustrates the difficulty of the TSVD and Tikhonov methods in computing regularized solutions when the true solution is discontinuous. Consider the ‘Regularization Tools’ wing test problem (posted on Canvas), where the solution has two discontinuities. Generate the model problem using wing with n = 100, plot the exact solution xtrue, and notice its form. Using the noiseless data ytrue, compute the TSVD and zerothorder Tikhonov solutions for various regularization parameters. Monitor the solutions and try to find the “best” values of the regularization parameters k and α. Discuss the difficulties in reconstructing the discontinuities of the true solution in each case.
Note: For any of the above problems for which you use MATLAB to help you solve, you must submit your code/.m-files as part of your work. Your code must run in order to receive full credit. If you include any plots, make sure that each has a title, axis labels, and readable font size, and include the final version of your plots as well as the code used to generate them.