Indeed. I will remove the “Nonconvex” label if you share more of your model so that we can verify that your final result is convex, and if there is a way to express it in an alternate way that satisfies the DCP requirements. But given what you have offered us here, CVX is right to reject it.

On page 2266 the objective function with u and Theta as decision variable and on page 2267 I would like to implement the recursion for Lambda(k+1) (top of the page) and here I have some trouble to programm the 2nd line of equation 5.2 … Theta * D(k) * Theta’

The optimization problem is a convex one but I cannot find the way to program this equation 5.2 in a DCP way.

I didn’t look closely at the paper, but is this something along the lines of D being psd (a covariance matrix) and Theta being psd as the covariance matrix of some matrix A, so that ThetaDTheta’ is the covariance of A*(random vector whose covariance is D), and so would also of necessity be psd? In any event, if Theta is declared semidefinite and D is psd, then indeed ThetaDTheta’ will be psd, even though the construction is not allowed by CVX.

Look, I simply don’t have the bandwidth to scan a paper. You need to help us help you, Marc. You already told us about Theta*D(k)*Theta'. That is is an illegal construction according to the DCP rules. It cannot be used, ever. But it is possible that the larger expression is convex and can be expressed according to the ruleset. I won’t know that, though, if you don’t include the full expression (either in MATLAB/CVX notation or LaTeX) in your posts.

The portfolio covariance at time k I’m trying to implement is the following one: \Gamma(k+1) = \overline{x}^{+}{\overline{x}^{+}}^\intercal(k) \odot \Sigma(k+1) + \\
\quad\quad\quad\quad\quad \Big(\Gamma(k) + \Theta(k)D(k)\Theta^\intercal(k) + \Omega(k)\Theta^\intercal(k) + \Theta(k)\Omega^\intercal(k)\Big)
\odot M(k+1)

where \Sigma(k+1) and M(k+1) are PSD of dimension n * n, \Theta(k) \in \mathbb{R}^{n, nk} and \overline{x}(k) \in \mathbb{R}^{n, 1} D(k) \in \mathbb{R}^{nk, nk} = diag(\Sigma(1), \cdots, \Sigma(k))

Mark you’re right I have to declare my variables as semi-definite but there is still the DCP issue.

I’m still not seeing any evidence of convexity. But I am seeing nonlinear equality constraints, so the likelihood you’re going to solve this with CVX is slim to none.