0

作为一个更大项目的一部分,我最终得到了如下的凸表达式((x_0 + x_1)^2 + x_2^2

from cvxpy import Variable, sum_squares, sum

target = Variable(3, nonneg=True, name='Target')
sum(target)
sum_squares(target)

combo = [sum([target[0], target[1]]), target[2]]
sum(combo)
sum_squares(combo)

sum(combo)工作正常,但sum_squares(combo)抛出以下错误

ValueError: setting an array element with a sequence.

尽管两个原子都是带有数组输入的标量函数。有没有更好的方法来重写这个?

4

1 回答 1

3

sum_squares不接受数组输入。输入需要是单个 CVXPY Expression。使用vstackhstackbmat将多个组合Expressions成一个向量或矩阵Expression

于 2018-06-13T23:36:56.760 回答