تحليل الأخطاء في التحليل العددي

## المقدمة

التّحليل العدديّ هو أحد فروع الرّياضيات الهامّة، وهو الذي يربط بين الرياضيات التحليلية والحاسب الآلي، ويُستخدم عادةً في إيجاد حلول بعض المسائل والمشاكل التي لا يمكن حلّها بالرياضيات التحليلية؛ حيث تكون النتيجة التي نحصل عليها تقريبية.
و بما أنّنا نحصل على نتيجةٍ تقريبيّة أو حلّ تقريبي، فهذا يعني وجود نسبة خطأ علينا حسابه، إلا أنّنا لو استطعنا إيجاد الخطأ لاستطعنا إيجاد الحلّ الفعليّ (الحقيقي) الأمر الذي يعني أن إيجاد الخطأ غير ممكن، فنسعى بالتالي إلى إيجاد تقريب للخطأ أو حجم الخطأ (القيمة التي لا يتجاوزها الخطأ).
إذًا تتلخّص مهمّة التحليل العددي في إيجاد الحل التقريبي لمسألة ما وتقويم الخط

## التقريب (Approximation)
إنّ معظم الأعداد التي نتعامل معها هي أعداد تقريبية؛ لأنها غالبًا ما تمثّل أطوالًا وقياساتٍ أو قيمًا لمقاديرَ فيزيائيّة بنتيجة القياس، وهي بحدّ ذاتها تقريبية. كذلك فإن الكثير من الأعداد الحقيقية لا يمكن التعبير عنها بعدد منتهٍ من الأرقام، فمثلًا العدد\pi
يساوي «تقريبًا» 3.14159، كذلك هو الحال بالنسبة لـلعدد eو \sqrt{7} مثلًا؛ فإنّنا لا نستطيع كتابتها كأعداد مضبوطة.
إننا ـ كما أوردنا في السابق ـ يتحتّم علينا أن نستخدم التقريب لحل المسائل التي لا تحلّ في الرياضيات التّحليلية، إلا أن هذا التقريب ستنتج عنه أخطاء، أهمها التالي:

### التدوير (Rounding)
هو واحد من أهمّ مصادر الأخطاء وهو استعمال الأعداد المدوّرة بدلًا من المضبوطة.
قاعدة التدوير: إذا كان لدينا العدد X=0.x_1x_2...x_{n-1}x_n، وأردنا الاكتفاء بـ (n-1) عدد على يمين الفاصلة، أي أن العدد المدوّر يكون كما يلي:

 X_0=0.X_1X_2.....X_{n-2}\bar X_{n-1} فإن \bar X_{n-1}
يتم تحديده بالشكل الآتي:
إذا كانX_n(أكبر من 5 أو يساوي)، فإن\bar X_{n-1}=X_{n-1}+1 إذا كانX_n (أصغر من 5)، فإن\bar{X_{n-1}}=X_{n-1}.
على سبيل المثال العددان 0.045651 و 9033 بتقريبهما باستخدام التدوير لثلاث خانات عشرية ينتج العددان 0.0457 و 9033 على التوالي.

أما عن منشأ الخطأ العددي هنا فيكون بسبب الاكتفاء بعدد معين من المنازل العشريّة بعد الفاصلة في الحسابات.

### القطع (chopping)
إن آلات الحاسبة الإلكترونية لا تدور الأعداد غالبًا وإنما تقطعها.
قاعدة القطع: إذا كان لدينا العددX=0X_0X_2....X_(n-1)X_n وأردنا الاكتفاء بــ (1-n) عدد على يمين الفاصلة، فإن العدد المتقطع يكون كما يلي:
X_0=0.X_1X_2....X(n-2)X_(n-1) على سبيل المثال العددان 0.045651 و 9033 بتقريبها باستخدام القطع لثلاث خانات عشرية ينتج العددان 0.0456 و9030 على التوالي.
** ملاحظة: العدد 0 على يمين الفاصلة غير معتبر في عملية التقريب.
ومنشأ الخطأ العددي هنا هو يكون من الاكتفاء بعدد معين من حدود المتسلسلة اللانهائية.

## الأخطاء (Error)
تلعب الأخطاء دورًا محوريًا في التحليل العددي وهي تبين مدى دقة وسرعة الطريقة المستخدمة لاحقًا. وفيما يلي أنواع الأخطاء وتأثيرها:
### الخطأ المطلق (Absolute Error)
وهو الخطأ المطلق المرتكب في العدد المقربX_0 هو القيمة المطلقة للفرق بينه وبين القيمة الفعلية X
\Delta=|\Delta.x|=|x_0-x|=|x-x_0| 
غالبًا مايكون العدد الفعلي x غير معلوم، عندئذ لا يمكن تعيين الخطأ المطلق، من أجل ذلك نلجأ إلى إيجاد حد أعلى لهذا الخطأ مثل\epsilon_x ويحقق المتباينة:
|\Delta.x|=|x-x_0|\le\varepsilon_x .
وهكذا نحصل على:
(x_0-\epsilon_x) \le x \le(x_0+\epsilon_x) 
أي أن العدد الفعلي يقع بين العددينx_0-\epsilon_x ,x_0+\epsilon_x , حيث القيمةx_0+\epsilon_x تمثل تقريب العدد x بالزيادة والقيمةx_0-\epsilon_x تمثل تقريبه بالنقصان.
#### مثال
لتكن x=3.257 ولتكن القيمة التقريبية لـx هي 3.26 بتعيين الخطأ المطلق:

