CVXPY is a famous software as a solver for optimization problems.Nowadays I use it to run a program presented in a paper,the Example 7.1,and the program runs as follows .All matrices are 4 \times 4:

O_0 and O_3 are varibles,the target function is \min\text{tr}(O_0+O_3) and the constraints are :

O_0 \succeq 0,O_3 \succeq 0, O_0 \preceq I, O_3 \preceq I,\left( \begin{matrix}0&0.707&0&0.707\\0&0&0&0\\0&0.707&0&-0.707\\0&0&0&0 \end{matrix}\right)O_0\left( \begin{matrix}0&0&0&0\\0.707&0&0.707&0\\0&0&0&0\\0.707&0&-0.707&0 \end{matrix}\right)+\left(\begin{matrix}0&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&0&1 \end{matrix}\right)O_3\left(\begin{matrix}0&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&0&1 \end{matrix}\right)\succeq\left(\begin{matrix}1&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&0 \end{matrix}\right)\\
\left( \begin{matrix}0&0.707&0&0.707\\0&0&0&0\\0&0.707&0&-0.707\\0&0&0&0 \end{matrix}\right)O_0\left( \begin{matrix}0&0&0&0\\0.707&0&0.707&0\\0&0&0&0\\0.707&0&-0.707&0 \end{matrix}\right)-O_0+\left(\begin{matrix}0&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&0&1 \end{matrix}\right)O_3\left(\begin{matrix}0&0&0&0\\0&1&0&0\\0&0&0&0\\0&0&0&1 \end{matrix}\right)\succeq 0.

The output of the program is: the optimal value is 1.9999988116689815,and O_0=O_3=\left(\begin{matrix}0&0&0&0\\0&0.5&0&0.5\\0&0&0&0\\0&0.5&0&0.5 \end{matrix}\right).

It is not hard to see that the constraints are all in the form of \sum\limits_i\sum\limits_j A_{ij}X_iA_{ij}^T\preceq\text{(or}\succeq\text{)}B,where X_i are variables.However for SDP algorithms(such as interior point method and cutting plane method) what we are dealing with are SDP is in the form of the standard or the dual form.However the above CVXPY solver can directly give the output without converting to standard form or dual form,so I wonder what algorithm does CVXPY actually take.I have read the guidebook of CVXPY but haven’t found out where it is mentioned.I am interested in this problem because I once studied such SDP problems.This problem is also post here.

This is a not forum for cvxpy question. Please visit

for further info. about cvxpy.