繁体   English   中英

python 中带有复系数的 cvxopt 的凸优化

[英]Convex optimixation with cvxopt in python with complex coefficients

我正在尝试解决一个凸优化问题,其中系数可能很复杂。 cvxopt QP 中的本机实现似乎不支持它。 我总是收到以下错误:

TypeError: 'q' 必须是具有一列的 'd' 矩阵

这是示例代码。

Q = 2*cvxopt.matrix([ [2, .5], [.5, 1] ])
p = cvxopt.matrix([(1.0+1.0j), (1.0+2.0j)])
G = cvxopt.matrix([[-1.0,0.0],[0.0,-1.0]])
h = cvxopt.matrix([0.0,0.0])
A = cvxopt.matrix([1.0, 1.0], (1,2))
b = cvxopt.matrix(1.0)
sol=cvxopt.solvers.qp(Q, p, G, h, A, b)

可以有解决方法来解决这个问题吗? 谢谢

Q 中的数值是 integer 和浮点数的混合,这可能是问题所在,我的工作是当我确保它们都是浮点数时。

同样作为参考,Q 可能需要是真实的,就像在这个例子中一样。 对于矩阵类型,“d”= 实数值(双精度)。 所以这里很可能是 int vs float 问题。 最好检查https://cvxopt.org/userguide/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM