I have gone through Mathematica’s documentation and guides on ConvexOptimization, ParametricConvexOptimization and SemidefiniteOptimization. I am also running the latest version of Mathematica.

The kind of matrix-based, parametric, constrained optimization problems I want to solve is this:

\begin{equation} \min_{X_j, \, L_{jk}} \text{Tr}(A L) \ \text{such that, } X_j \text{ and } L_{jk} \text{ are } 4\times4 \text{ Hermitian matrices} \ G_k \cdot X_j = \delta_{j k}\ L:=\begin{bmatrix}L_{11} &L_{12} &L_{13} \ L_{12} &L_{22} &L_{23} \ L_{13} &L_{23} &L_{33}\end{bmatrix} \succeq \begin{bmatrix} X_1 \ X_2 \ X_3 \end{bmatrix}\begin{bmatrix}X_1 &X_2 &X_3\end{bmatrix} \end{equation} where the variables to be optimized over are $ X_j$ and $ L_{jk}$ ($ j$ and $ k$ run from 1 to 3), which are themselves matrices! The matrices $ G_k$ and $ A$ depend on some parameter $ \alpha$ (and satisfy additional properties).

I have been able to run this kind of optimization in MATLAB, and also a much simpler version of this in Mathematica, where $ j, k=1$ and the parameter value is fixed, using,

`ConvexOptimization[ Tr[\[Rho]0 . v11], {VectorGreaterEqual[{v11, x1}, "SemidefiniteCone"] && Tr[\[Rho]0 . x1] == 0 && Tr[\[Rho]1 . x1] == 1 && Element[x1, Matrices[{4, 4}, Complexes, Hermitian]] && Element[v11, Matrices[{4, 4}, Complexes, Hermitian]]} , {x1, v11}]] `

However I simply can not get the full problem to run on Mathematica, using either ConvexOptimization[ ] (at fixed parameter values), ParametricConvexOptimization[ ], SemidefiniteOptimization[ ], or Minimize[ ].

ConvexOptimization[ ] at fixed parameter values for $ j, k = 1, 2$ shows the warning `ConvexOptimization::ctuc: The curvature (convexity or concavity) of the term X1.X2 in the constraint {{L11,L12},{L12,L22}}Underscript[\[VectorGreaterEqual], Subsuperscript[\[ScriptCapitalS], +, \[FilledSquare]]]{{X1.X1,X1.X2},{X1.X2,X2.X2}} could not be determined.`

Minimize[ ] shows the error `Minimize::vecin: Unable to resolve vector inequalities ...`

And ParametricConvexOptimization[ ] and SemidefiniteOptimization[ ] simply return the input as output.

Has anyone got some experience with running such matrix-based optimizations in Mathematica? Thanks for your help.

EDIT 1: For the two-dimensional case ($ j, k=1, 2$ ) I tried (with $ A$ the identity matrix, and at fixed parameter value):

`ConvexOptimization[ Tr[Tr[ArrayFlatten[{{L11, L12}, {L12, L22}}]]], {VectorGreaterEqual[{ArrayFlatten[{{L11, L12}, {L12, L22}}], ArrayFlatten[{{X1 . X1, X1 . X2}, {X1 . X2, X2 . X2}}]}, "SemidefiniteCone"] && Tr[\[Rho]0 . X1] == 0 && Tr[\[Rho]0 . X2] == 0 && Tr[\[Rho]1 . X1] == 1 && Tr[\[Rho]1 . X2] == 0 && Tr[\[Rho]2 . X1] == 0 && Tr[\[Rho]2 . X2] == 1 && Element[X1, Matrices[{4, 4}, Complexes, Hermitian]] && Element[X2, Matrices[{4, 4}, Complexes, Hermitian]] && Element[L11, Matrices[{4, 4}, Complexes, Hermitian]] && Element[L12, Matrices[{4, 4}, Complexes, Hermitian]] && Element[L22, Matrices[{4, 4}, Complexes, Hermitian]] }, {X1, X2, L11, L12, L22}] `

and for the three-dimensional case ($ j, k = 1, 2, 3$ ) with variable parameter value and $ A$ the identity matrix, I tried

`ParametricConvexOptimization[ Tr[Tr[ArrayFlatten[{{L11, L12, L13}, {L12, L22, L23}, {L13, L23, L33}}]]], {VectorGreaterEqual[{ArrayFlatten[{{L11, L12, L13}, {L12, L22, L23}, {L13, L23, L33}}], ArrayFlatten[{{X1}, {X2}, {X3}}] . Transpose[ArrayFlatten[{{X1}, {X2}, {X3}}]]}, "SemidefiniteCone"], Tr[\[Rho]0 . X1] == 0 , Tr[\[Rho]0 . X2] == 0 , Tr[\[Rho]0 . X3] == 0 , Tr[\[Rho]1 . X1] == 1 , Tr[\[Rho]1 . X2] == 0 , Tr[\[Rho]1 . X3] == 0 , Tr[\[Rho]2 . X1] == 0 , Tr[\[Rho]2 . X2] == 1 , Tr[\[Rho]2 . X3] == 0 , Tr[\[Rho]3 . X1] == 0 , Tr[\[Rho]3 . X2] == 0 , Tr[\[Rho]3 . X3] == 1 }, {Element[X1, Matrices[{4, 4}, Complexes, Hermitian]], Element[X2, Matrices[{4, 4}, Complexes, Hermitian]], Element[X3, Matrices[{4, 4}, Complexes, Hermitian]], Element[L11, Matrices[{4, 4}, Complexes, Hermitian]], Element[L12, Matrices[{4, 4}, Complexes, Hermitian]], Element[L13, Matrices[{4, 4}, Complexes, Hermitian]], Element[L22, Matrices[{4, 4}, Complexes, Hermitian]], Element[L23, Matrices[{4, 4}, Complexes, Hermitian]], Element[L33, Matrices[{4, 4}, Complexes, Hermitian]]}, {\[Alpha]}] `

Here, the $ \rho_{k}$ matrices are the $ G_k$ matrices.