استیفاء

ریاضیات کے ذیلی شعبہ عددی تحلیل میں **استیفاء** ایسے طریقہ کو کہتے ہیں جس سے معلوم ڈیٹا نقاط کے متفرد طاقم کے حیطہ میں نئے ڈیٹا نقاط تعمیر کیے جا سکیں۔

ہندسہ اور سائنس میں اکثر ہمارے پاس ڈیٹا ہوتے ہیں، جیسا کہ نمونہ گیری یا تجربی کے ذریعہ اور ہم ایک فنکشن تخلیق دینا چاہتے ہیں جو ان ڈیٹا نقاط کے قریب ترین ہو۔ اسے منحنی بیٹھا یا مراجعت تحلیل کہتے ہیں۔ استیفاء خاص قسم ہے منحنی بٹھا کی کہ اس میں ضروری ہے کہ فنکشن بعینہ ڈیٹا نقاط میں سے گذرے۔

[300px|تصغیر|An interpolation of a finite set of points on an [epitrochoid. Points through which curve is splined are red; the blue curve connecting them is interpolation.]]

## مثال
فرض کرو کہ ہمارے پاس اس طرح کا ایک جدول ہے جس میں کسی نامعلوم دالہ *f*کی کچھ اقدار دی ہیں

دائیں|تصغیر|230px|Plot of the data points as given in the table.

استیفاء کے ذریعہ ہم درمیانی نقاط، جیسا کہ *x*&nbsp;=&nbsp;2.5 ،پر فنکشن کی قدر معلوم کر سکتے ہیں۔

استیفاء کے بیشتر طریقے ہیں، جن میں سے کچھ نیچے بیان ہوئے ہیں۔ استیفاء کا الخوارزم چنتے ہوئے کچھ فِکر یہ ہوتے ہیں : طریقہ کی درستی کتنی ہے؟ کتنا مہنگا ہے؟ استیفائی کتنا ہموار ہے؟ کتنے ڈیٹای نقاط کی ضرورت ہے؟

## پارچہ روش دائم استیفاء
[تصغیر|دائیں|Piecewise constant interpolation, or [nearest-neighbor interpolation.]]

استیفاء کا سادہ ترین طریقہ یہ ہے کہ قریب ترین ڈیٹا-نقطہ تعین کیا جائے اور اسی کی قدر تفویض کر دی جائے۔ یکبُعد میں اس طریقہ کو لکیری استیفاء پر فوقیت دینے کی شاز ہی کوئی وجہ ہوتی ہے، جو قریباً اتنی ہی سستی پڑتی ہے، مگر بالا بُعد میں متعدد متغیر استیفاء یہ طریقہ اپنی تیزی اور سادگی کے باعث پسند کیا جا سکتا ہے۔

## لکیری استیفاء
دائیں|تصغیر|230px|Plot of the data with linear interpolation superimposed

ایک سادہ ترین طریقہ لکیری استیفا ہے۔ اوپر کی مثال میں *f*(2.5) کو جبری کرنے کا دیکھو۔ چونکہ 2 اور 3 کے وسط میں 2.5 ہے، اس لیے *f*(2) = 0.9093 اور *f*(3) = 0.1411 کے وسط میں *f*(2.5) لیا جا سکتا ہے، جس سے 0.5252 ملتا ہے۔
جامعاً، دو ڈیٹای نقاط (*x**a*,*y**a*) اور (*x**b*,*y**b*) لیے جاتے ہیں اور ان کے درمیان نقطہ (*x*,*y*) پر استیفائیا یوں نکالا جاتا ہے :
: y = y_a + (y_b-y_a)\frac{(x-x_a)}{(x_b-x_a)} 

لکیری استیفا سادہ اور تیز ہے، مگر درستی زیادہ نہیں ہوتی۔ ایک اور نافائدہ یہ ہے کہ ڈیٹای نقاط *x**k* پر استیفائیا تفرقی نہیں ہوتا۔

