gpt4 book ai didi

python - 在 numpy 中向量化求根

转载 作者:行者123 更新时间:2023-12-01 04:33:10 25 4
gpt4 key购买 nike

我需要运行一个函数来查找方程的根,该方程依赖于一大组数据的一个参数(实际方程要复杂得多,但形式上是等效的)。

def f(x):
return numpy.optimize.brentq(lambda y:numpy.exp(-abs(x)*y)-y,0,1)

矢量化方便吗?我尝试使用 numpy.vectorize(f) ,效果很好,但我认为与 python for 循环的速度相同。

是否有某种手动矢量化可以更好地利用 numpy 数组计算的强大功能?

最佳答案

如果它只是一个参数函数,您可以只对反函数进行插值(将 x 和 y 制成表格,对 x 与 y 进行插值,在 y 的目标值处评估插值器)。

不,手动矢量化不会让你避免 python 循环(除非你想破解编译级别并在 brentq 或 fsolve 的编译部分周围包装 C 级别循环 --- 即使这也有可能比插值反函数慢。)

关于python - 在 numpy 中向量化求根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32093684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com