SDP programming problem in CVX


Hi, everybody,

I’m trying to solve a problem with CVX in SDP mode such as follows:

cvx_begin sdp
variables Ps(N) Psi(N);
variable W11(N,N) hermitian toeplitz;
variable W22(N,N) hermitian toeplitz;
minimize -(sum(log(1+Psi.*r1)))
subject to
[W11, diag(Psi);diag(Psi), W22)]>=0;

where N is a constant, r1 is constant vector.

When N<=16, it can work. However, when N beomes larger (e.g. N=32), it will fail. The errors are listed as follows:

??? Index exceeds matrix dimensions.

error in ==> cvxprob/eliminate (line 170)
P = P( :, colX ) + P( :, cols ) * temp;

eroor in ==> cvxprob/solve (line 14)
[ At, cones, sgn, Q, P, dualized ] = eliminate( prob, true );

error in ==> cvx_end (line 77)
solve( prob );

error in ==> test0 (line 154)

I cann’t find out what’s wrong with it. Can anybody help me? Thanks a lot.

(Michael C. Grant) #2

3 posts were merged into an existing topic: CVX_SDP Index exceeds matrix dimensions problem

(Michael C. Grant) #3