我正在将CVXPY用于半定程序。在这里,我将对问题使用非常常规的设置。
我有一个变量X
,它是一个PSD矩阵。现在,我想在另一个矩阵W
中使用此变量,该矩阵将逐个元素地构造。另外,我想将此新矩阵W
约束为PSD。
这是我现在实现的方式:
import cvxpy as cp
X = cp.Variable((3,3), PSD=True)
row_1 = cp.hstack((0, 1, X[0,0]))
row_2 = cp.hstack((1, 0, X[1,2]))
row_3 = cp.hstack((X[0,0], X[1,2], 0))
W = cp.vstack((row_1, row_2, row_3))
constraint = [W >> 0]
这是合理的方法还是有更好的方法?