مقدمة
تقرّب كثيرة حدود تايلور الدالة قرب نقطة، بمطابقة قيمتها وقيم عدد منتهٍ من مشتقاتها عند تلك النقطة. والمجموع اللانهائي المبني على هذه المعاملات هو متسلسلة تايلور؛ وإذا كان المركز صفرًا سُمّيت متسلسلة ماكلورين. يجب التحقق بصورة منفصلة من تقارب المتسلسلة ومن مساواة مجموعها للدالة الأصلية.
باستخدام الدوال الأسية والمثلثية، سنوضح كيفية تحديد المعاملات وشروط صحة المساواة وتقدير الخطأ عند الاكتفاء بعدد منتهٍ من الحدود. وفي النهاية نقدم مثالًا تعليميًا ببايثون لتقريب \(\sin x\) قرب الصفر.
لماذا نقرب الدوال بكثيرات الحدود؟
بادئ ذي بدء، لماذا من الضروري تمثيل دالة ككثيرة حدود ( \(a + bx + cx^2 + \dots\) )؟
flowchart LR
A["دالة تحليلية قرب المركز"] -->|"توسع تايلور ضمن مجال التقارب"| B["متسلسلة قوى"]
B -->|"القطع عند حدود منتهية"| C["تقريب كثيرة الحدود"]
C -->|"العمليات الحسابية الأساسية فقط"| D["حسابات كمبيوتر عالية السرعة"]
قد يسهّل تقريب دالة غير خطية بكثيرة حدود حساب قيمها واشتقاقها وتكاملها. بعد تحديد المعاملات، يمكن حساب قيمة كثيرة الحدود بالجمع والضرب. لكن حد الباقي والأخطاء العددية هما ما يحدد مجال صلاحية التقريب ودقته.
الفهم البديهي لمتسلسلة ماكلورين
لنبدأ بتوسع ماكلورين لتقريب دالة قرب \(x=0\). نفترض أن \(f\) تملك المشتقات المطلوبة قرب الصفر. نختار درجة منتهية \(n\) ونحدد معاملات كثيرة الحدود \(P_n\) التالية:
\[ P_n(x) = c_0 + c_1 x + c_2 x^2 + \dots + c_n x^n \]نحدد المعاملات بمطابقة قيمة الدالة ومشتقاتها عند الصفر. شرط المشتقة الثانية أدناه يخص الحالة \(n\ge2\).
- شرط القيمة: من \(P_n(0)=f(0)\) نحصل على \(c_0=f(0)\). يطابق الحد الثابت قيمة الدالة عند الصفر.
- شرط المشتقة الأولى: من \(P_n'(0)=f'(0)\) نحصل على \(c_1=f'(0)\). تمثل \(P_1(x)=f(0)+f'(0)x\) التقريب بالمماس عند الصفر.
- شرط المشتقة الثانية: نفرض \(P_n''(0)=f''(0)\). ولأن \(P_n''(0)=2c_2\)، نجد \(c_2=f''(0)/2!\). عند وجود حدود من درجات أعلى، لا تساوي المشتقة الكاملة \(P_n''(x)\) الثابت \(2c_2\) عمومًا.
- الشرط العام: لكل \(k\le n\)، يحدد الشرط \(P_n^{(k)}(0)=f^{(k)}(0)\) المعامل \(c_k=f^{(k)}(0)/k!\). ويقدّر حد الباقي، الذي سنعرضه لاحقًا، الخطأ قرب المركز.
صيغة واشتقاق متسلسلة ماكلورين
إذا كانت \(f\) قابلة للاشتقاق عددًا غير منتهٍ من المرات، أمكن بناء متسلسلة ماكلورين من هذه المعاملات. لكن كتابة المساواة مع \(f(x)\) كما يلي تتطلب أن تتقارب المتسلسلة إلى \(f(x)\) عند النقطة المعنية. يحدث ذلك في جوار مناسب للصفر إذا كانت \(f\) تحليلية فيه. القابلية للاشتقاق عددًا غير منتهٍ من المرات وحدها لا تكفي.
\[ f(x) = f(0) + f'(0)x + \frac{f''(0)}{2!}x^2 + \frac{f^{(3)}(0)}{3!}x^3 + \dots \]مكتوبة باستخدام تدوين سيجما، تبدو كالتالي:
\[ f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(0)}{n!} x^n \]هنا، \(f^{(n)}(0)\) هي القيمة التي تم الحصول عليها عن طريق اشتقاق الدالة \(f(x)\) عدد \(n\) من المرات والتعويض بـ \(x=0\)، ويمثل \(n!\) مضروب \(n\) ( \(n \times (n-1) \times \dots \times 1\) ).
متسلسلات ماكلورين للدوال النموذجية
تتقارب المتسلسلات التالية للدالة الأسية والجيب وجيب التمام إلى الدوال المقابلة لكل \(x\) حقيقي. وتُقاس زوايا الدوال المثلثية بالراديان.
1. الدالة الأسية \(e^x\)
تبقى الدالة الأسية \(f(x)=e^x\) مساويةً لـ \(e^x\) بعد أي عدد من الاشتقاقات. لذلك تساوي قيم جميع مشتقاتها عند الصفر \(1\) (\(f^{(n)}(0)=1\)).
\[ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \dots = \sum_{n=0}^{\infty} \frac{x^n}{n!} \]2. الدوال المثلثية \(\sin x\) و \(\cos x\)
تتبع مشتقات \(\sin x\) المتعاقبة الدورة \(\cos x, -\sin x, -\cos x, \sin x, \dots\). عند \(x=0\)، تكون قيم المشتقات ذات الرتب الفردية وحدها غير صفرية، أما المشتقات ذات الرتب الزوجية فقيمها \(0\).
\[ \sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \dots = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1} \]وبالمثل، بالنسبة لـ \(\cos x\)، تبقى فقط حدود الرتب الزوجية.
\[ \cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \dots = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n)!} x^{2n} \]الامتداد إلى متسلسلة تايلور
بنقل المركز من الصفر إلى \(a\) نحصل على متسلسلة تايلور. إذا كانت \(f\) تحليلية قرب \(a\)، صحت المساواة التالية ضمن المجال الذي تمثل فيه المتسلسلة الدالة الأصلية. أما التقريب الذي يفترض وجود مشتقات حتى رتبة منتهية فقط، فيُعالج بكثيرة حدود تايلور المنتهية وحد الباقي كما سيأتي.
\[ f(x) = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \dots = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!} (x-a)^n \]تُظهر هذه الصيغة قوتها عندما تريد التنبؤ بقيمة دالة في موقع بعيد قليلاً عن \(x=a\) ( \(x = a + \Delta x\) ).
تطبيقات متسلسلات تايلور
التقريب الخطي في الفيزياء
يشيع في الفيزياء التقريب الخطي بكثيرات حدود تايلور. في حالة البندول، نقيس الزاوية \(\theta\) بالراديان ونفترض \(|\theta|\ll1\). عندها نستخدم تقريب الجيب من الدرجة الأولى:
\[ \sin \theta \approx \theta \quad (\text{عندما تكون } \theta \text{ صغيرة بما يكفي}) \]يجعل هذا التقريب معادلة البندول خطية، ويعطي زمنًا دوريًا لا يعتمد على السعة ضمن تقريب السعات الصغيرة. لكن الزمن الدوري الفعلي للبندول البسيط يعتمد على السعة؛ فلا يصح تطبيق التقريب نفسه على الاهتزازات الكبيرة.
البرمجة والحساب العددي
تستخدم الحسابات العددية للدوال أساليب متعددة، منها التقريب بكثيرات الحدود. تستدعي وحدة math في CPython أساسًا مكتبة C الرياضية الخاصة بالمنصة، وتعتمد الخوارزميات التفصيلية على التنفيذ. المثال التعليمي التالي يجمع عددًا قليلًا من الحدود قرب الصفر، مثلًا عندما \(|x|\le1\)، ولا يعيد إنتاج التنفيذ الداخلي للمكتبة القياسية.
| |
نصف قطر التقارب ومبرهنة تايلور
نصف قطر التقارب \(R\) عدد يحدد البعد عن المركز \(a\) الذي تتقارب ضمنه متسلسلة القوى، أي \(|x-a|<R\)، وليس اسم الفترة نفسها. وقد يكون \(R=0\) أو \(R=\infty\). وتُفحص النقط الحدودية \(|x-a|=R\) على حدة. مثلًا، نصف قطر تقارب متسلسلة ماكلورين لـ \(\ln(1+x)\) هو 1، وتساوي الدالة للأعداد الحقيقية \(-1<x\le1\). تتقارب تقاربًا شرطيًا عند \(x=1\)، وتتباعد عند \(x=-1\).
للتقريب المنتهي، نفترض أن \(f\) من الصنف \(C^{n+1}\) على الفترة الواصلة بين \(a\) و\(x\). عندها تعطي مبرهنة تايلور:
\[ f(x)=P_{n,a}(x)+R_n(x),\qquad P_{n,a}(x)=\sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}(x-a)^k \]\[ R_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1} \]تقع \(\xi\) بين \(a\) و\(x\). إذا كان \(|f^{(n+1)}|\le M\) على الفترة، فإن \(|R_n(x)|\le M|x-a|^{n+1}/(n+1)!\). ولإثبات مساواة الدالة لمتسلسلة تايلور اللانهائية الخاصة بها، يمكن التحقق من أن هذا الباقي يؤول إلى الصفر عندما \(n\to\infty\).
تجمع الشيفرة السابقة 10 حدود، حتى \(x^{19}\). ولأن معامل الدرجة 20 للجيب يساوي صفرًا، تعطي مبرهنة تايلور حدًا أعلى لخطأ القطع عند \(x=1\) مقداره \(1/21!\)، أي نحو \(1.96\times10^{-20}\). يخص هذا الحد المجموع المنتهي المحسوب بدقة في الأعداد الحقيقية؛ أما خطأ التقريب الناتج عن تدوير الأعداد في حسابات الفاصلة العائمة ببايثون فهو أمر منفصل. وخرج math.sin أيضًا قيمة فاصلة عائمة للمقارنة، وليس القيمة الرياضية الدقيقة نفسها.
دالة ملساء لا تمثلها متسلسلة تايلور الخاصة بها
\[ g(x)=\begin{cases}e^{-1/x},&x>0,\\0,&x\le0.\end{cases} \]هذه الدالة قابلة للاشتقاق عددًا غير منتهٍ من المرات، وجميع مشتقاتها عند الصفر تساوي صفرًا. لذلك تكون متسلسلة تايلور الخاصة بها عند الصفر صفريةً تمامًا، وتتقارب لكل \(x\). لكن عند \(x>0\) لدينا \(g(x)>0\)، فلا يساوي مجموع المتسلسلة الدالة الأصلية. يوضح المثال الفرق بين تقارب المتسلسلة ومساواة مجموعها للدالة.
خاتمة
تعطي كثيرات حدود تايلور تقريبات محلية، وتقدّر حدود الباقي أخطاءها. وعند استخدام متسلسلة تايلور بوصفها مساواة، يجب التحقق من مجال تقاربها ومساواة مجموعها للدالة الأصلية. تساعد هذه الفروق على تحديد الدقة المطلوبة ومجال صلاحية التقريب في الفيزياء والحساب العددي.
