How to implement following objective function by using cvx?
where tr(~) denote trace of matrix.
How to implement following objective function by using cvx?
where tr(~) denote trace of matrix.
What is the input data? What are the CVX (optimization) variables or expressions?
After you are clear on that, then you should determine the convexity or not of the objective function. If convex, then what are you having difficulty in implementing?
If everything is input data, except for the X_i 's, you should be able to build up the objective function using a for loop to handle the summation.
Objective = 0
for i = t:t+N-1
Objective = Objective + <current term>
end
minimize(Objective)
Edit: if each X_i is a matrix, then declare X
as a 3-D array, and use X(:,:,i)
for X_i.
Thank you for you advises. I am very sorry for not explaining clearly the problem formulation.
Actually, the problem formulation is
My questions lie in two aspect:
Thanks.
Use a 3D array to declare a sequence of matrix variables:
variable K(m,m,N)
The for loop must be after (“inside”) cvx_begin and variable declarations, and before the minimize statement.
Your serious problem is that if K is the decision variable sequence, the problem is not convex, and can not be handled by CVX. I will assume hte problem is non-convex, unless and until you prove otherwise.Why isn't CVX accepting my model? READ THIS FIRST!
OK.Thanks for your reply and advises.
Actually I really do not assure whether it is convex or not.I just found it from a paper.
I found that cvx can easily handle with optimization problem with matrix decision variable.So I just want to try it but fail. And I didn’t found other toolbox or software can handle matrix decision variable directly.
Thank you