DLi*_*Lim 6 python cvxopt cvxpy
如何反转 cvxpy 中的变量矩阵?
我有一个问题变量矩阵,定义如下:
import cvxpy as cp
A = cp.Variable(2,2)
Run Code Online (Sandbox Code Playgroud)
我想求解一个具有涉及该矩阵逆的目标函数的程序。我几乎尝试了所有我能想到的方法(包括手动定义逆矩阵),但似乎没有任何效果。
我的问题的完整代码是:
A = cp.Variable((2,2)) # matrix A is 2X2
c = cp.Variable(2) # center of 2d ellipsoid
constraints = [A >> 0]
constraints += [cp.pnorm(cp.matmul(A, v[i] - cp.matmul(A,c)), p=2) <= np.array([1,1]) for i in range(10)]
# this is where I'm stuck. Using np.linalg.inv doesn't work.
# I also can't seem to calculate this inverse manually
obj_fn = cp.log_det(np.linalg.inv(A))
prob = cp.Problem(cp.Minimize(obj_fn), constraints)
prob.solve(solver='CVXOPT')
Run Code Online (Sandbox Code Playgroud)