ECE720
Homework 5
1. “Hello World” in CVX.
Consider the following complex least e∞-norm problem:
with complex variables x ∈ C n and complex parameters A ∈ C m×n and b ∈ C m. Note that
Generate the problem data as follows:
• m = 30 and n = 100
• A and b can be randomly generated according to Gaussian distribution. The Matlab command will be
A = randn(m,n) + i*randn(m,n); b = randn(m,1) + i*randn(m,1);
Note that Matlab defines variable i as i = √ −1 by default.
(a) Use CVX to solve the problem with complex variables directly.
Hint: You can use norm(x, inf) with complex arguments directly in CVX. CVX rec-ognizes norm(x, inf) as a valid convex function. You need to declare variables to be complex in the variable statement.
(b) We can convert the problem into a SOCP with real variables as follows. First, define the optimization variable as
Then define
Finally, define Ci ∈ R 2×(2n) as a matrix with all zero elements except (Ci)1,i = 1 and (Ci)2,n+i = 1, such that
The equivalent SOCP will be
with optimization variables t ∈ R and z ∈ R 2n .
Solve the above SOCP using CVX.
(c) Verify the optimal solutions and optimal values obtained in two approaches are the same.
(d) Please submit your solution in Blackboard together with your codes.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。