Polinomial Newton

Dalam analisis numerik, **polinomial Newton** adalah interpolasi polinomial untuk suatu himpunan titik data yang diketahui. Polinomial ini dinamai dari penemunya, Isaac Newton. Terkadang, polinomial ini disebut **interpolasi polinomial beda terbagi Newton** karena koefisien dari polinomialnya dihitung menggunakan metode beda terbagi Newton.

Diberikan suatu himpunan k + 1 titik data

:(x_0, y_0), \ldots, (x_i, y_i), \ldots, (x_k, y_k)

dengan syarat x_p \neq x_q apabila p \neq q, maka interpolasi polinomial Newton merupakan suatu kombinasi linear dari **polinomial basis Newton**. Secara matematis, hal tersebut dapat dituliskan sebagai

:N(x) := \sum_{i = 0}^{k} a_{i} \, n_{i}(x)

dengan polinomial basis Newton didefinisikan sebagai

:n_i (x) := \prod_{j = 0}^{i - 1} (x - x_j)

untuk i > 0 dan n_0 (x) = 1. Koefisien dari polinomial tersebut didefinisikan sebagai a_i := [ y_0, \ldots, y_i ] dengan [y_0, \ldots, y_i] adalah notasi untuk beda terbagi. Dengan demikian, interpolasi polinomial Newton dapat ditulis sebagai N(x) = [y_0] + [y_0, y_1] (x - x_0) + \ldots + [y_0, \ldots, y_k] (x - x_0) (x - x_1) \ldots (x - x_{k-1})

### Rumus interpolasi Newton-Gregory maju
Bentuk dari Polinomial Newton dapat disederhanakan apabila x_0, x_1, \ldots, x_k diatur sehingga berjarak sama. Jika didefinisikan
* h := x_{i + 1} - x_i
* x - x_0 = sh, untuk suatu bilangan riil s
* \Delta^0 y_i := y_i
* \Delta^{j + 1} y_i := \left( \Delta^j y_{i + 1} \right) - \left( \Delta^j y_i \right)
dengan i, j = 0, 1, \ldots, k - 1, perhatikan bahwa

:\begin{align}
x - x_1 &= x - x_0 - x_1 + x_0 \\
&= x - x_0 - \left( x_1 - x_0 \right) \\
&= sh - h \\
&= h(s - 1) \\
\\
x - x_2 &= x - x_0 - x_2 + x_1 - x_1 + x_0 \\
&= x - x_0 - \left( x_2 - x_1 \right) - \left( x_1 - x_0 \right) \\
&= sh - h - h \\
&= h(s - 2) \\
&\ldots \\
x - x_i &= h(s - i) \\
--------- &- -------------------- \\
\left[ y_0 \right] &:= y_0 \\
\left[ y_0, \, y_1 \right] &= \dfrac{y_1 - y_0}{x_1 - x_0} \\
&= \dfrac{\Delta y_0}{h} \\
\\
\left[ y_0, \, y_1, \, y_2 \right] &= \dfrac{\dfrac{y_2 - y_1}{x_2 - x_1} - \dfrac{y_1 - y_0}{x_1 - x_0}}{x_2 - x_0} \\
&= \dfrac{\dfrac{\Delta y_1}{h} - \dfrac{\Delta y_0}{h}}{2h} \\
&= \dfrac{\Delta^2 y_0}{2! \, h^2} \\
\\
\left[ y_0, \, y_1, \, y_2, y_3 \right] &= \dfrac{\dfrac{\dfrac{y_3 - y_2}{x_3 - x_2} - \dfrac{y_2 - y_1}{x_2 - x_1}}{x_3 - x_1} - \dfrac{\dfrac{y_2 - y_1}{x_2 - x_1} - \dfrac{y_1 - y_0}{x_1 - x_0}}{x_2 - x_0}}{x_3 - x_0} \\
&= \dfrac{\dfrac{\dfrac{\Delta y_2}{h} - \dfrac{\Delta y_1}{h}}{2h} - \dfrac{\dfrac{\Delta y_1}{h} - \dfrac{\Delta y_0}{h}}{2h}}{3h} \\
&= \dfrac{\dfrac{\Delta^2 y_1}{2 \, h^2} - \dfrac{\Delta^2 y_0}{2 \,h^2}}{3h} \\
&= \dfrac{\Delta^3 y_0}{3! \, h^3} \\
&\ldots \\
\left[ y_0, \, y_1, \, \ldots, \, y_k \right] &= \dfrac{\Delta^k y_0}{k! \, h^k}
\end{align}

