The model provided by this paper:paper is said to be a convex SDP problem which can be stated as follow:
where the variable v_k is ld matrix and tau is a scalar,however in this case,log_det(H v_k*v_k’ *H)and chol()can not be accepted by cvx ,and i try log_det(norm(v_k,2)) instead but it returns the following error:’'Disciplined convex programming error: Invalid computation: geo_mean( {convex} ),So,can someone give me some idea how to make it work by the cvx ,very grateful for your help and thanks a lot.
As I understand it, your only problem is the term
\log | W_k |
which is the log det of W_k. Actually I think you just have to toy a little bit with the determinant property
\det \left( \begin{array}{cc} A & B \\ C & D \end{array} \right) = \det(A)\det(D-CA^{-1}B)
when A is invertible to rewrite the problem as a cvx compatible problem.
Thank you for your attention.
In fact,by adopting this transformation,the term log_det(W_k) become:
\left | W_k \right |=\frac{1}{\left | J_{k} \right |}\begin{vmatrix}-J_k & V_k^{H}H^{H}\\ HV_k & I\end{vmatrix}
and the corresponding cvx code is something like:
cvx_begin sdp
variable tau
variable v(Nt,dk)
maximize(tau )
subject to
[eye(dk*Nt) vec(v);vec(v)' Pd]'>=0
[ eye(Nr*dk) [vec(v)] ;
[vec(v)]' -tau+log_det([-Jk v';v eye(Nr)])] >= 0
cvx_end
which still rejected by the cvx,return the error:"Error using cvxprob/newcnstr (line 123)Both sides of an SDP constraint must be affine."
but thanks for your help anyway
In that case, the only solution that I see is to perform some kind of dichotomy on \tau and solving a feasiblity problem via
\min_{V_k,\eta_k} \quad \eta_k - \log |W_k|
such that
\left[ \begin{array}{cc}
I & b_k \\ b_k^H & *+\eta_k
\end{array} \right]
\geq 0
where * stands for the remaining terms of T_k except \log |W_k|, hoping that cvx is able to handle the cost function. If all minima are negative, the original problem has a solution for the value of \tau.