به محفل ریاضی ایرانیان خوش آمدید! لطفا برای استفاده از تمامی امکانات عضو شوید
+2 امتیاز
2,214 بازدید
در دانشگاه توسط مهران002 (55 امتیاز)
ویرایش شده توسط AmirHosein

روش برویدن را در صورت امکان توضیح دهید

توسط AmirHosein (19,718 امتیاز)
+1
در راهنمای سایت بخشی که توضیح داده‌شده‌است چه پرسش‌هایی را می‌توان در اینجا پرسید و چه پرسش‌هایی را نپرسید را خوانده‌اید؟ اگر روش برویدن را می‌خواهید فرابگیرید و به شما آموزش نداده‌اند بهتر است درخواست مرجع کنید و اگر در کتابتان هست یا در کلاس آموزشتان داده‌اند و جایی از آن را متوجه نشده‌اید دقیقا مشکل‌تان را مطرح کنید و در پی رفع مشکلتان باشید نه کلی‌گویی کنید صرفا برای نوشتن تعداد واژه‌های کمتر. دوستانی که پاسخ می‌دهند نیز در حال گذاشتن وقت برای نوشتن توضیحات چیزی که مربوط به خودشان نیست و کار شماست می‌باشند پس قابل قبول نیست که بگوئید وقت ندارید، آن هم برای پرسش خودتان!

بعلاوه بخش مرجع برای نوشتن اسم درس نیست. موضوع درس و پرسش در قالب برچسب مطرح می‌شود. در بخش مرجع نام کتاب یا مقاله به همران نویسنده‌اش قرار داده می‌شود.

1 پاسخ

+1 امتیاز
توسط AmirHosein (19,718 امتیاز)
ویرایش شده توسط AmirHosein

