我使用picos作为LP建模语言。但是,我有以下不一致之处:
import picos as pic
prob_tmp = pic.Problem()
a_tmp = prob_tmp.add_variable("a",1)
eta_tmp = pic.new_param("eta",0.0341)
print (1-eta_tmp) * a_tmp
print a_tmp - eta_tmp * a_tmp
(1-eta_tmp) * a_tmp
和a_tmp - eta_tmp * a_tmp
应该是一样的。但是打印输出没有得到纠正:
# (1 x 1)-affine expression: -eta + 1.0*a # <- this one is wrong!
# (1 x 1)-affine expression: a -eta*a #
他们都应输出# (1 x 1)-affine expression: a -eta*a #
。这是一个错误吗?如果是这样,我该如何举报?
答案 0 :(得分:0)
我可以确认这是一个错误,但仅适用于表达式的字符串表示形式。在内部,两个表达式均正确存储。为了证明这一点,让我们将value
赋予a_tmp
。然后,打印表达式显示它们都被正确评估:
> a_tmp.value = 42.
> print ((1-eta_tmp) * a_tmp)
40.5678
> print (a_tmp-eta_tmp*a_tmp)
40.5678
我将在gitlab上打开一个问题,以修复(1-eta_tmp) * a_tmp
的字符串表示形式