روش توماس (Thomas Algorithm - برای ماتریس های سه قطری)، در ریاضیات (Mathematics)
انواع روش های عددی (Numerical Methods) را در آموزش زیر شرح دادیم :
روش توماس (Thomas Algorithm - برای ماتریس های سه قطری) :
برای ماتریس سه قطری:
\[ a_i x_{i-1} + b_i x_i + c_i x_{i+1} = d_i \]توضیح ساده: روش توماس یک الگوریتم بسیار کارآمد برای حل دستگاه های خطی با ماتریس سه قطری (Tridiagonal) است. این ماتریس ها فقط روی قطر اصلی، قطر بالا و قطر پایین مقادیر غیرصفر دارند. چنین ساختاری در بسیاری از مسائل عددی (مثل گسسته سازی معادلات دیفرانسیل با تفاضلات محدود) ظاهر می شود. روش توماس در واقع همان حذف گاوس است که با توجه به ساختار خاص ماتریس بهینه شده است.
شرح گام به گام: دستگاه n معادله با ضرایب aᵢ (زیرقطر)، bᵢ (قطر اصلی)، cᵢ (فوق قطر)، و سمت راست dᵢ. الگوریتم شامل دو مرحله است:
مرحله پیش رو (Forward Elimination): برای i از ۲ تا n:
\[ w = \frac{a_i}{b_{i-1}} \] \[ b_i = b_i - w c_{i-1} \] \[ d_i = d_i - w d_{i-1} \]مرحله پس رو (Back Substitution):
\[ x_n = \frac{d_n}{b_n} \]برای i از n-1 تا ۱:
\[ x_i = \frac{d_i - c_i x_{i+1}}{b_i} \]این الگوریتم فقط با ۵n-۴ عمل ممیز شناور انجام می شود که بسیار کارآمد است.
مثال عددی: دستگاه سه قطری:
\[ 2x_1 - x_2 = 1 \] \[ -x_1 + 2x_2 - x_3 = 0 \] \[ -x_2 + 2x_3 = 1 \]به صورت ماتریسی:
\[ \begin{bmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} \]a = [0, -1, -1] (توجه: a₁=0)، b = [2,2,2]، c = [-1,-1,0]، d = [1,0,1] i=2: w = a₂/b₁ = -1/2 = -0.5، b₂ = 2 - (-0.5)*(-1) = 2 - 0.5 = 1.5، d₂ = 0 - (-0.5)*1 = 0.5 i=3: w = a₃/b₂ = -1/1.5 = -0.6667، b₃ = 2 - (-0.6667)*(-1) = 2 - 0.6667 = 1.3333، d₃ = 1 - (-0.6667)*0.5 = 1 + 0.33335 = 1.33335 پس رو: x₃ = d₃/b₃ = 1.33335/1.3333 = 1، x₂ = (0.5 - (-1)*1)/1.5 = (0.5+1)/1.5 = 1.5/1.5 = 1، x₁ = (1 - (-1)*1)/2 = (1+1)/2 = 1.
مزایا: بسیار سریع (O(n))، حافظه کم (نیاز به ذخیره فقط چهار بردار n عنصری)، دقیق و پایدار.
معایب: فقط برای ماتریس های سه قطری کاربرد دارد. اگر ماتریس سه قطری غالب قطری نباشد، ممکن است ناپایدار شود.
کاربردها: در حل عددی معادلات دیفرانسیل معمولی و با مشتقات جزئی با روش تفاضلات محدود (مسائل یک بعدی)، در اسپلاین های مکعبی، در زنجیره های مارکوف.
نکته: روش توماس معادل تجزیه LU بدون محورگیری برای ماتریس های سه قطری است.