Disciplined convex programming error:Only scalar quadratic forms can be specified in CVX

Hello,

I am trying to solve this optimization problem. And I know the mistake is because CVX treats all entries separately therefore it is not convex. But I don’t know how to change the code in order to make it work. Does anybody have a hint how to proceed?

Note: X_1T_1 is n by T, U_01T_1 is m by T

MATLAB-code:

 Q_x=eye(T,n);
 R=eye(m);
 I=eye(n);
 X_1T_1=P(1:n,2:T+1);  
     

 cvx_begin   
 variables G_k(T,n) W(n,T) X(m,m)                       
 minimize trace(Q_x*W)+ trace(X)    
 subject to
     X_1T_1*G_k*W*G_k'*X_1T_1'-W+I<=zeros(n);
     -W<=-I;
     -X+sqrt(R)*U_01T_1 *G_k *W*G_k'*U_01T_1'*sqrt(R)<= zeros(m);
      X_0T_1*G_k == I
 cvx_end

G_k*W*G_k' is non-convex, and would be non-convex even if G_K and W were scalars. Even G_k*W and W*G_k' would both be non-convex.