###

# CS-544 Optimization in Computer Vision

## MP 2

Use the augmented Lagrangian method to find a surface that (a) interpolates points given below; (b) has good smoothness, as measured by the norm of the gradient; and (c)
has small area. You should represent the surface as a height map on a 256 x 256 grid, representing the unit square. The points to interpolate are: (0, 0, 1);
(0, 1/2, 0); (0, 1, 1); (1/2, 0, 0); (1/2, 1/2, 1); (1/2, 1, 0); (1, 0, 1); (1, 1/2, 0); (1, 1, 1).
You should use a second order method to do the inner optimization (fminunc) but be careful - you don't want to build a (256x256) x (256x256) Hessian!

You should plot a range of different interpolates, weighing the smoothness against the area. It's clear you can build a surface with area arbitrarily close to 1, but it's spikey. Notice
there are multiple solutions, too. I will talk about this MP in class.

This is a broad MP intended to be educational.