Sehingga, interpolasi polinomial Newton menjadi

:\begin{align}
N(x) &= [y_0] + [y_0, y_1] (x - x_0) + [y_0, y_1, y_2] (x - x_0) (x - x_1) + \ldots + [y_0, \ldots, y_k] (x - x_0) (x - x_1) \ldots (x - x_{k-1}) \\
&= y_0 + \dfrac{\Delta y_0}{h} (sh) + \dfrac{\Delta^2 y_0}{2! \, h^2} (sh)(h(s - 1)) + \ldots + \dfrac{\Delta^k}{k! \, h^k} (sh) (h(s - 1)) \ldots (h(s - k + 1)) \\
&= y_0 + s \left( \Delta y_0 \right) + \dfrac{s (s - 1)}{2!} \left( \Delta^2 y_0 \right) + \ldots + \dfrac{s (s - 1) \ldots (s - k + 1)}{k!} \left( \Delta^k y_0 \right) \\
&= \dbinom{s}{0} \left( \Delta^0 y_0 \right) + \dbinom{s}{1} \left( \Delta^1 y_0 \right) + \dbinom{s}{2} \left( \Delta^2 y_0 \right) + \ldots + \dbinom{s}{k} \left( \Delta^k y_0 \right) \\
&= \sum_{i = 0}^{k} {s \choose i} \left( \Delta^i y_0 \right)
\end{align}

Rumus ini disebut sebagai **rumus beda terbagi Newton maju**.

### Rumus interpolasi Newton-Gregory mundur
Jika titik data yang ada diubah urutannya menjadi x_k, x_{k - 1}, \ldots, x_0, bentuk polinomial Newtonnya menjadi

:N(x) = [y_k] + [y_k, y_{k - 1}](x - x_k) + \ldots + [y_k, \ldots, y_0] (x - x_k) (x - x_{k - 1}) \ldots (x - x_1)

Dengan asumsi serupa, jika x_k, \; x_{k - 1}, \; \ldots, \; x_0 berjarak sama, serta didefinisikan
* h := x_{i + 1} - x_i
* x - x_k = sh, untuk suatu bilangan riil s
* \Delta^0 y_i :=  y_i
* \Delta^{j + 1} y_i := \left( \Delta^j y_{i + 1} \right) - \left( \Delta^j y_i \right)
dengan i, j = 0, 1, \ldots, k - 1, maka diperoleh

:\begin{align}
  x - x_{k - 1} &= \left( x - x_k \right) + \left( x_k - x_{k - 1} \right) \\
  &= sh + h \\
  &= h(s + 1) \\
  \\
  x - x_{k - 2} &= \left( x - x_k \right) + \left( x_k - x_{k - 1} \right) + \left( x_{k - 1} - x_{k - 2} \right) \\
  &= sh + h + h \\
  &= h(s + 2) \\
  \ldots \\
  x - x_{k - j} &= h(s + j) \\
\end{align}

Sehingga, interpolasi polinomial Newton menjadi

