我正在尝试使用CVXPY最小化以下目标。这就是我使用numpy编写目标的方式:
objective = np.trace(np.pinv(A))
其中A = cvxpy.Variable((n,n))
。请注意,我想要伪逆。假设在一个A为对角线且特征值为正的简单情况下,对所有tr(pinv(A)) > tr(pinv(A[:k, :k]))
来说k < n
。
我尝试使用cvx.MatrixFrac(np.eye(n), A)
,但是它约束A
是可逆的,我不需要,因此得到的值太高。