拉格朗日插值法 (Lagrange interpolation approach) 学习笔记

发布时间 2023-05-04 21:53:39作者: SF71-H

Lagrange interpolation approach 是要解决一种如下的问题:

给定 \(n\) 个坐标,\((x_1, y_1), (x_2, y_2), \dots, (x_n, y_n)\),确定一个多项式 \(f(x) = a_0 + a_1x + a_2x^2 + \dots + a_dx^d\) 满足:

\[f(x_1) = y_1 \]

\[f(x_2) = y_2 \]

\[\dots \]

\[f(x_n) = y_n \]

一、高斯消元

回想一下学 FFT 的时候,使用点值表示法,用 \(k + 1\) 个点表示一个 \(k\) 次的多项式。

那么我们可以设:

\[f(x) = a_0 + a_1x + a_2x^2 + \dots + a_{n - 1}x^{n - 1} \]

然后我们可以列出方程组:

\[\begin{cases}a_0 + a_1x_1 + a_2x_1^2 + \dots + a_{n - 1}x_1^{n - 1} = y_1\\a_0 + a_1x_2 + a_2x_2^2 + \dots + a_{n - 1}x_2^{n - 1} = y_2\\\dots\\a_0 + a_1x_n + a_2x_n^2 + \dots + a_{n - 1}x_n^{n - 1} = y_n \end{cases} \]

然后就是一次简单的高斯消元,时间复杂度 \(O(n ^ 3)\)