How to proceed with such a constraint?

Hello again.
I have been trying to formulate the following constraint to work with CVX:$$ C == \begin{bmatrix} A^TA & A^TB \B^TA & B^TB \end{bmatrix} = \begin{bmatrix} A^T \ B^T \end{bmatrix}\begin{bmatrix} A & B\end{bmatrix} = MM^T$$
Where both, A and B are variables.

I understand this isn’t linear. If I am not mistaken this is a bilinear form, right? So how does one proceed with such a constraint? By “proceed,” I mean any path that will allow me to either formulate this in a way CVX will enjoy or even an estimation that may work. I am also not looking to be spoon fed but to be guided where to go from here. Is attempting such a formulation even possible with CVX?

Thank you for reading.

EDIT: Even just providing a name or subject for such a constraint for me to research would be of great benefit, as I am not even sure what type of constraint this is.

You have a quadratic. I presume your constraint (the point of the right-hand side) is that C is psd? If so, depending on the rest of your problem specification, you may be able to solve it with PENLAB under YALMIP. Whether PENLAB will succeed in finding even a local optimum is another matter.

1 Like

Perplexabot: it is time for you to read the FAQ again. This constraint is completely off limits for CVX, and if you actually follow the FAQ properly you would not have asked the question.

1 Like

Thank you for the tips and your time. I will experiment with what you are saying.

mcg, thank you for replying.

I know this will not work with cvx as is. I know that so well, that I haven’t even put that constraint in cvx to try it : ) I needed help, I was hoping there would be a clever way to make this work with cvx. Maybe apply cvx in a larger algorithm of some sort, maybe somehow linearize this constraint, or come up with a estimate for the optimal value.

Apologies for this post.

OK, I hear you. But it’s important to understand that if you don’t have convexity, all bets are off. It is by no means obvious that trying to force it into a form that CVX accepts is going to help you arrive at a useful answer.

Furthermore, the general modeling help you need to do such a thing (that is, to convexify a nonconvex problem) is simply outside the scope of this forum, which is intended to focus on CVX-specific issues. For that I would recommend Math.SE or similar more general purpose forums.

1 Like

As always, thank you mcg. I understand.