# Matrix Multiplication

Hi, I’m struggling to achieve a simple matrix multiplication :

I have a symmetric Matrix D (3x3) , a Matrix Theta (3x3) (decision variable) and I would like to achieve

Theta * D * Theta’ but get Only scalar quadratic forms can be specified in CVX.

I tried

square(Theta) * D but there I get : Illegal affine combination of convex and/or concave terms detected.

I would be happy if someone could help me solving this issue.

Start by reading Why isn't CVX accepting my model? READ THIS FIRST! .

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.

I’m trying to implement the optim problem of the following paper.

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.

Many thanks for helping me !

The portfolio covariance at time k I’m trying to implement is the following one:

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.

Many thanks Michael for your help , so early in the morning : do you sleep sometimes ?

I spent the whole morning reading the DCP rules and I think the likelihood to solve this with CVX is far away from slim.

Thanks again, really appreciated.