A problem with log_det and cholesky decomposition


(lusixing) #1

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.


(Dinh) #2

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.


(lusixing) #3

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


(Dinh) #4

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.