Thank you for your reply! It’s my first time to create the topic. I will take your advice to figure out convex problems. And I have one more problem is I express “A” in objective function(OBJ) with expression U and V, both U and V are consist of the non-convex “HWW’H’”, where “W” is variable matrix(Nt,d) and “H” is (NI,Nt).
The error is
错误使用 *
Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX
.
出错 optim_Wcopy (第 60 行)
M1(:,:,i,m) = H(:,:,i)*W(:,:,m)*W(:,:,m)'*H(:,:,i)';%(NI,NI)intermediate variablesS中间变量,表示H1W1W1H1+H1W2W2W1+H2W1W1H2+H2W2W2H2
cvx_begin
variable W(Nt,d,KI) complex
expression M1(NI,NI,KI,KI)
expression M2(NI,NI,KI)
expression M3(NI,NI,KI)
expression J(NI,NI,KI)
expression U(NI,d,KI)
expression V(d,d,KI)
expression A0(Nt,Nt,KI)
expression A(Nt,Nt)
expression OBJ
for i=1:KI
for m=1:KI
M1(:,:,i,m) = H(:,:,i)*W(:,:,m)*W(:,:,m)'*H(:,:,i)';%(NI,NI)intermediate variablesS中间变量,表示H1W1W1H1+H1W2W2W1+H2W1W1H2+H2W2W2H2
M2(:,:,i) = H(:,:,i)*W(:,:,i)*W(:,:,i)'*H(:,:,i)';%(NI,NI)intermediate variables中间变量,表示H1W1W1H1+H2W2W2H2
M3(:,:,i) = sum(M1(:,:,i,:),4);%(NI,NI)intermediate variables中间变量,m~=i
end
J(:,:,i) = M3(:,:,i) - M2(:,:,i) + sigmaI*eye(NI);%(NI,NI)Jk
U(:,:,i) = (J(:,:,i) + H(:,:,i)*W(:,:,i)*W(:,:,i)'*H(:,:,i)')^(-1)*H(:,:,i)*W(:,:,i) ;%intermediate variables(NI,d)
V(:,:,i) = ( eye(d) - W(:,:,i)'*H(:,:,i)'*(M3(:,:,i)+sigmaI(NI))^(-1)*H(:,:,i)*W(:,:,i) )^(-1);%intermediate variables(d,d)文献中的W
A0(:,:,i) = H(:,:,i)'*U(:,:,i)*V(:,:,i)*U(:,:,i)'*H(:,:,i);%(Nt,Nt)
A = sum(A0,3);%intermediate variables
%OBJ = square_pos(norm(vec(A*W(:,:,i)), 'fro')) - real(trace(V(:,:,i)*U(:,:,i)'*H(:,:,i)*W(:,:,i))) - ...
% - real(trace(V(:,:,i)*W(:,:,i)'*H(:,:,i)'*U(:,:,i))) ;
OBJ = sum(trace(W(:,:,i)'*A*W(:,:,i)),3) - sum(trace(V(:,:,i)*U(:,:,i)'*H(:,:,i)*W(:,:,i)),3) -...
sum(trace(V(:,:,i)*W(:,:,i)'*H(:,:,i)'*U(:,:,i)),3);
end