How to extract specific matrix after implemeting svd function
Mostrar comentarios más antiguos
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 comentarios
Angelo Yeo
el 13 de Ag. de 2024
It looks like the question is CVX toolbox specific. I'd like to point out CVX Community to you. Thanks.
Yun Sub Tae
el 19 de Ag. de 2024
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Solver Outputs and Iterative Display en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!