Cannot support cell arrays containing cell arrays or objects

Uncategorized
Jul 18, 2016
S

My MATLAB code is as follows:

N = 3
cvx_begin sdp
variable X(4,4,N+1) symmetric
variable Y(4,4,N) symmetric
minimize(0);
subject to
trace(X(:,:,1))==1;
block_toeplitz(X) + block_hankel(Y) == semidefinite(4*(N+1));
cvx_end

Note that:
1, block_toeplitz(X) & block_hankel(Y) are self-written funtions. Both functions build
block toeplitz and block hankel matrices from given set of matrices.
2. The objective function is supposed to be 0 temporarily.

However, CVX shows:
Cannot support cell arrays containing cell arrays or objects

My problem comes from a paper; the author used YALMIP to solve the problem with pseudo code:
(I just want to implement it in CVX)

How to fix this problem? Thanks

M

It appears that block.toeplitz and block.hankel are right at the heart of matters, but you haven’t provided the code for them.What and why are they doing with cell arrays?

S
Replying to #2

I just find the problem and am fixing it. I will update my problem related to this. Thanks

S

Just make sure if the following is correct:


N=3;
rand(‘state’,1);
A = rand(4,4,N+1);
B = rand(4,4,N)

cvx_begin sdp
variable X(4,4,N+1) symmetric
variable Y(4,4,N) symmetric

**minimize(-(A(:)'X(:)+B(:)'Y(:)));

subject to
trace(X(:,:,1))==1;
block_toeplitz(X) + block_hankel(Y) == semidefinite(4*(N+1));
cvx_end

If the objective function is the following matrices inner product:

< A0,X0 > + < A1,X1 > + < A2,X2 > + < A3,X3 > + < A4,X4 > + < B1,Y1 > + < B2,Y2 > + < B3,Y3 >

with Ai comes from A = rand(4,4,N+1); and Bi comes from B = rand(4,4,N)

then in the matlab code, is my objective function correct? Can I write in that way?

M
Replying to #4

That looks correct to me, presuming you want to maximize the sum of the inner products, given that you are minimizing the negative of the sum.