Chuỗi Taylor của hàm f quanh điểm a là chuỗi luỹ thừa f(a) + f′(a)(x − a) + f′′(a)(x − a)²/2! + f′′′(a)(x − a)³/3! + …, được dựng sao cho giá trị và mọi đạo hàm tại a khớp với f. Khi a = 0, nó gọi là chuỗi Maclaurin. Cắt chuỗi sau vài số hạng, bạn được một đa thức xấp xỉ hàm f rất sát ở gần a.
Tại sao điều này quan trọng: đa thức chỉ cần cộng và nhân, nên dễ tính, dễ lấy đạo hàm, dễ lấy tích phân. Xấp xỉ một hàm phức tạp bằng đa thức là kỹ thuật nền trong vật lý, kỹ thuật và tính toán số. Bài này chỉ cách lập khai triển, đưa ra bốn khai triển cần thuộc kèm ví dụ tính tay đã kiểm, giải thích bán kính hội tụ, cách chặn sai số, và trường hợp kỳ lạ khi chuỗi Taylor hội tụ mà không về đúng hàm.
Ý tưởng: khớp từng đạo hàm một
Xấp xỉ tuyến tính f(a) + f′(a)(x − a) khớp với f về giá trị và độ dốc tại a. Nhưng đồ thị f thường cong, nên tiếp tuyến tách xa đồ thị khá nhanh. Muốn bám sát hơn, ta thêm một số hạng bậc hai để khớp cả độ cong, tức đạo hàm bậc hai; thêm bậc ba để khớp đạo hàm bậc ba, và cứ thế. Hệ số của (x − a)ⁿ phải là f⁽ⁿ⁾(a)/n!, vì lấy đạo hàm n lần của (x − a)ⁿ cho ra n!; chia cho n! để bù lại.
Brook Taylor công bố công thức tổng quát vào đầu thế kỷ 18, dù các trường hợp riêng đã được nhiều người biết trước đó, kể cả Newton và Gregory. Ở Ấn Độ, các nhà toán học trường phái Kerala đã có khai triển chuỗi cho sin, cos và arctan từ khoảng thế kỷ 14 – 15, một sự kiện lịch sử được giới sử học toán thừa nhận rộng rãi nhưng ít được nhắc trong giáo trình phổ thông.
Một cách nhìn hữu ích: đa thức Taylor bậc n là đa thức bậc n duy nhất có giá trị và n đạo hàm đầu tiên tại a trùng với f. Điều này cho phép tìm khai triển bằng cách khéo léo thay vì lấy đạo hàm nhiều lần. Ví dụ khai triển của eˣ² có được bằng cách thay x bằng x² trong khai triển của eˣ.
Bốn khai triển Maclaurin cần thuộc
Bảng dưới là bốn khai triển dùng nhiều nhất. Cột cuối cho biết khoảng mà chuỗi hội tụ về đúng hàm.
| Hàm | Khai triển quanh 0 | Hội tụ khi |
|---|---|---|
| eˣ | 1 + x + x²/2! + x³/3! + x⁴/4! + … | Mọi x |
| sin x | x − x³/3! + x⁵/5! − x⁷/7! + … | Mọi x |
| cos x | 1 − x²/2! + x⁴/4! − x⁶/6! + … | Mọi x |
| 1/(1 − x) | 1 + x + x² + x³ + … | |x| nhỏ hơn 1 |
| ln(1 + x) | x − x²/2 + x³/3 − x⁴/4 + … | x lớn hơn −1 và nhỏ hơn hoặc bằng 1 |
Để ý các mẫu hình: sin chỉ có bậc lẻ (vì sin là hàm lẻ), cos chỉ có bậc chẵn. Lấy đạo hàm từng số hạng của khai triển sin, bạn được đúng khai triển cos, khớp với (sin x)′ = cos x. Lấy tích phân từng số hạng của 1/(1 + t) (thay x bằng −t trong dòng thứ tư) từ 0 đến x, bạn được khai triển ln(1 + x). Các khai triển không đứng riêng lẻ mà sinh ra nhau.
Ví dụ tính tay: số e và sin 0,5
Hai ví dụ dưới đây đều tính được bằng máy tính cầm tay thông thường, và bạn nên làm lại để thấy tốc độ hội tụ.
| Phép tính | Tổng tích luỹ | So với giá trị thật |
|---|---|---|
| e: 1 + 1 | 2 | e khoảng 2,71828 |
| + 1/2 | 2,5 | |
| + 1/6 | khoảng 2,66667 | |
| + 1/24 | khoảng 2,70833 | |
| + 1/120 | khoảng 2,71667 | Lệch khoảng 0,0016 sau 6 số hạng |
| sin 0,5: 0,5 | 0,5 | sin 0,5 khoảng 0,4794255 |
| − 0,5³/6 | khoảng 0,4791667 | |
| + 0,5⁵/120 | khoảng 0,4794271 | Lệch khoảng 0,0000016 sau 3 số hạng |
Chuỗi của sin hội tụ rất nhanh với x nhỏ vì giai thừa ở mẫu tăng nhanh hơn luỹ thừa ở tử. Với x = 0,5, chỉ ba số hạng đã cho sáu chữ số đúng. Đây cũng là lý do vì sao trong vật lý, với góc nhỏ người ta thay sin x bằng x và cos x bằng 1 − x²/2 mà vẫn đủ chính xác.
Một ví dụ nữa để tự kiểm: căn của (1 + x) xấp xỉ 1 + x/2 − x²/8 gần 0. Với x = 0,1 được 1 + 0,05 − 0,00125 = 1,04875, trong khi căn của 1,1 khoảng 1,0488088. Sai lệch cỡ sáu phần một trăm nghìn.
Bán kính hội tụ: chuỗi chỉ đúng trong một vùng
Chuỗi 1 + x + x² + … chỉ hội tụ khi |x| nhỏ hơn 1, dù hàm 1/(1 − x) xác định tại mọi x khác 1. Thử x = 2: hàm cho −1, còn chuỗi cho 1 + 2 + 4 + … tăng vô hạn. Mỗi chuỗi luỹ thừa có một bán kính hội tụ R: hội tụ khi |x − a| nhỏ hơn R, phân kỳ khi lớn hơn R, còn tại biên phải xét riêng.
Bán kính thường tìm bằng tiêu chuẩn tỉ số áp cho các số hạng. Với eˣ, tỉ số giữa hai số hạng liên tiếp là |x|/(n + 1), tiến về 0 với mọi x, nên bán kính vô hạn. Với ln(1 + x), tỉ số tiến về |x|, nên bán kính bằng 1; tại x = 1 chuỗi thành 1 − 1/2 + 1/3 − … hội tụ về ln 2, tại x = −1 thành âm của chuỗi điều hoà, phân kỳ.
Có một cách nhìn sâu hơn đến từ giải tích phức: bán kính hội tụ của chuỗi quanh a bằng khoảng cách từ a tới điểm "xấu" gần nhất của hàm trong mặt phẳng phức. Điều này giải thích vì sao 1/(1 + x²), một hàm trơn trên toàn trục số thực, lại có chuỗi Maclaurin chỉ hội tụ khi |x| nhỏ hơn 1: hàm có điểm kỳ dị tại i và −i, cách 0 đúng một đơn vị.
Đánh giá sai số khi cắt chuỗi
Phần dư dạng Lagrange. Khi xấp xỉ f bằng đa thức Taylor bậc n quanh a, sai số bằng f⁽ⁿ⁺¹⁾(c)(x − a)ⁿ⁺¹/(n + 1)! với một điểm c nào đó nằm giữa a và x. Không biết c chính xác, nhưng nếu chặn được |f⁽ⁿ⁺¹⁾| bởi một số M trên khoảng đó, ta có sai số không vượt quá M|x − a|ⁿ⁺¹/(n + 1)!.
Ví dụ chặn sai số cho sin. Mọi đạo hàm của sin đều có giá trị tuyệt đối không quá 1. Xấp xỉ sin 0,5 bằng đa thức bậc 5 (bậc 6 trùng vì hệ số bằng 0), sai số không quá 0,5⁷/7!, khoảng 0,0000016, khớp với sai lệch thực tế trong bảng ở trên.
Chuỗi đan dấu. Nếu chuỗi đan dấu thoả tiêu chuẩn Leibniz, sai số không vượt quá số hạng đầu tiên bị bỏ. Đây là cách ước lượng nhanh nhất, áp được cho sin, cos với x nhỏ.
Đi xa thì hỏng. Với x lớn, cần rất nhiều số hạng và sai số làm tròn trên máy có thể tích luỹ. Vì vậy trong tính toán thực tế, người ta thường đưa x về gần 0 trước (ví dụ dùng tính tuần hoàn của sin) rồi mới khai triển.
Dùng khai triển Taylor để tính giới hạn trong vài dòng
Một ứng dụng mà sinh viên năm nhất dùng được ngay là tính giới hạn dạng 0/0 bằng khai triển, thường nhanh và ít lỗi hơn áp quy tắc L’Hôpital nhiều lần. Nguyên tắc: thay mỗi hàm bằng vài số hạng đầu của khai triển quanh điểm đang xét, rút gọn, giữ lại số hạng bậc thấp nhất khác 0 ở tử và mẫu.
Ví dụ 1: giới hạn của (1 − cos x)/x² khi x tiến tới 0. Thay cos x bằng 1 − x²/2 + x⁴/24 − …, tử thành x²/2 − x⁴/24 + …, chia cho x² được 1/2 − x²/24 + …, tiến tới 1/2. Ví dụ 2: (sin x − x)/x³. Tử bằng −x³/6 + x⁵/120 − …, chia x³ tiến tới −1/6. Ví dụ 3: (eˣ − 1 − x)/x². Tử bằng x²/2 + x³/6 + …, giới hạn 1/2.
Với ví dụ 2, dùng L’Hôpital phải lấy đạo hàm ba lần, mỗi lần kiểm lại dạng vô định; khai triển cho kết quả trong một dòng và còn cho biết thêm hàm tiến tới giới hạn nhanh cỡ nào. Bạn chỉ cần chú ý khai triển đủ bậc: nếu tử còn bậc ba mà bạn cắt ở bậc hai, mọi thứ triệt tiêu về 0 và kết luận sai. Quy tắc an toàn là khai triển tới bậc bằng bậc của mẫu.
Hàm trơn mà chuỗi Taylor không về đúng hàm, và chỗ của AI
Có một ví dụ kinh điển cho thấy chuỗi Taylor không phải lúc nào cũng bằng hàm: f(x) = e mũ (−1/x²) với x khác 0, và f(0) = 0. Hàm này trơn, có đạo hàm mọi cấp tại 0 và tất cả đều bằng 0. Vì vậy chuỗi Maclaurin của nó là chuỗi 0, hội tụ ở mọi nơi, nhưng về hàm 0 chứ không về f. Hàm nào bằng chuỗi Taylor của mình trong một lân cận được gọi là hàm giải tích; eˣ, sin, cos, đa thức là hàm giải tích, còn ví dụ trên thì không.
Với AI: chatbot và máy tính đại số khai triển Taylor rất nhanh và thường đúng các số hạng đầu, nên chúng hợp làm công cụ kiểm. Nhưng hãy tự khai triển trước, rồi so. Câu lệnh mẫu hữu ích: "Đây là khai triển Taylor bậc 4 của ln(cos x) quanh 0 mình tự tính. Kiểm từng hệ số và cho biết cách nhanh hơn để ra kết quả nếu có." Câu trả lời tốt sẽ gợi ý dùng khai triển của cos rồi của ln(1 + u), một kỹ thuật ghép khai triển rất đáng học.
Một lưu ý về máy tính: máy tính cầm tay và thư viện lập trình không nhất thiết tính sin bằng đúng chuỗi Taylor. Chúng thường dùng đa thức xấp xỉ được tối ưu cho cả một khoảng, hoặc thuật toán khác như CORDIC, kết hợp với việc đưa đối số về khoảng nhỏ. Chuỗi Taylor là ý tưởng nền, không phải công thức máy nào cũng dùng nguyên văn.
Câu hỏi thường gặp
Đa thức Taylor và chuỗi Taylor khác nhau thế nào?
Đa thức Taylor là tổng hữu hạn, cắt ở bậc n, dùng để xấp xỉ. Chuỗi Taylor là tổng vô hạn, có thể hội tụ hoặc không, và khi hội tụ có thể bằng hoặc không bằng hàm. Trong ứng dụng, người ta dùng đa thức kèm ước lượng sai số.
Có cần lấy đạo hàm nhiều lần để khai triển mọi hàm không?
Không. Cách nhanh hơn là ghép các khai triển đã biết: thay biến, nhân hai chuỗi, lấy đạo hàm hoặc tích phân từng số hạng. Ví dụ khai triển arctan x có được bằng cách tích phân khai triển của 1/(1 + x²) từng số hạng.
Vì sao xấp xỉ góc nhỏ sin x gần bằng x chỉ đúng với radian?
Vì khai triển x − x³/6 + … được suy ra từ đạo hàm của sin bằng cos, mà công thức này chỉ đúng khi x tính bằng radian. Với độ, sin của x độ xấp xỉ πx/180 chứ không phải x.
Chuỗi Taylor dùng ở đâu ngoài giáo trình?
Trong vật lý để tuyến tính hoá phương trình quanh vị trí cân bằng, trong kỹ thuật để ước lượng sai số đo, trong tính toán số để xây dựng phương pháp giải phương trình vi phân và tìm nghiệm như phương pháp Newton. Tối ưu hoá dùng khai triển bậc hai để biết hướng và bước đi.
Có thể dùng chuỗi Taylor để tính tích phân không có nguyên hàm sơ cấp không?
Có, đây là một ứng dụng rất thực tế. Ví dụ tích phân e mũ (−x²) từ 0 đến 1: khai triển hàm thành 1 − x² + x⁴/2 − x⁶/6 + …, tích phân từng số hạng được 1 − 1/3 + 1/10 − 1/42 + …, khoảng 0,7468 khi cộng đủ số hạng.
Làm sao biết cần bao nhiêu số hạng?
Đặt mức sai số mong muốn, rồi dùng phần dư Lagrange hoặc tiêu chuẩn đan dấu để tìm n nhỏ nhất thoả mãn. Với hàm và điểm quen thuộc, có thể thử cộng thêm từng số hạng cho tới khi chữ số cần thiết không đổi nữa, nhưng phải cẩn thận vì cách này không phải chứng minh.