我正在尝试使用 cvxpy 进行优化。
w=cvxpy.Variable((10,1))
cvxpy.kron(w,w)
这不起作用说第一个参数应该是常量,
然后我尝试使用 numpy
numpy.kron(w,w)
然后,它说不兼容的尺寸 (10,1) (10,1)
应该不行吧??我该怎么做它的克罗内克积
最佳答案
您不应该对 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))
关于Python CVXPY kronecker 产品尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51815641/