روش نیوتن را به یاد دارید؟ فرض کنید یک برابری (معادلهٔ) تک‌متغیرهٔ $f(x)=0$ دارید. برای یافتن ریشه از یک مقدار اولیهٔ مناسب مانند $x_0$ شروع می‌کردید. سپس یک دنباله به شکل $x_{n}=x_{n-1}-\frac{1}{f'(x_{n-1})}f(x_{n-1})$ . اکنون به جای اینکه هر دفعه مشتق تابع را در نقاط دنباله‌تان محاسبه کنید، به جای مقدار دقیق آن از تقریب آن یعنی $\frac{f(x_{n-1})-f(x_{n-2})}{x_{n-1}-x_{n-2}}$ استفاده کنید. توجه کنید که این کار تنها در نقطهٔ شروع ناممکن است چون تنها یک مقدار یعنی $f(x_0)$ را دارید و $x_{-1}$ در دنباله نیست. پس باید در گام نخست از خود مشتق استفاده کنید و سپس از تقریب آن. توجه کنید که این روش ساده‌تر است ولی خطای محاسبه را افزایش می‌دهد.

برویم سراغ دستگاه‌های چندمعادله‌چندمجهولی. فرض کنید $n$ متغیر $x_1,\ldots,x_n$ و $n$ تابع اسکالر مقدار $n$ متغیره $f_1,\ldots,f_n$ داریم. بردار $(f_1,\ldots,f_n)$ را با $f$ و بردار $(x_1,\ldots,x_n)$ را با $x$ نشان می‌دهیم. ماتریس ژاکوبی $f$ نسبت به $x$ را با $J=J_x(f)$ نمایش دهید. اگر $z^\star$ یک ریشه از دستگاه $f(x)=0$ باشد و $z_0$ یک نقطهٔ شروع برای تقریب زدن آن، آنگاه روش نیوتن چندمتغیره به شکل زیر یک دنباله برای تقریب زدن ریشهٔ مورد نظر معرفی می‌کند. $$z_k=z_{k-1}-J_{k-1}^{-1}f(z_{k-1})$$ که در آن $J_{k-1}=J_x(f)\mid_{x=z_{k-1}}$ می‌باشد یعنی ماتریس حاصل از جایگذاری $x=x_{k-1}$ در ماتریس ژاکوبی.

دوباره ایده این است که به جای استفاده از ماتریس ژاکوبی که تعمیم مشتق است، آن را تقریب بزنیم و از تقریبش به جایش در فرمول نیوتن استفاده کنیم. روش‌های زیادی برای این کار وجود دارد. یکی از آنها به شرح زیر است.

روش‌های شبه‌نیوتن رتبه‌یک

در اینجا یک خانواده از روش‌ها را معرفی می‌کنیم (نه یک روش). به آنها شبه‌نیوتن می‌گویند چون شبیه روش نیوتن اند. رتبه‌یک گفته می‌شوند چون در هر گام بر روی یک یک زیرفضای یک‌بعدی (یک خط) حرکت می‌کنند. به شکل زیر دقت کنید (چون رایانهٔ دفترکارم در بنیانگاه لینوکس است و Paint ندارم بر روی تختهٔ دفترم رسم کردم پسین‌تر تصویر را جایگزین خواهم‌کرد).

enter image description here

نخست ماتریس ژاکوبی را در نقطهٔ شروع $x=z_0$ محاسبه کنید. در روش نیوتن نقطهٔ پسین برابر می‌شد با $z_1=z_0-J_0^{-1}f(z_0)$ اما در اینجا به جای این کار خطی که از نقطهٔ $z_0$ بگذرد و بردار هادی آن $v_0=-J_0^{-1}f(z_0)$ باشد را در نظر بگیرید. این خط را می‌توان با ضابطهٔ تک‌پارامتری زیر نمایش داد $$\ell_0\;\colon\;x=z_0+tv_0$$ اگر قرار دهیم $t=1$ همان نقطهٔ پیشنهادی روش نیوتن را داریم. اما این آزادی را می‌دهیم که اگر $t$ بهتری نامزد شد، از آن استفاده کنیم و نقطهٔ پسین را $z_1=z_0+t_0v_0$ برداریم. اکنون برای ادامهٔ فرآیند نیاز داریم خط پسین را معرفی کنیم. همه چیز روشن است به جز بردار هادی آن خط و آن هم به این خاطر است که نمی‌خواهیم ماتریس ژاکوبی در نقطهٔ جدید را محاسبه کنیم بلکه می‌خواهیم از تقریبی از آن استفاده کنیم. به جای اینکه یک ماتریس معرفی کنیم دوباره مانند قضیهٔ انتخاب $t$ یک جای دیگر برای انتخاب باز می‌گذاریم. فقط یک شرط معرفی می‌کنیم که انتظار داریم یک تقریب برای این ماتریس ژاکوبی در این شرط صدق کند.

تحدید تابع $f$ بر روی خط گام پیشین یعنی $\ell_0$ را در نظر بگیرید. یک تابع یک متغیره با متغیر $t$ داریم. چون نقطهٔ جدید مشخص شده‌است پس یعنی قبل از وارد شدن به این مرحله $t_0$ را انتخاب کرده‌اید. بسط تیلور این تابع یک متغیره را حول $t=t_0$ بنویسید. در اینجا یک شرط جدید داریم. در هنگام انتخاب $t_0$ باید به اندازهٔ کافی کوچک انتخاب شده بوده باشد که بتوانیم از جملات مرتبهٔ دوم به بعد بسط تیلور چشم‌پوشی کنیم. پس $$f(z_0+tv_0)=f(z_0+t_0v_0)+(t-t_0)\frac{df}{dt}\mid_{t=t_0}+\mathcal{O}((t-t_0)^2)$$ مشتق تابع را محاسبه کنید $$\begin{array}{l} \frac{df}{dt}=\sum_{i=1}^n\frac{\partial f}{\partial x_i}\frac{dx_i}{dt}=(J_x(f))\cdot\begin{bmatrix}\frac{dx_i}{dt}\end{bmatrix}=J\cdot v_0\\ \frac{df}{dt}\mid_{t=t_0}=(J\cdot v_0)\mid_{x=z_0+t_0v_0}=J\mid_{x=z_0+t_0v_0}\cdot v_0=J_1v_0 \end{array}$$ اکنون بیایید مقدار این تابع یک متغیره را در $t=0$ با کمک این بسط تقریب بزنیم. $$f(z_0)\sim f(z_1)-t_0J_1v_0$$ پس اگر مقدار تابع در نقطهٔ جدید را بدست آوریم (با جایگذاری) آنگاه ماتریس ژاکوبی در نقطهٔ جدید در رابطهٔ زیر صدق می‌کند: $$f(z_1)-f(z_0)\sim t_0J_1v_0$$ اکنون شرطی که روی تقریب آن می‌گذاریم این است که ماتریس نامزد جایگاه تقریب ماتریس ژاکوبی در نقطهٔ جدید باید در رابطهٔ بالا صدق کند.

پس خلاصهٔ کار این است که هر روشی که به شکل بالا دنباله‌ای از نقاط برای تقریب جواب دستگاه‌مان بسازد که در هر گام یک اسکالرِ $t_i$ و یک ماتریس $A_i$ معرفی کند که در شرط $f(z_i)-f(z_{i-1})=t_iA_iv_{i-1}$ که $v_i=-A_{i-1}^{-1}f(z_i)$ صدق کند، آنگاه یک روش شبه‌نیوتن رتبه‌یک نامیده می‌شود.

چندین نکته:

۱- این روش‌ها یکی از تعمیم‌های روش وتری است. زیرا اگر تابع تک‌ضابطه‌ای و یک‌متغیره باشد، آنگاه با قرار دادن $t=1$ در هر گام، عبارت زیر که یک ماتریس یک در یک است در رابطهٔ شرط صدق می‌کند. برای نمونه بیایید گام دوم را چک کنیم (گام یک که خود مشتق در نقطهٔ شروع است).

$$\begin{array}{l} v_0=-\frac{1}{f’(z_0)}f(z_0)\\ z_1=z_0-\frac{1}{f’(z_0)}f(z_0)\Longrightarrow v_0=z_1-z_0\\ f(z_1)-f(z_0)=1\cdot A_2\cdot v_0\Longrightarrow A_2=\dfrac{f(z_1)-f(z_0)}{z_1-z_0} \end{array}$$ اما توجه کنید که تنها روش‌های چندمتغیره که تعمیمی برای روش وتری بتوانند باشند روش‌های شبه‌نیوتن رتبه‌یک نیستند. برای نمونه اگر همان روش نیوتن را برمی‌داشتیم و به هر $n^2$ مشتق‌جزئی ماتریس ژاکوبی را که مشتق‌ از یک متغیر هستند با یک تفاضل جایگزین می‌کردیم و سپس نقطه را جایگذاری می‌کردیم یک روش دیگر حاصل می‌شد که تحدیدش به حالت یک‌ضابطه‌ایِ یک‌متغیره همان روش وتری می‌شود.

۲- ایده‌های زیادی تا کنون برای انتخاب $t_i$ ها و $A_i$ ها معرفی‌ شده‌اند.

خود برُیْدِن Broyden چندین ایده ارائه کرد که یکی از آنها به شرح زیر است.

در هر گام ماتریس $A_i$ را ماتریسی معرفی کنیم که علاوه بر صدق کردن در رابطهٔ داده شده در شرط روش‌های شبه‌نیوتن رتبه‌یک، در این شرط صدق کند که برای هر بردار متعامد بر $v_{i-1}$ مانند $u$ داشته باشیم $$A_iu=A_{i-1}u$$ این باعث می‌شود که تنها یک ماتریس یکتا نامزد گاممان باشد. دلیل آن این است که ماتریسمان $n^2$ مجهول دارد. بردار $v_{i-1}$ را با افزودن عناصر یک پایه از زیرفضای مکمل متعامدش به یک پایه برای کل فضا گسترش دهید. رابطهٔ شرط که متناظر به بردار $v_{i-1}$ است یک تساوی برداری که در واقع $n$ معادله هست به ما می‌دهد. اکنون $n-1$ بردار دیگر این پایه که بر $v_{i-1}$ متعامد هستند هر یک با توجه به شرط جدید یک تساوی برداری یعنی $n$ معادله می‌دهند. پس در کل $1\times n+(n-1)\times n=n^2$ معادله داریم. پس با یک $n^2$ معادله $n^2$ مجهول روبرو هستیم. اکنون توجه کنید که ماتریس زیر $$A_i=A_{i-1}+\dfrac{\big(f(x_i)-f(x_{i-1})-t_{i-1}A_{i-1}v_{i-1}\big)v_{i-1}^t}{t_{i-1}v_{i-1}^tv_{i-1}}$$ در رابطه‌های شرط روش‌های شبه‌نیوتن رتبه یک و در شرط جدید صدق می‌کند. پس ماتریسی که می‌خواهیم دقیقا این ماتریس است.

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

توسط kazomano (2,561 امتیاز)
فکر کنم این روش وتری باشه. در حالت چند متغیره برویدن میشه.
توسط kazomano (2,561 امتیاز)
–1
@AmirHosein
به نظرم این جمله هم درست نیست
"توجه کنید که این روش ساده‌تر است ولی خطای محاسبه را به شدت افزایش می‌دهد"
چون نشون داده شده که برای جمله دوم سمت راست رابطه وتری حتی اگه تعداد کمی از ارقامش درست باشه نتیجه خوبی به دست میاد. در واقع از دست رفتن ارقام با معنی در اثر تفاضل در اینجا چندان تاثیرگذار نیست.
توسط AmirHosein (19,718 امتیاز)
@kazomano بیایید یک بار دیگر جملهٔ من را با هم بخوانیم. «ساده‌تر ولی با خطای بیشتر!» صفات مقیاسه‌ای با «تر» پس دو یا چند چیز مقایسه شده‌اند. چه چیزهایی؟ «روش نیوتن» و «روش وتری». نخست اینکه چیزی که شما در ادامه گفته‌اید مقایسهٔ روش نیوتن و روش وتری نیستند تنها پیرامون روش وتری صحبت می‌کند. و اما اکنون بررسی کنیم که آیا جملهٔ من درست است یا خیر.

یک تابع تک‌متغیرهٔ $f$ و یک ریشه از آن مانند $x$ را که هر دوی روش‌های نیوتن و وتری برای آنها قابل پیاده است را در نظر بگیرید. یک مقدار شروع $x_0$ برای هر دو بردارید. توجه کنید که این دو روش به خودی خود، تنهایی هیچ صحبتی از انتخاب نقطهٔ شروع ندارند پس باید برای مقایسه، نقطهٔ شروع و تابع و ریشهٔ مورد نظر برای تقریب را یکسان بگیریم. اکنون در تعداد مساوی گام فرض کنید با روش نیوتن به مقدار $x_n^{(1)}$ رسیدیم و با روش وتری به مقدار $x_n^{(2)}$ اکنون کدام خطا بیشتر است؟ $|x-x_n^{(1)}|$ یا $|x-x_n^{(2)}|$. این از بحث خطای بیشتر داشتن. از بحث ساده‌تر بودن. در روش نیوتن در هر گام شما دو جایگذاری در تابع و در مشتق تابع باید انجام بدهید اما در روش وتری تنها یک جایگذاری در مقدار تابع دارید (جایگذاری دیگر تابع در گام پیشین صورت گرفته است) و سپس یک تقسیم از دو تفاضل. در حالت کلی یک تابع شکل ساده‌ای ندارد و تعداد عملیات‌هایی که برای جایگذاری در مشتق آن انجام می‌دهیم از دو تفاضل و یک تقسیم بیشتر خواهد بود. این هم از ساده‌تر بودن.
توسط kazomano (2,561 امتیاز)
–1
@AmirHosein
منظورم خطای محاسبه بود.
این چیزایی که گفتین مربوط به مرتبه همگرایی چه ربطی به خطای محاسبه داره؟ (متوجه نشدم)
خطای محاسبه به ناپایداری فرمول در محاسبه نقاط مربوط میشه. دیدگاهی هم که گذاشتم به همین ناپایداری اشاره کردم.
توسط AmirHosein (19,718 امتیاز)
@kazomano چگونه از چیزی که مرتبط با گفتهٔ من نیست نتیجه گرفته‌اید گفته‌ام نادرست است؟
توسط kazomano (2,561 امتیاز)
–1
مرجعی سراغ دارید که گفته باشه روش وتری خطای محاسبه را به شدت افزایش می دهد؟( یا اینکه تجزیه و تحلیل خودتون بوده?)
توسط AmirHosein (19,718 امتیاز)
@kazomano می‌توانید پرسش‌تان را در قالب «پرسش» مطرح بفرمائید. برای این پرسش، برچسب‌های «آنالیزعددی» و «درخواست مرجع» مناسب می‌باشند.
توسط kazomano (2,561 امتیاز)
@Amirhosein
تابع <math>$f(x)=x-cos( \frac{0.785-x \sqrt{1+ x^{2} } }{1+2 x^{2} }) $</math> رو
درنظر بگیرید با x(0)=0
برای ریشه x=0.97989961 روش نیوتن بعد از 8 تکرار به این جواب میرسه درحالیکه روش وتری در 5 تکرار به این جواب میرسه. برای روش وتری x(1)=0.1.
توسط AmirHosein (19,718 امتیاز)
ویرایش شده توسط AmirHosein
@kazomano
۱- برای مقایسهٔ برتری یک روش بر روش دیگر، یک مثال خاص برمی‌دارند؟
۲- اگر جبری می‌خواهید نگاه کنید: ویژگ‌های generic چه هستند؟
۳- اگر آماری می‌خواهید نگاه کنید: نمونه‌ باید چه ویژگی‌هایی داشته‌باشد؟
توسط AmirHosein (19,718 امتیاز)
شما هنوز متوجه «خطای بیشتر» نشده‌اید! یک تابع مشتق‌پذیر $f$ بردارید. بفرض $z^\star$ یک ریشه از آن و $z_0$ یک نقطه نزدیک به آن باشد. یک کران بالا برای $|z_n^{(1)}-z^\star|$ و  یک کران بالا برای $|z_n^{(2)}-z^\star|$ بدهید.

باز ممکن است بردارید یک دیدگاه دیگر بگذارید زیر این دیدگاه. جمله‌ها را آن‌طور که هستند بخوانید. نگفته‌ایم یک تابع و یک ریشه و یک نقطهٔ شروع خاص! کرانی که می‌دهید یک کران پارامتری است! اکنون این دو کران خطا باید مقایسه شوند.

بار خواهشمند هستم پرسش‌هایتان را در قالب دیدگاه نگذارید.
توسط kazomano (2,561 امتیاز)
بیشتر از این بحث رو ادامه نمیدم . نکته آخر میگم و بعد از اون دیدگاهی نمینویسم.
در مورد روش های تقریبی ریشه یابی دو مورد رو مهم تشخیص دادن یکیش مرتبه ی همگرایی و دیگری efficiency . در مورد مرتبه ی همگرایی، بیشتر بودن مرتبه ی همگرایی یک روش نسبت به روش دیگه به معنای برتری اون روش نسبت به روش دیگر نیست و دلیلش اینه که مرتبه همگرایی یک خاصیت موضعی در همسایگی ریشه.
توسط sajjadsahaf (1 امتیاز)
سلام
ممنون از توضیح کامل و جامع شما
در توضیحتون چندتا نکته برام گنگ بود که اگر لطف کنید توضیح بدید:
در شرط هایمربوط به روش های شبه نیوتون شما نوشته اید
<math>f(zi)−f(zi−1)=tiAivi−1</math>  در این شرط اندیس ti به صورت ti-1 نباید باشد؟
همینطور عبارت بعدی که در آن vi راتعریف کرده اید. اگر ممکنه توضیح دهید vi چگونه به این شکل درآمده؟
توسط mohsenmoradi (12 امتیاز)
الان مرتبه همگرایی روش برویدن چطور به دست میاد دقیقا
بزرگترین ریاضیدانان، همچون ارشمیدس، نیوتن و گاوس، همواره نظریه و کاربردها را در اندازه ی یکسان در هم می آمیزند.
...