אינטרפולציה פולינומיאלית
מוטיבציה
בהינתן n+1 נקודות (c0,y0),…,(cn,yn)∈F2 עם ci שונים זה מזה, נרצה למצוא פולינום f∈F[x] ממעלה לכל היותר n העובר דרכן: f(ci)=yi.
סימון
נסמן F[x]≤n:={f∈F[x]:degf≤n}. זהו מרחב וקטורי מעל F עם בסיס {1,x,x2,…,xn} וממד n+1.
המשפט
קיום ויחידות
אם c0,…,cn∈F שונים זה מזה ו-y0,…,yn∈F שרירותיים, אז קיים פולינום יחיד f∈F[x]≤n המקיים f(ci)=yi לכל i=0,…,n.
הוכחה
ניסוח מטריציוני: תנאי f(ci)=yi לפולינום f(x)=a0+a1x+⋯+anxn שקול למערכת:
V11⋮1c0c1cnc02c12cn2⋯⋯⋯c0nc1n⋮cnna0a1⋮an=y0y1⋮yn
המטריצה V נקראת מטריצת ונדרמונד (Vandermonde). דטרמיננטת ונדרמונד:
det(V)=0≤i<j≤n∏(cj−ci)
כי ci שונים זה מזה, det(V)=0, לכן V הפיכה ויש פתרון יחיד. ■
פולינומי לגראנז
בניה מפורשת: נגדיר לכל i=0,…,n את פולינום לגראנז ה-i:
Li(x)=j=i∏(ci−cj)j=i∏(x−cj)
תכונה: Li(cj)=δij={10j=ij=i
לכן Li∈F[x]≤n ו-{L0,…,Ln} מהווים בסיס של F[x]≤n (הם בלתי תלויים ליניארית, n+1 במספר).
נוסחת האינטרפולציה:
f(x)=i=0∑nyiLi(x)
הוכחה: f(cj)=∑i=0nyiLi(cj)=∑i=0nyiδij=yj. ■
דוגמה
נמצא f∈R[x]≤2 עם f(0)=1, f(1)=3, f(2)=7.
L0(x)=(0−1)(0−2)(x−1)(x−2)=2(x−1)(x−2)
L1(x)=(1−0)(1−2)(x−0)(x−2)=−1x(x−2)=−x(x−2)
L2(x)=(2−0)(2−1)(x−0)(x−1)=2x(x−1)
f(x)=1⋅2(x−1)(x−2)+3⋅(−x(x−2))+7⋅2x(x−1)
=2x2−3x+2−3x2+6x+27x2−7x=x2+x+1
בדיקה: f(0)=1, f(1)=3, f(2)=7. נכון.
ראה גם