روش نیوتن

در آنالیز عددی روش نیوتن، که همچنین به عنوان روش **نیوتن-رافسون**  نیز شناخته می‌شود الگوریتم ریشه یابی است که تقریب‌های خوبی در نزدیکی ریشه یک تابع (صفرهای یک تابع) می‌زند. در پایه ای‌ترین حالت، الگوریتم نیوتن برای یک تابعی چون  f  \,  با متغیر   x  \, و با مشتق  {f'} \, به همراه حدس اولیه x_0 \, بکار می‌رود. اگر تابع حدس کافی و دقیقی را برآورد سازد و همچنین حدس اولیه نزدیک به ریشه تابع مفروض باشد (که با همگرایی تقریب‌ها این موضوع روشن می‌شود) آنگاهx_1  \ \, تقریب بهتری نسبت به x_0 \, به حساب می‌آید. چرا که با احتساب همگرایی جواب‌ها، هر تقریب نسبت به تقریب قبل از خودش از دقت بالاتری برخوردار بوده و به ریشه تابع نزدیک تر است. به لحاظ هندسی{(x_1,0)} \,نقطه ای است که محور {x} \, و خط مماس تابع  {f} \, در نقطهٔ {(x_0,f(x_0))} \, یکدیگر را قطع می‌کنند. شکل عمومی الگوریتم نیوتن به شرح زیر می‌باشد:

:x_{1} = x_0 - \frac{f(x_0)}{f'(x_0)} \,
که در اصل از رابطه f(x)= f(x_0)+\frac{f'(x_0) (x-x_0)}{1!} بدست آمده است. می‌دانیم که در نقطهٔ برخورد تابع با محور{x} \, مقدار تابع صفر خواهد بود لذا 0= f(x_0)+\frac{f'(x_0) (x-x_0)}{1!} که در آخر با تقسیم بر{f'(x_0)}  می‌توان رابطه را به فرم رو به رو بازنویسی کرد:

x_{1} = x_0 - \frac{f(x_0)}{f'(x_0)} \,

همان‌طور که مشهود است روش نیوتن-رافسون از سری تیلور ناقص تابع مفروض به عنوان یک تقریب خطی حول نقطهٔ حدس اولیهx_0 \, بهره می‌برد و از این جهت تقریب را ناقص می‌گویند که نیازی به نوشتن سری تابع تا مراتب بالاتر نبوده و به همان دو جمله ابتدایی بسنده می‌کند که این موضوع نیز دلیلی بر تقریب خطی بودن روش نیوتن می‌باشد. همچنین چون این روش معادلهٔ یک تابع را تا معادلهٔ یک تابع درجه یک تقیل می‌دهد، لذا صرف نظر از اینکه تابع چند ریشه دارد، در نهایت الگوریتم تنها یک جواب بدست می‌آورد.

این روش همچنین می‌تواند در توابع مختلط و دستگاه معادلات بکار رود.

alt Illustration of Newton's method|بندانگشتی|چپ| تابع  <math>  f  \,</math> با رنگ آبی و خط مماس با رنگ قرمز مشخص شده است. می‌بینیم که برای ریشه <math>x \,</math> در تابع <math>f \,</math>  تقریب <math>x_{n+1} \,</math> نسبت به <math>x_n \,</math> قوی تر است.

## شرح
سازوکار روش نیوتن شروع مراحل تخمین ریشه با انتخاب یک حدس اولیه است که به اندازه لازم به مقدار واقعی ریشه نزدیک باشد، سپس می‌توان با استفاده از خط مماس تابع را تقریب زد و نهایتاً با توجه به خط مماس طول از مبدأ (ریشه تقریب خطی) را معین ساخت. ریشه تقریب معمولاً تقریب بهتری از ریشه واقعی تابع نسبت به حدس اولیه است و الگوریتم به همین منوال می‌تواند تکرار شود.

## چگونگی نامگذاری الگوریتم
اسم " Newton's method " از شرح آیزاک نیوتن در حالت خاصی از روش مذکور در "آنالیز بوسیله سری‌های بیکران" (نوشته شده در ۱۶۶۹،منتشر شده در سال ۱۷۱۱ توسط ویلیام جونز که در اصل کاری ریاضیاتی از نیوتن بود) و در De metodis fluxionum et serierum infinitarum (نوشته شده در ۱۶۷۱، که در سال ۱۷۳۶ توسط جان کولسون ترجمه و منتشر شد) مشتق شده است.

## عدم موفقیت الگوریتم
روش نیوتن تنها زمانی یافتن ریشه تقریبی را تضمین می‌کند که شرایطی برقرار باشد.
*; نقاطی با شروع بد:
در برخی مواقع شرایطی که برای همگرایی لازم است برقرار است، اما نقطهٔ که به عنوان حدس اولیه انتخاب شده دربازه ای که روش نیوتن همگرایی دارد قرار نمی‌گیرد. این شرایط زمانی می‌تواند اتفاق بیفتد که برای مثال همچنان که   x  \, به +\infty  یا -\infty  میل می‌کند ریشه تابع به‌طور متناوب و به اندازه کافی و مطلوبی به صفر نزدیک شود. در اینگونه موارد روش بهتری مانند روش دوبخشی (تنصیف) باید بکار گرفته شود تا تخمین بهتری بدست آورد.
*; زمانی که نقطهٔ تکرار ثابت است:
به تابع:f(x) = 1-x^2. دقت کنید:

این تابع در نقطهٔ   x=0  \, ماکسیمم دارد و ریشه‌های آن  x=+1 \, و x=-1 \, می‌باشد. اگر تکرار را از x_0=0 \, شروع کنیم (نقطه ای که مشتق آن صفر و شیب خط تابع افقی است)x_1 \, تعریف نشده خواهد بود:
:x_1 = x_0 - \frac{f(x_0)}{f'(x_0)} = 0 - \frac{1}{0}.
حتی اگر مشتق تابع در آن نقطه نزدیک به صفر باشد آنگاه تکرار مرحله، تقریب به مراتب بدتری را به همراه خواهد داشت.
*; حدس اولیه به یک دایره منتهی می‌شود:
در برخی توابع، بعضی از نقاطی که به عنوان حدس اولیه انتخاب می‌شوند ممکن است که به یک دایره ختم شوند که این می‌تواند مانع از همگرایی شود.
برای مثال تابع f(x) = x^3 - 2x + 2 \! را در نظر بگیرید و x=0 \, را به عنوان حدس اولیه اختیار کنید. نخستین مرحله جواب را 1 \, بدست می آوردو دومین مرحله دوباره به 0\, می‌رسد، بنابراین جواب‌ها مدام بین دو مقدار مذکور تناوب می‌کند.
در حقیقت این دو نقطه ثابت هستند. در حقیقت رفتار در این حالت می‌تواند بسیار پیچیده باشد. جواب واقعی معادله  -1.76929235\,می‌باشد.

## مثالها
*; جذر یک عدد:
با توجه به یافتن جذر یک عدد، روش نیوتن یکی از چندین راهی است که می‌توان از آن بهره گرفت.
برای مثال اگر هدف یافتن جذر ۶۱۲ باشد، این موضوع را می‌توان معادل جواب x^2=612\, دانست. سپس تابعی را که قصد داریم تا روش نیوتن را برای آن بکار ببندیم می‌توان به فرم {f(x)=x^2-612}, در نظر گرفت که مشتق آن نیز  {f'=2x} \, خواهد بود. اگر حدس اولیه را  {10} \, در نظر بگیریم آنگاه الگوریتم نیوتن به صورت زیر محاسبه را انجام خواهد داد:

:\begin{matrix}
 x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 10 - \dfrac{10^2 - 612}{2 \times 10} & = & 35.6\qquad\qquad\qquad\quad\;\,{} \\
 x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & 35.6 - \dfrac{35.6^2 - 612}{2 \times 35.6} & = & \underline{2}6.395\,505\,617\,978\dots \\
 x_3 & = & \vdots & = & \vdots & = & \underline{24.7}90\,635\,492\,455\dots \\
 x_4 & = & \vdots & = & \vdots & = & \underline{24.738\,6}88\,294\,075\dots \\
 x_5 & = & \vdots & = & \vdots & = & \underline{24.738\,633\,753\,7}67\dots
\end{matrix}


جاییکه که زیر رقم صحیح خط کشیده شده است، تنها با چند تکرار می‌توان به یک جواب دقیق با ارقام اعشاری دست یافت. در صورت هگرایی هرچه روش را تکرار کنیم جواب‌ها دقیق تر و ارقام بعد اعشار نیز به مراتب از دقت بیش تری برخوردار خواهند بود. همان‌طور که مشخص است برخی از ارقام بعد ممیز در هر مرحله تکرار می‌شوند که این نشان از دقت و قطعیت آنها دارد. اما به صورت کلی یافتن چنین جواب‌هایی با بهره‌گیری از روش‌های عددیابی چون روش نیوتن،
روش تکرار ساده (Iteration method)، دو بخشی (Bisection method)، وتری (Secant method)، نابجایی (False position)، روش مولر (Muller's method) و … نمی‌توان به کامل‌ترین جواب دست یافت، چرا که ارقام بعد ممیز همواره ادامه دارند و خاتمه نمی‌یابند از این رو تنها دقیق‌ترین و کامل‌ترین جواب تنها در صورتی بدست می‌آید که تکرار را تا بینهایت ادامه دهیم، با فرض اینکه ریشهٔ تابع \alpha\, باشد، به زبان ریاضیاتی این موضوع را می‌توان در قالب زیر بیان کرد:

:\lim_{n \to\infty}x_n=\alpha \ 

*; یافتن جواب cos(x)=x^3\,
می‌توان معادله را به فرم f(x)=cos(x)-x^3\, بازنویسی کرد و همچنین f'(x)=-sin(x)-3x^2\, بدین صورت می‌باشد. از آنجایی که که برای هر x\,  همواره cos(x)\leq 1\, می‌باشد لذا برای هر x>1\, نیز x^3>1\, خواهد بود. می‌دانیم که پاسخ معادله بین 0\, و 1\, قرار دارد لذا حدس اولیه را با x_0=0.5\, شروع می‌کنیم (توجه داشته باشید که اگر حدس اولیه را با 0\, شروع می‌کردیم آنگاه به یک نتیجه تعریف نشده می‌رسیدیم، این موضوع اهمیت انتخاب حدس اولیه را به خوبی روشن می‌سازد که به اندازه کافی باید به جواب واقعی نزدیک باشد).
:\begin{matrix}
 x_1 & = & x_0 - \dfrac{f(x_0)}{f'(x_0)} & = & 0.5 - \dfrac{\cos 0.5 - 0.5^3}{-\sin 0.5 - 3 \times 0.5^2} & = & 1.112\,141\,637\,097\dots \\
 x_2 & = & x_1 - \dfrac{f(x_1)}{f'(x_1)} & = & \vdots & = & \underline{0.}909\,672\,693\,736\dots \\
 x_3 & = & \vdots & = & \vdots & = & \underline{0.86}7\,263\,818\,209\dots \\
 x_4 & = & \vdots & = & \vdots & = & \underline{0.865\,47}7\,135\,298\dots \\
 x_5 & = & \vdots & = & \vdots & = & \underline{0.865\,474\,033\,1}11\dots \\
 x_6 & = & \vdots & = & \vdots & = & \underline{0.865\,474\,033\,102}\dots
\end{matrix}

زیر ارقام صحیح و قطعی در مثالهای بالا خط کشیده شده است. به خصوص  x_6\, که تا ۱۲ رقم بعد ممیز صحیح می‌باشد. می‌بینیم که تعداد ارقام صحیح از ۲ رقم برای  x_3\, تا ۱۰ رقم برای  x_5\, در حال افزایش است که نشان دهنده همگرایی است.

## مقایسه سرعت همگرایی در روش‌های مختلف
در این قسمت اهمیت انتخاب روش مناسب به خوبی مشخص خواهد شد، چرا که سرعت همگرایی الگوریتم‌های مذکور با یکدیگر متفاوت است.

برای مثال تابعcos(x)++3^x+2x^3-5x-1=0 \, را در نظر بگیرید:

 بندانگشتی|500 px|تمامی ریشه‌های تابع روی محور مشخص شده‌اند. همان‌طور که نمایان است همهٔ الگوریتم‌های بکار گرفته شده تنها قادر به یافتن یک جواب در یک بازه معین هستند.

* در این مثال سرعت همگرایی دو روش وتری (خط قاطع) و روش نیوتن با یکدیگر تقریباً برابر است، همچنین مشاهده می‌شود که کندترین روش در این مثال الگوریتم نابجایی می‌باشد، اما به‌طور کل نمی‌توان این مثال خاص را به تمامی مثال‌ها تعمیم داد چرا که همواره سرعت همگرایی متغیر بوده و به شرایط مختلفی بستگی دارد، لذا انتخاب بهترین روش می‌تواند سهم به سزایی در سرعت عملیات تقریب زنی داشته باشد. همچنین مسئلهٔ دیگر که مطرح است این موضوع می‌باشد که هر کدام از روش‌ها مزایا و معایب خود را دارا هستند، برای مثال از معایب روش نیوتن عدم جواب در صورتی ست که مشتق تابع در نقطهٔ مورد نظر صفر یا نزدیک به صفر باشد یا ایجاد سختی در هنگامی ست که مشتق‌گیری تابع عملیاتی دشوار باشد و از مزایای آن همگرایی سریع در صورت انتخاب حدس اولیه مناسب است، اما باید توجه داشت همگرایی روش نیوتن-رافسون برخلاف برخی روش‌ها مانند روش دوبخشی تضمینی نیست.

## نقش انتخاب بازه در تعیین ریشه
یکی از موارد کلیدی در اینکه روش مورد استفاده به کدام یک از ریشه‌های تابع (در صورت وجود بیش از یک ریشه) همگرا شود انتخاب بازه می‌باشد.
برای مثال تابع 3 cos(x)-x\, را در نظر بگیرید و نقطهٔ x=5\, را به عنوان حدس اولیه اختیار کنید:

* در معادلهٔ فوق بازهٔ انتخاب شده برای هر چهار روش یکسان بوده اما ریشهٔ تقریبی حاصل از روش نیوتن متفاوت از سایرین است.

## منابع

* 

رده:آیزاک نیوتن
رده:الگوریتم‌های پیدا کردن ریشه
رده:روش‌های بهینه‌سازی