:\begin{align}
N(x) &= [y_k] + [y_k, y_{k - 1}](x - x_k) + [y_k, y_{k - 1}, y_{k - 2}](x - x_k)(x - x_{k - 1}) + \ldots + [y_k, \ldots, y_0] (x - x_k) (x - x_{k - 1}) \ldots (x - x_1) \\
&= y_k + \dfrac{\Delta y_{k - 1}}{h} (sh) + \dfrac{\Delta^2 y_{k - 2}}{2! \, h^2} (sh) (h(s + 1)) + \ldots + \dfrac{\Delta^k y_0}{k! \, h^k} (sh) (h(s + 1)) \ldots (h(s + k - 1)) \\
&= y_k + s \left( \Delta y_{k - 1} \right) + \dfrac{s (s + 1)}{2!} \left( \Delta^2 y_{k - 2} \right) + \ldots + \dfrac{s (s + 1) (s + 2) \ldots (s + k - 1)}{k!} \left( \Delta^k y_0 \right) \\
&= \dbinom{s - 1}{0} \left( \Delta^0 y_k \right) + \dbinom{s}{1} \left( \Delta y_{k - 1} \right) + \dbinom{s + 1}{2} \left( \Delta^2 y_{k - 2} \right) + \ldots + \dbinom{s + k - 1}{k} \left( \Delta^k y_0 \right) \\
&= \sum_{j = 0}^{k} {s + j - 1 \choose j} \left( \Delta^j y_{k - j} \right).
\end{align}

Rumus ini disebut sebagai **rumus beda terbagi Newton mundur**

## Bentuk Newton dan polinomial Taylor

Rumus Newton sangat menarik karena rumus Newton terlihat seperti versi beda hingga dari polinomial Taylor. Polinomial Taylor memberi tahu nilai suatu fungsi berdasarkan nilai y beserta turunan-turunannya (turunan pertama, turunan kedua, dst.) dari suatu titik x tertentu. Rumus Newton adalah polinomial Taylor yang didasarkan pada beda hingga, dan bukan laju perubahan sesaat.

Limit dari polinomial Newton jika semua titik berhimpit menuju x = a adalah polinomial Taylor di sekitar x = a, lantaran nilai dari koefisien beda terbagi akan menjadi turunan. Hal ini akan lebih mudah terlihat menggunakan rumus Newton-Gregory maju
\begin{align}
\lim_{\left( x_0, \, \dots, \, x_n \right) \, \to \, \left( a, \, \dots, \, a \right)} &[y_0] + [y_0, y_1] \cdot (x - x_0) + [y_0, y_1, y_2] \cdot (x - x_0) (x - x_1) + \ldots + [y_0, \, \dots, \, y_n] \cdot (x - x_0) (x - x_1) \ldots (x - x_{n - 1}) \\
= \lim_{\left( x_0, \, \dots, \, x_n \right) \, \to \, \left( a, \, \dots, \, a \right)} &y_0 + \dfrac{\Delta y_0}{h} \cdot (x - x_0) + \dfrac{\Delta^2 y_0}{2! \, h^2} \cdot (x - x_0) (x - x_1) + \ldots + \dfrac{\Delta^n \, y_0}{n! \, h^n} \cdot (x - x_0) (x - x_1) \ldots (x - x_{n - 1}) \\
&= f(a) + f'(a) \cdot (x - a) + \dfrac{f*(a)}{2!} \cdot (x - a)^2 \dots + \frac{f^{(n)}(a)}{n!} \cdot (x - a)^n
\end{align}</math>

== Ide utama ==
Penyelesaian masalah interpolasi akan mengarah ke permasalahan dalam [[aljabar linear]] mengenai penyelesaian sistem [[persamaan linear]]. Dengan menggunakan [[basis monomial]], maka akan diperoleh [[matriks Vandermonde]] yang sangat rumit. Dengan memilih basis lain, basis Newton, maka akan diperoleh sistem persamaan linear dengan [[matriks segitiga|matriks segitiga bawah]], yang lebih sederhana dan dapat diselesaikan dengan lebih cepat.

Jika diberikan <math>k + 1</math> titik data, maka dikonstruksikan basis Newton sebagai

:<math>n_0(x) := 1 \qquad n_j(x) := \prod_{i = 0}^{j - 1} (x - x_i) \qquad j = 1, 2, \, \ldots, \, k</math>

Dengan menggunakan polinomial ini sebagai basis yang baru, maka penyelesaian dari

