简短的答案是 G
由优化器维护为最小化过程的一部分,而 (D_neg, D, and C)
参数来自 args
元组。
默认, scipy.optimize.minimize
采用功能 fun(x)
接受一个论点 x
(可能是数组之类的)并返回标量。 scipy.optimize.minimize
然后找到一个参数值 xp
这样 fun(xp)
小于 fun(x)
对于其他值 x
. 。优化器负责创建 x
并将它们传递给 fun
进行评估。
但是,如果您碰巧有一个功能怎么办 fun(x, y)
有一些其他参数 y
需要单独通过(但出于优化目的被认为是常数)?这就是 args
元组是。这 文档 试图解释如何使用Args元组,但是很难解析:
args: 元组,可选
额外的论点传递给了目标函数及其衍生物(Hessian Jacobian)。
有效, scipy.optimize.minimize
会通过的一切 args
作为其余论点 fun
, ,使用星号参数符号:然后将功能称为 fun(x, *args)
在优化期间。这 x
部分由优化器传递给 args
元组作为其余的论点。
因此,在您的代码中, G
元素由优化器维护,同时评估可能的值 G
, ,和 (D_neg, D, C)
元组通过原样传递。