Friday, November 04, 2005

Discrete vs Continuous: Taylor Series และ Newton Polynomial

Taylor Series

สมมติว่า เรามีฟังก์ชัน f ซึ่งต่อเนื่อง และมีอนุพันธ์ทุกอันดับที่ x0

เราก็จะรู้ค่า f(x0) f'(x0) f''(x0) ... ไปเรื่อย ๆ

คราวนี้ ถ้าเราอยากจะหาฟังก์ชัน f(x) ในรูปของพหุนาม เราจะใช้สมการนี้

f(x) = Σn≥0 f(n)(x0)(x - x0)n/n!

อนุกรมทางด้านขวาของสมการ เราเรียกว่า อนุกรมเทย์เลอร์ (Taylor Series)

ทำไมอนุกรมเทย์เลอร์ เท่ากับ f(x)?

เริ่มต้นเนี่ย เราก็สมมติว่า

f(x) = Σn≥0 an (x - x0)n

แล้วหาค่า an ทุกตัว

พอเราแทนค่า x = x0 เข้าไป จะเห็นว่า f(x0) = a0

เมื่อเราหาอนุพันธ์ทั้งสองข้าง เราจะได้ว่า

f'(x) = Σn≥1 nan (x - x0)n - 1
= Σn≥0 (n + 1) an+1 (x - x0)n

ซึ่งทำให้ f'(x0) = a1

หาอนุพันธ์อีกที จะได้

f''(x) = Σn≥1 n(n + 1) an (x - x0)n - 1
= Σn≥0 (n + 1)(n + 2) an+1 (x - x0)n

ซึ่งทำให้ f''(x0) = 2a2

ทำไปเรื่อย ๆ เราจะสรุปได้ว่า

f(n)(x0) = n! an
an = f(n)(x0) / n!

ดังนั้น

f(x) = Σn≥0 f(n)(x0)(x - x0)n/n!

Newton Polynomial

ถ้าเรารู้ค่า f(x0) Δf(x0) Δ2f(x0) ...

เราจะสามารถหาฟังก์ชัน f(x) ในรูปของพหุนามได้โดยสมการนี้

f(x) = Σn≥0 Δnf(x0) (x - x0)n/n!

เราเรียกสมการนี้ว่า สูตรผลต่างล่วงหน้าของนิวตัน (Newton's Forward Difference Formula)

วิธีพิสูจน์สูตรนี้ ก็ทำเหมือนเมื่อกี๊แหละ คือเราจะหาค่าของ Δnf(x0) แต่ละตัวได้โดยการหาผลต่าง คือ

สมมติให้ f(x) = Σn≥0 an(x - x0)n

เราก็จะหาค่า an ต่าง ๆ ได้ด้วยวิธีเหมือน ๆ กันกับกรณีของอนุกรมเทย์เลอร์ แบบนี้...

f(x0) = a0
Δf(x0) = a1
Δ2f(x0) = 2a2
...
Δnf(x0) = n! an

ดังนั้น

an = Δnf(x0) / n!

ซึ่งเมื่อแทนค่าลงไปในสมการที่เราตั้งขึ้น ก็จะได้สูตรนี้

f(x) = Σn≥0 Δnf(x0) (x - x0)n/n!

Abstraction

เราจะเห็นว่า การพิสูจน์สูตรทั้งสอง มีขั้นตอนที่เหมือนกันทุกประการ แต่มีการกำหนดสูตรเริ่มต้นที่ต่างกัน ซึ่งทำให้ การแปลง ที่ใช้ในการหาสัมประสิทธิ์ an ต้องเป็นคนละตัวกัน

ถ้าจะมองขั้นตอนทั้งหมด ให้เป็นกรณีทั่วไปมากขึ้น เราก็จะทำได้ดังนี้ ...

สมมติว่า มีการแปลงเชิงเส้น T และฟังก์ชัน sn(x) ซึ่งมีคุณสมบัติดังนี้

s0(0) = k
sn(0) = 0 ; n > 0
Ts0(x) = 0
Tsn(x) = cn sn-1(x) ; n > 0
โดยที่ cn ไม่เป็นฟังก์ชันของ x

เราจะสามารถสมมติฟังก์ชัน f(x) ให้เป็นแบบนี้ได้

f(x) = Σn≥0 an sn(x)

เพราะ เมื่อเราแทนค่า x = 0 ลงไป เราจะหาค่า a0 ได้ ...

f(0) = k a0

ส่วนค่า an ตัวอื่น ๆ ก็สามารถหาได้โดยการใส่ T เข้าไปทั้งสองข้างของสมการที่เราสมมติขึ้น

Tf(x) = Σn≥0 an Tsn(x)
Tf(x) = a0Ts0(x) + Σn≥1 an Tsn(x)
Tf(x) = 0 + Σn≥1 an cn sn-1(x)
Tf(x) = Σn≥0 an+1 cn+1 sn(x)

พอเราแทนค่า x = 0 ก็จะได้ว่า

Tf(0) = a1c1k
a1 = Tf(0) / c1k

ส่วนค่า a2 ก็จะหาได้โดยการใส่ T เข้าไปอีกที ที่สมการ Tf(x) = Σn≥0 an+1 cn+1 sn(x) จะได้ว่า

T2f(x) = Σn≥0 an+1 cn+1 Tsn(x)
T2f(x) = a1c1Ts0(x) + Σn≥1 an+1 cn+1 Tsn(x)
T2f(x) = 0 + Σn≥1 an+1 cn+1 cn sn-1(x)
T2f(x) = Σn≥0 an+2 cn+2 cn+1 sn(x)

T2f(0) = a2c2c1k
a2 = T2f(0) / c1c2k

สังเกตดู จะเห็นว่า ถ้าทำไปเรื่อย ๆ เราก็จะหาค่า an ได้ทุกค่า ดังนี้

an = Tnf(0) / c1c2c3...cnk

ถ้ากำหนดให้ c0 = k และเขียนผลคูณของ ci ต่าง ๆ ด้วยเครื่องหมาย Π ก็จะได้ว่า

an = Tnf(0) / C(n)

เมื่อ C(n) = Π0≤i≤n ci

สรุปก็คือ

f(x) = Σn≥0 Tnf(0) sn(x) / C(n)

กรณีของอนุกรมเทย์เลอร์

sn(x) = xn
T = d/dx
c0 = 1
cn = n ; n ≥ 1
C(n) = n!

กรณีของพหุนามนิวตัน

sn(x) = xn
T = Δ
c0 = 1
cn = n ; n ≥ 1
C(n) = n!

0 Comments:

Post a Comment

<< Home