Python CVXPY kronecker 产品尺寸

Python CVXPY kronecker product dimensions

我正在尝试使用 cvxpy 进行优化。

w=cvxpy.Variable((10,1))

cvxpy.kron(w,w)

说第一个参数应该是常量是行不通的,

然后我尝试使用 numpy

numpy.kron(w,w) 

然后,它说不兼容的维度 (10,1) (10,1)

应该不行吧??上面的kronecker产品应该怎么做

您不应该对 cvxpy 变量使用 numpy 操作。相反,您应该在可用时使用 cvxpy atoms 。使用 numpy,您可以执行以下操作:

numpy.kron(numpy.ones((10, 1)), numpy.ones((10, 1)))

至于错误,cvxpy 告诉您不能使用变量作为 cvxpy.kron 的第一个参数。例如,您可以使用 numpy 数组或 cvxpy.Parameter.

cvxpy.kron(numpy.ones((2, 2)), w)

结果:

Expression(AFFINE, UNKNOWN, (20, 2))