Taylor Series
Taylor Series adalah cara merepresentasikan fungsi smooth sebagai polinomial (jumlah tak hingga). Ide intinya: fungsi ribet ($\sin$, $e^x$, $\ln$) diaproksimasi pakai polinomial yang gampang dihitung (cuma tambah-kali), dengan cara menyamakan nilai dan semua turunannya di satu titik.
Intuisi
Bikin polinomial yang "nyamar" jadi di sekitar titik :
- Nilainya sama di
- Kemiringan (turunan pertama) sama
- Kelengkungan (turunan kedua) sama
- ... dst untuk semua orde turunan
f(x) ~ nilai + kemiringan + kelengkungan + ...
f(a) + f'(a)(x-a) + f(a)/2! (x-a)^2 + ...
| | |
orde 0 orde 1 orde 2
Rumus Umum
Bentuk panjangnya:
Kalau , namanya deret Maclaurin.
Kenapa ada di penyebut? Tiap kali diturunkan berulang, muncul faktor . Faktorial di penyebut "membatalkan" faktor ini supaya turunan ke- polinomial di titik pas sama dengan . Itu satu-satunya fungsinya.
Resep 3 Langkah
- Turunkan berkali-kali
- Evaluasi semua turunan di titik ekspansi
- Masukkan ke slot-slot rumus
Contoh Lengkap: e^x
Step 1 — turunan. Keistimewaan : turunannya dirinya sendiri.
Step 2 — evaluasi di . Karena :
Step 3 — masukkan ke rumus:
Verifikasi numerik — hitung term demi term:
| Term ditambahkan | Kontribusi | Total sejauh ini |
|---|---|---|
| 1 | 1 | |
| 1 | 2 | |
| 0.5 | 2.5 | |
| 0.1667 | 2.6667 | |
| 0.0417 | 2.7083 | |
| 0.0083 | 2.7167 | |
| 0.0014 | 2.7181 |
Nilai asli — 7 term sudah dapat 4 digit benar. Tiap term baru makin kecil karena dibagi faktorial yang tumbuh jauh lebih ganas daripada .
Contoh Lain yang Sering Dipakai
| Fungsi | Deret Maclaurin | Radius konvergensi |
|---|---|---|
Catatan: penyebut itu biasa, bukan — faktorialnya "kebatalan" sama pola turunannya. Ini yang bikin konvergensinya jauh lebih lambat.
Radius of Convergence
Deret Taylor tidak selalu konvergen di semua . Contoh :
konvergen DIVERGEN |=========|=========X=====================> -1 0 1 x ^ ^ singularitas batas radius (ln 0 = -inf)
- Di : konvergen (makin dekat batas, makin lambat)
- Di : divergen total — nambah term malah bikin makin parah
- Intuisi: deret Taylor "nggak bisa melihat" lebih jauh dari jarak titik ekspansi ke singularitas terdekat. punya singularitas di , jadi radiusnya 1 (simetris ke dua arah).
Implikasi praktis: implementasi di libm tidak pakai Taylor mentah. Triknya range reduction: tulis (baca bit exponent IEEE 754), lalu dengan — selalu di zona konvergen cepat. Pola sama dipakai buat / di libm dan CUDA/OpenCL math intrinsics.
Kapan Berhenti (Truncation)
Secara teori deretnya sampai . Secara praktik, potong di orde → jadi polinomial Taylor + error:
Rule of thumb (untuk deret alternating / konvergen cepat): error ≈ term pertama yang dibuang.
| Berhenti di | Error untuk |
|---|---|
| 4 term | ~0.05 (2 digit) |
| 7 term | ~0.0002 (4 digit) |
| 10 term | ~1e-7 (7 digit) |
| 18 term | ~1e-16 — mentok presisi double |
Double IEEE 754 presisinya ~16 digit desimal. Nambah term lewat itu percuma — error sudah di bawah machine epsilon.
Implementasi Python
Loop dengan stopping criterion natural (berhenti pas kontribusi term < toleransi):
def my_exp(x, tol=1e-12):
total = 0.0
term = 1.0 # term ke-0: x^0/0! = 1
n = 0
while abs(term) > tol:
total += term
n += 1
term *= x / n # term berikutnya = term sekarang * x/n
return total
print(my_exp(1.0)) # 2.718281828459045
Trik penting: term *= x / n — jangan hitung dan dari nol tiap iterasi (overflow untuk besar), cukup update term sebelumnya secara inkremental.
Verifikasi simbolik pakai sympy:
import sympy as sp
x = sp.symbols('x')
print(sp.series(sp.exp(x), x, 0, 6))
# 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + O(x**6)
Relevansi ke CFD / HPC
- Finite difference = aplikasi langsung Taylor. Skema diturunkan dari ekspansi . Analisis order of accuracy (kenapa forward difference , central difference ) semuanya lewat Taylor. Fondasi seluruh numerical PDE, termasuk 12 Steps to Navier-Stokes.
- Fungsi transcendental di hardware.
sinf(),expf(),__sinf()CUDA — implementasinya polinomial evaluation (minimax polynomial, sepupunya Taylor) + range reduction. - Konvergensi itu conditional. Jangan asumsi semua fungsi bisa di-Taylor-kan sembarangan di semua titik — cek radius of convergence.
Lihat Juga
- Turunan Parsial
- Finite Difference (planned)
- 12 Steps to Navier-Stokes (planned)
Kategori:Kalkulus Kategori:Scientific Computing Kategori:Roadmap CFD