:<math>\begin{bmatrix}
1 & & \ldots & & 0 \\
1 & x_1 - x_0 & & & \\
1 & x_2 - x_0 & (x_2 - x_0)(x_2 - x_1) & & \vdots \\
\vdots & \vdots & & \ddots & \\
1 & x_k - x_0 & \ldots & \ldots & {\displaystyle \prod_{j = 0}^{k - 1}(x_k - x_j)}
\end{bmatrix}
\begin{bmatrix} a_0 \\ \\ \vdots \\ \\ a_k \end{bmatrix} =
\begin{bmatrix} y_0 \\ \\ \vdots \\ \\ y_k \end{bmatrix}</math>

akan menjawab masalah interpolasi polinomial di awal.

Sistem persamaan ini dapat diselesaikan secara iteratif dengan menyelesaikan

:<math> \sum_{i = 0}^{j} a_{i} \, n_{i}(x_j) = y_j \qquad j = 0, 1, \, \dots, \, k.</math>

== Penambahan titik baru ==
Sama seperti rumus selisih lainnya, derajat dari interpolasi polinomial Newton dapat dinaikkan dengan menambahkan [[Suku Dan|suku dan]] titik baru tanpa membuang suku yang sudah ada. Bentuk Newton memiliki kesederhanaan karena titik baru akan selalu ditambahkan di ujung: titik baru pada rumus Newton-Gregory maju dapat ditambahkan di kanan, sedangkan titik baru pada rumus Newton-Gregory mundur dapat ditambahkan di kiri.

== Keunggulan dan kelemahan berbagai rumus ==
Untuk setiap himpunan titik data yang berhingga, hanya terdapat satu polinomial dengan derajat terendah yang melewati semua titik yang diberikan. Maka dari itu, kata "interpolasi polinomial Bentuk Newton" (atau [[Polinomial Lagrange|bentuk Lagrange]], dll.) tidak akan memiliki makna yang ambigu. Meskipun demikian, pencarian polinomial ini bisa saja memiliki efisiensi komputasi yang berbeda apabila digunakan metode yang berbeda.

=== Bessel versus Stirling ===

=== Newton versus Lagrange ===

Dibandingkan interpolasi polinomial bentuk Newton, [[Polinomial Lagrange|bentuk Lagrange]] memerlukan usaha yang lebih sedikit, dan terkadang direkomendasikan untuk masalah yang sudah diketahui (dari pengalaman sebelumnya) berapa banyak suku yang diperlukan agar tingkat akurasinya cukup.

Jika ditambahkan titik data yang baru, metode [[beda terbagi]] mempunyai keunggulan karena suku yang diperoleh dari data sebelumnya dapat digunakan kembali. Dengan rumus [[Joseph-Louis de Lagrange|Lagrange]] yang biasa, pengerjaan soal dengan penambahan titik data akan membutuhkan perhitungan ulang seluruh soal.

Secara umum, rumus [[beda terbagi]] lebih serbaguna pada berbagai situasi permasalahan. Dengan interpolasi polinomial bentuk Newton, terdapat algoritma yang singkat dan efektif untuk mencari koefisien dari polinomialnya.

== Penerapan ==
Seperti yang bisa dilihat dari bentuk umum dari interpolasi polinomial Newton, titik data yang baru dapat ditambahakan ke himpunan data yang sudah ada untuk membuat interpolasi polinomial yang baru tanpa perlu menghitung ulang koefisien yang lama. Kalaupun terdapat titik data yang berubah nilainya, maka seluruh koefisien tidak perlu dihitung ulang. Selain itu, jika <math>x_0, \, x_1, \, \ldots, \, x_n</math> memiliki jarak yang sama antara satu dengan yang lain, perhitungan [[beda terbagi]] akan jauh lebih mudah. Maka dari itu, rumus [[beda terbagi]] lebih disukai dibandingkan [[Polinomial Lagrange|bentuk Lagrange]] untuk diterapkan.

