حذف گاوسی

روشی در جبر خطی برای حل دستگاه معادلات خطی

حذف گاوسی (به انگلیسی: Gaussian elimination) روشی در جبر خطی برای حل دستگاه معادلات خطی است. این روش، به صورت انجام عملیات متوالی بر روی ماتریس ضرایب است. از این روش، همچنین برای یافتن مرتبۀ یک ماتریس، محاسبۀ دترمینان ماتریس و محاسبۀ معکوس یک ماتریس مربعی معکوس‌پذیر استفاده می‌شود. نام این روش از ریاضی‌دان آلمانی کارل فریدریش گاوس گرفته شده‌است. برای انجام عملیات کاهش سطح در یک ماتریس از یک سری عملیات پایه بر روی سطرهای ماتریس استفاده می‌شود. تا ماکسیمم مقدار ممکن از درایه‌های زیر قطر اصلی ماتریس برابر صفر شوند. سه نوع از عملیات پایه بر روی سطرهای ماتریس وجود دارد: 1- جابجایی دو ردیف از سطرها 2- ضرب کردن یک سطر از ماتریس در یک عدد غیر صفر 3- جمع کردن یک سطر با سطر دیگر. با انجام این عملیات ماتریس به یک ماتریس بالا مثلثی تبدیل می‌شود(فرم پلکانی). هنگامی که همه ضرایب مؤثر (سمت چپ‌ترین داده‌ها در هر سطر) برابر با یک شوند و بقیه درایه‌های ستون‌ها صفر گردند. ماتریس، به یک ماتریس پله‌ای کاهش یافته تبدیل می‌شود. و این فرم نهایی، یکتا است. برخی اوقات به روش تبدیل گاوس- جردن می گویند. به دلایل محاسباتی ممکن است، گاهی ترجیح داده شود تا عملیات روی سطرها قبل از تبدیل متوقف شوند.

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

''Find the k-th pivot:''
    i_max  := [[argmax]] (i = k ... m, abs(A[i, k]))
    '''if''' A[i_max, k] = 0
      '''error''' "Matrix is singular!"
    '''swap rows'''(k, i_max)
    ''Do for all rows below pivot:''
    '''for''' i = k + 1 ... m:
      ''Do for all remaining elements in current row:''
      '''for''' j = k + 1 ... n:
        A[i, j]  := A[i, j] - A[k, j] * (A[i, k] / A[k, k])
      ''Fill lower triangular matrix with zeros:''
      A[i, k]  := 0

پیچیدگی محاسباتی

ویرایش

پیچیدگی محاسباتی هر الگوریتم با تعداد اجرای هر سطر از آن در کامپیوتر مرتبط است و با نما بیگ O و به فرم   نشان داده می‌شود. برای مثال برای محاسبه مسئله‌ای با n معادله و n مجهول به روش حذف گاوسی تعداد عمل تقسیم و تعداد عمل ضرب و تعداد عمل تفریق در مجموع به‌طور تقریبی   می‌باشد. بنابراین پیچیدگی ریاضی الگوریتم از مرتبه  است.

منابع

ویرایش
  NODES
os 1