是否可以绑定check_partials检查的范围?

Is it possible to bound the range checked by check_partials?

我有一个包含 np.sqrt(1-x) 的组件。这适用于正常操作,因为所有输入都将严格介于 0 和 1 之间。但是,当检查部分并提供一直到 1 的输入数组时,有限差分器将超过 1,并破坏组件。输入也不应该小于0,所以简单地切换有限差分的方向是行不通的。

解决方法是使用 np.linspace(0, 0.99, 400) 而不是 np.linspace(0, 1, 400)

是否可以设置有限差分的允许范围?

从 V3.1 开始,没有办法像那样设置边界。只要确保你在一个更合适的点周围测试导数,比如 0.5 左右。

如果您在优化上下文中遇到问题,因为您可能会碰到两个边界......好吧,这就是为什么解析导数更好:)