=== Contoh ===
Nilai beda terbagi dapat dituliskan dalam bentuk tabel. Sebagai contoh, untuk mencari suatu fungsi <math>f</math> yang menginterpolasi titik <math>\left\{ (x_0, \, y_0), \, (x_1, \, y_1), \, \ldots, \, (x_n, y_n) \right\}</math>, maka dapat ditulis sebagai berikut

<math>\begin{matrix}
x & [y_i] & [y_i, y_{i + 1}] & [y_i, y_{i + 1}, y_{i + 2}] & [y_i, y_{i + 1}, y_{i + 2}, y_{i + 3}] & \ldots \\
--- & --- & ------ & -------- & ----------- & ------ \\
x_0 & y_0 & & & & \\
& & \frac{y_1 - y_0}{x_1 - x_0} & & & \\
x_1 & y_1 & & \frac{\frac{y_2 - y_1}{x_2 - x_1} - \frac{y_1 - y_0}{x_1 - x_0}}{x_2 - x_0} & & \\
& & \frac{y_2 - y_1}{x_2 - x_1} & & \frac{\frac{\frac{y_3 - y_2}{x_3 - x_2} - \frac{y_2 - y_1}{x_2 - x_1}}{x_3 - x_1} - \frac{\frac{y_2 - y_1}{x_2 - x_1} - \frac{y_1 - y_0}{x_1 - x_0}}{x_2 - x_0}}{x_3 - x_0} & \\
x_2 & y_2 & & \frac{\frac{y_3 - y_2}{x_3 - x_2} - \frac{y_2 - y_1}{x_2 - x_1}}{x_3 - x_1} & & \\
& & \frac{y_3 - y_2}{x_3 - x_2} & & \vdots & \\
x_3 & y_3 & & \vdots & & \\
& & \vdots & & \vdots & \\
\vdots & & & \vdots & & \\
& & \vdots & & \\
x_n & y_n & & & &
\end{matrix}</math>

Maka koefisien dari interpolasi polinomialnya diperoleh dari entri teratas pada setiap kolom.

Sebagai contoh, misalkan dikonstruksikan interpolasi polinomial dari <math>f(x) = \sin x</math> dengan menggunakan metode [[beda terbagi]] pada titik berikut



Dengan menggunakan akurasi sebesar lima digit, maka diperoleh tabel beda terbagi sebagai berikut
:<math>\begin{matrix}
 0  &    0    &         &          &          &         \\
    &         & 0.9983  &          &          &         \\
0.1 & 0.09983 &         & -0.06617 &          &         \\
    &         & 0.97845 &          & -0.16102 &         \\
0.3 & 0.29552 &         & -0.16278 &          & 0.01651 \\
    &         & 0.89706 &          & -0.14451 &         \\
0.6 & 0.56464 &         & -0.29284 &          &         \\
    &         & 0.69208 &          &          &         \\
 1  & 0.84147 &         &          &          &         \\
\end{matrix}</math>

Sehingga, interpolasi polinomialnya adalah
:<math>\begin{align}
N(x) &= 0 + 0.9983 (x - 0) - 0.06617 (x - 0)(x - 0.1) - 0.16102 (x - 0)(x - 0.1)(x - 0.3) + 0.01651 (x - 0)(x - 0.1)(x - 0.3)(x - 0.6) \\
&= 0.999789 x + 0.0026957 x^2 - 0.17753 x^3 + 0.01651 x^4
\end{align}</math>

== Lihat juga ==
* *De numeris triangularibus et inde de progressionibus arithmeticis: Magisteria magna'', karya dari Thomas Harriot yang menjelaskan metode interpolasi yang serupa, ditulis 50 tahun lebih awal dari karya Newton namun baru diterbitkan pada tahun 2009
* Deret Newton
* Algoritma Neville
* Interpolasi Polinomial
* Interpolasi polinomial Bentuk Lagrange
* Interpolasi polinomial Bentuk Bernstein
* Interpolasi Hermite
* Teorema Carlson

## Referensi

## Pranala luar
*Modul tentang Polinomial Newton, karya John H. Mathews