How to extract specific matrix after implemeting svd function
Ältere Kommentare anzeigen
I want to solve PEB minimization problem in sort of RIS problem. So I have formulated SDP problem via 'CVX' and at the end of the CVX formulation, using built-in svd(or svds) function to extract RIS phase profile matrix F(with size M times T, M=# of RIS elements and T is # of transmissions). Optimal solution of CVX is X which has size M by M. And X is FF^H. From X F is extracted by using svds as size of M by T.
The code is below,
M = signal.M;
T = signal.T;
% k-th column of identity matrix
e1 = [1; 0; 0];
e2 = [0; 1; 0];
e3 = [0; 0; 1];
% define optimization problem
cvx_begin sdp
variable X(M, M) hermitian
variable u(3, 1)
minimize(sum(u))
subject to
[J_car(1:3, 1:3), e1; e1', u(1)] >= 0;
[J_car(1:3, 1:3), e2; e2', u(2)] >= 0;
[J_car(1:3, 1:3), e3; e3', u(3)] >= 0;
trace(X) == M * T;
X >= 0;
cvx_end
optimX = X;
[U, S, V] = svds(optimX, T);
num_singular_values = min(size(S, 1), T);
optimF = U(:, 1:num_singular_values) * sqrt(S(1:num_singular_values, 1:num_singular_values));
end
and the optimization problem is:

Then my questions are:
- Is it correct method using 'svd' to extract F(size M by T) from optimal solution X?
- If not, what method can I try to? If possible, comment breif code for it.
- It is not programming issue, but about mathematical, Is sum of all elements in auxiliary variable(objective for (12)) same as objective for (11)?
2 Kommentare
Angelo Yeo
am 13 Aug. 2024
It looks like the question is CVX toolbox specific. I'd like to point out CVX Community to you. Thanks.
Yun Sub Tae
am 19 Aug. 2024
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Linear Algebra finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!