## کثیر رقمی استیفاء
دائیں|تصغیر|230px|Plot of the data with polynomial interpolation applied

لکیری استیفاء کی جامع صورت کثیر رقمی استیفاء ہے۔ غور کرو کہ لکیری استیفائیا ایک لکیری دالہ ہے۔ اب ہم اس استیفائیا کو بالا درجہ کے کثیر رقمی سے بدل دیتے ہیں۔

اوپر والا مسئلہ کو دوبارہ دیکھتے ہیں۔ درج ذیل درجہ چھ کا کثیر رقمی تمام سات نقاط میں سے گزرتا ہے :
: f(x) = -0.0001521 x^6 - 0.003130 x^5 + 0.07321 x^4 - 0.3577 x^3 + 0.2255 x^2 + 0.9038 x. 

متغیر *x* کو *x* = 2.5 رکھ کر ہمیں *f*(2.5) = 0.5965 ملتا ہے۔

جامعاً، اگر ہمارے پاس *n* نقاط ہوں، تو صرف ایک ایسا کثیر رقمی ہے جس کا درجہ زیادہ سے زیادہ *n*&minus;1 ہے اور وہ تمام نقاط سے گذرے ہے۔ استیفائی غلطی متناسب ہے نقاط کے درمیان فاصلے کی *n*-ویں طاقت کے۔ چونکہ استیفائیا کثیر رقمی ہے اس لیے لامتناہی تفرقی ہے۔ اس طرح کثیر رقمی استیفاء سارے مسائل حل کر دیتا ہے لکیری استیفا کے۔ البتہ، کثیر رقمی استیفاء میں قباحت یہ ہے کہ تمام ڈیٹای نقاط کو استعمال کر کے کثیر رقمی جبر کرنا ہوتا ہے جو مہنگا پڑتا ہے۔

## کترن استیفاء
دائیں|تصغیر|230px|Plot of the data with spline interpolation applied

یار کرو کہ لکیری استیفاء ہر وقفہ [*x**k*,*x**k+1*] (دو نقاط کے درمیان) لکیری فنکشن استعمال کرے ہے۔ کترن استیفا طریقہ ہر وقفہ پر نچلے درجہ کا کثیر رقمی استعمال کرتا ہے اور کثیر رقمی ٹکرے یوں چنتا ہے کہ یہ ہموار آپس میں جڑتے ہیں۔ اس نتیجہ فنکشن کو کترن کہتے ہیں۔

مثال کے طور پر، قدرتی کعبی کترن پارچہ-روش کعبی ہوتی ہے اور دو دفعہ استمری تفرقی ہوتی ہے۔ مزید، تفرقیِ دوم کونوں پر صفر ہوتا ہے۔ اوپر والے مسئلہ (جدول) میں کعبی کترن استیفاء یوں دیا جائے گا:
:  f(x) = \begin{cases}
-0.1522 x^3 + 0.9937 x, & \mbox{if } x \in [0,1], \\
-0.01258 x^3 - 0.4189 x^2 + 1.4126 x - 0.1396, & \text{if } x \in [1,2], \\
0.1403 x^3 - 1.3359 x^2 + 3.2467 x - 1.3623, & \text{if } x \in [2,3], \\
0.1579 x^3 - 1.4945 x^2 + 3.7225 x - 1.8381, & \text{if } x \in [3,4], \\
0.05375 x^3 -0.2450 x^2 - 1.2756 x + 4.8259, & \text{if } x \in [4,5], \\
-0.1871 x^3 + 3.3673 x^2 - 19.3370 x + 34.9282, & \text{if } x \in [5,6]. \\
\end{cases} 
اس میں ہمیں *f*(2.5)&nbsp;=&nbsp;0.5972 ملتا ہے

زمرہ:عددی تحلیل
زمرہ:ویڈیو
زمرہ:ویکی ڈیٹا سے مختلف مختصر وضاحت