cvxpy使用--bug解决--TypeError: __init__() takes 2 positional arguments but 3 were given

普通环境中要使用log函数,可以用np.log或者math.log
cvxpy使用--bug解决--TypeError: __init__() takes 2 positional arguments but 3 were given_第1张图片
这是可以运行成功的

在cp中用相同的逻辑使用cp.log发现报错:

cvxpy使用--bug解决--TypeError: __init__() takes 2 positional arguments but 3 were given_第2张图片

TypeError: __init__() takes 2 positional arguments but 3 were given

或者就是这样报错:
TypeError: must be real number, not index
这个是因为cp里面结果的类型是

<class 'cvxpy.atoms.affine.binary_operators.multiply'>

网上找了很多都是加一个括号就可以,但是好像不是在cvxpy里出的问题,通过查document,发现改成这样就可以:

S_q=cp.logistic(cp.multiply(P,A))

写logistic或者log没差

你可能感兴趣的:(bug修复,python,bug)