[SOLVED] COPtimzation-Problem Set 1: Convex Optimization

20.99 $

Programming resource
Digital learning resource
Category:
✓ Practical programming resource
✓ Suitable for guided study and reference
✓ Tutor guidance available when needed

Description

Rate this product

Matlab Assignment

Problem 1. Let the set S be described by,

.

  • Use Matlab to draw the set S and investigate its convexity.
  • Show your conclusion in part (a) theoretically.

Problem 2. Let Q1 and Q2 be arbitrary n × n symmetric matrices (n > 2).

  • Use Matlab to draw the set and investigate its convexity.
  • Extra point: Can you show your conclusion in part (a) theoretically?

Problem 3. Let A be a real m×n matrix with a singular value decomposition given by A = UΣV T (as discussed in class). For a positive integer k ≤ min{m,n}, we let Ak denote an m × n matrix which is an

“approximation” of the matrix A obtained from its top k singular values and singular vectors, i.e.,

Ak = UkΣkVkT,

where Uk has the first k columns of U, Vk has the first k columns of V , and Σk is the upper left k × k block of Σ.

  • To provide a good approximation for A, consider the cost function kA − Xk2 where X is restricted to be an m × n matrix with rank(X) ≤ k. It can be shown that Ak is the minimizer of the cost function kA − Xk2. Download the file HajiFirouz.jpg. Read this file in Matlab by typing:

A=imread(’HajiFirouz.jpg’); A=im2double(A) ;

A=rgb2gray(A) ;

Figure 1: Haji Firouz in Problem 8

The result is a 395 × 665 matrix A, with each entry representing a single pixel in the picture with a number between 0 and 1.

For different values of k, use Matlab to compute Ak, construct a compressed image with Ak (You can used the command imwrite), and report the value of kA − Akk2.

  • Based on your experiments in part (a), provide a good compressed image for HajiFirouz and explain your interpretations.

References

[1] Boyd, Stephen, Stephen P. Boyd, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.

Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.