|\Delta.x|=|x_0-x|

|3.26-3.257|=0.003

### الخطأ النسبي (Relative)
الخطأ R النسبي المرتكب في عدد ما تقريبيx_0 هو نسبة الخطأ المطلق لمرتكب بهذا العدد إلى القيمة المطلقة للعدد الفعلي x≠0) X) أي أن:
R={\Delta\over|x|}
وفي حالة عدم معرفة القيمة الفعلية X نلجأ إلى الحد الأعلى لهذا الخطأ أي أن:

 {\Delta\over|x|}\le{S_x} ،{R}\le{S_x} 
ومنه: \Delta\le|x|S_x
لذلك يمكن اعتبار: \epsilon_x=|x|\delta_x
فيكون: S_x={\epsilon_x\over|x|}
الحد الأعلى للخطأ النسبي المرتكب في العدد المقربx_0 وبما أن {x}\cong{x_0} فيمكن أن يكتب{\epsilon_x}\cong={0.003\over3.257}=0.000921 
ويستفاد من الخطأ النسبي في حساب الدقة المعنوية (significant digits) حيث العلاقة التالية:
\le{5\times10^-t}
حيث t أكبر عدد صحيح غير سالب نستطيع أن نوجد من خلاله أكبر فترة تقريب للخطأ الفعلي.
ملاحظات عامّة:
* من المهمّ أن يُعلم أنّ الخطأ النسبي لا يتأثر بالخطأ كثيرًا بينما الخطأ المطلق يتأثّر بشكل ملحوظ؛ لذا نعتمد في الأغلب على الخطأ النسبي.
* أيضًا كلّما كانت قيمة الخطأ الناتجة صغيرة جدًا كلما كان هذا أفضل، وعلى العكس من ذلك فكلما كبرت قيمة الخطأ احتجنا لأن نبحث عن إجراء رياضيّ يعمل على تصغير (تحسين) قيمة الخطأ الناتج.

## أكبر خطأ نسبي في الدالة في عدة متغيرات (Max relative error in a function of several variables)
نفرض أن دالة f في متغيرn:
 x_1,x_2,...,x_n
أي أن:
f=f(x_1,x_2,...,x_n)
ونفرض أن الأخطاء المفردة في هذه المتغيرات هي على الترتيب:
\Delta.x_1,\Delta.x_2,...\Delta.x_n
فيكون الخطأ الكلي في الدالة مع اهمال حدود الرتبة الثانية وما فوقها هو:
\Delta.f={df\over{dx_1}}\Delta.x_1+{df\over{dx_2}}\Delta.x_2+....+{df\over{dx_n}}\Delta.x_n

إذا |\Delta.f|=|\Delta.x_1|+|\Delta.x_2|+....+|\Delta.x_n|

وبالتالي يكون أقصى خطأ نسبي هو:
|\Delta.x_1|+|\Delta.x_2|+....+|\Delta.x_n|
### مثال
أكبير خطأ نسبي في كل من الدالتين التاليتيين بدلالة المتغيراتx_1,x_2,...,x_n
وأخطأها\Delta.x_1,\Delta.x_2,...,\Delta_n

f=x_1,x_2,...,x_n

g={x_1}^{m_1},{x_2}^{m_2},...,{x_n}^{m_n}

الحل:

|\Delta.f|_\max=1.|\Delta.x_1|+1.|\Delta.x_2|+...+1.|\Delta.x_n|

{|\Delta.f|\over}_\max={|\Delta.x_1|+|\Delta.x_2|+...+|\Delta.x_n|\over}

{|\Delta.g|\over}_\max=|m_1|{|\Delta.x_1|\over}+|m_2|{|\Delta.x_2|\over}+...+|m_n|{|\Delta.x_n|\over}

يُلاحظ عمومًا أن الخطأ الفعلي في قيمة يكون أقل بكثير من الحد الأقصى للخطأ؛ وذلك لأن الأخطاء من الناحية العلمية تتجه لأن يلغي بعضها بعضًا (حيث بعضها موجب والبعض الآخر سالب) فمثلًا إذا أضيف 200,000 عدد، وقرب كل عدد إلى 4 أرقام عشرية، فإن الحد الأقصى للخطأ يساوي
10\times.5\times20,000 أو يساوي 1 وهذه قيمة كبيرة، بينما الخطأ الكلي المتوقع يكون عادة في حدود 0,005.

## مراجع

تصنيف:رياضيات