如何反转拉格朗日多项式

计算科学 r 逆问题
2021-12-07 04:01:03

我正在阅读以下论文(Grezlak 和 Oosterlee),我对第 5 页上的一句话有一个具体的问题。我引用:

“自从映射y=g(x)是双射的并且g(x)是严格增加的,所以是g1(y). 这意味着论点x可以通过反插值得到g(x)反对y,这基本上可以免费完成。”

对于给定的点xi,yi他们定义g为拉格朗日多项式:

g(x)=i=1Nyili(x)
在哪里li(x)=j=1,jixxjxixj. 他们引用了一篇关于这种逆插值的论文(E. Michalup。关于逆线性插值。斯堪的纳维亚精算杂志 1950),不幸的是,它不能免费获得。我正在使用 R 并且正在浏览有关逆线性插值的网页,并找到了以下函数然而,它似乎相当昂贵。更糟糕的是,它只需要一个数值作为输入(yval),这意味着我需要调用函数的次数与我想要计算的逆数一样多。是否有另一种方法可以做到这一点或在 R 中有更好的功能?

1个回答

在不了解反插值的情况下,这个问题应该是一个直接的数值任务,给出关于g(x).

第一,g(x)据说是单调递增的。因此,给定y, 找到两个节点 stg(xi)yg(xi+1)[这很简单,因为一切都是有序的]。

从那里,使用任何应该快速收敛的寻根器。这种方法的缺点是您必须为每个点求解一个系统y. 你可以做些什么来加速它是添加任何评估点g(x)在求根过程中到列表,这将减少未来迭代的次数,假设您从低次多项式开始,即小N.