Loading [MathJax]/jax/output/HTML-CSS/jax.js

среда, 21 ноября 2012 г.

Прямой ход Гаусса. Наглядная версия


Здесь я опишу наглядно классический способ приведения системы уравнений
{a11x1+a12x2+a13x3+a14x4+...+a1nxn=b1a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b4ai1x1+ai2x2+ai3x3+ai4xi+...+ainxn=bian1x1+an2x2+an3x3+an4x4+...+annxn=bn (0)
к треугольному виду. Это не общий способ, но именно его обычно рассказывают на лекциях по численным методам.

Первый шаг

Полагаем, что a110  и разделим на него первое уравнение. Перепишем систему с учетом этого преобразования.
{x1+a12a11x2+a13a11x3+a14a11x4+...+a1na11xn=b1a11a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b4ai1x1+ai2x2+ai3x3+ai4xi+...+ainxn=bian1x1+an2x2+an3x3+an4x4+...+annxn=bn (1.1)

Умножим первое уравнение на ai1
{ai1x1+ai1a12a11x2+ai1a13a11x3+ai1a14a11x4+...+ai1a1na11xn=ai1b1a11a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b4ai1x1+ai2x2+ai3x3+ai4xi+...+ainxn=bian1x1+an2x2+an3x3+an4x4+...+annxn=bn (1.2)

и вычтем его из i -го уравнения преобразованной системы:
{ai1x1+ai1a12a11x2+ai1a13a11x3+ai1a14a11x4+...+ai1a1na11xn=ai1b1a11a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b4(ai1ai1)x1+(ai2ai1a12a11)x2+(ai4ai1a14a11)xi+...+(ainai1a1na11)xn=(biai1b1a11)an1x1+an2x2+an3x3+an4x4+...+annxn=bn(1.3)
(немножко преобразуем)
{ai1x1+ai1a12a11x2+ai1a13a11x3+ai1a14a11x4+...+ai1a1na11xn=ai1b1a11a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b4(ai2ai1a12a11)x2+(ai4ai1a14a11)xi+...+(ainai1a1na11)xn=(biai1b1a11)an1x1+an2x2+an3x3+an4x4+...+annxn=bn(1.4)

обозначим (ai2ai1a12a11)  за a(1)i2  , (ai3ai1a13a11)   за a(1)i3  и так далее. Крато это записывается так: a(1)ij=aijai1a1ja11 , i=¯2,n. Так же поступим с (biai1b1a11), обозначив его за b(1)i. И вернем уравнение 1 в предыдущее состояние, чтобы не таскать за собой множитель ai1, который мозолит глаза.
Получим систему:
{x1+a12a11x2+a13a11x3+a14a11x4+...+a1na11xn=b1a11a21x1+a22x2+a23x3+a24x4+...+a2nxn=b2a31x1+a32x2+a33x3+a34x4+...+a3nxn=b3a41x1+a42x2+a43x3+a44x4+...+a4nxn=b40+a(1)i2x2+a(1)i3x3+a(1)i4xi+...+a(1)inxn=b(1)ian1x1+an2x2+an3x3+an4x4+...+annxn=bn(1.5)

Теперь распространим все, что мы сделали для i -го уравнения на p  уравнений, где p=¯2,n.

{x1+a12a11x2+a13a11x3+a14a11x4+...+a1na11xn=b1a110+a(1)22x2+a(1)23x3+a(1)24x4+...+a(1)2nxn=b(1)20+a(1)32x2+a(1)33x3+a(1)34x4+...+a(1)3nxn=b(1)30+a(1)42x2+a(1)43x3+a(1)44x4+...+a(1)4nxn=b(1)40+a(1)i2x2+a(1)i3x3+a(1)i4xi+...+a(1)inxn=b(1)i0+a(1)n2x2+a(1)n3x3+a(1)n4x4+...+a(1)nnxn=b(1)n(1.6)


Второй шаг


На втором шаге из системы (1.5) исключается x2  аналогичным образом.
{x1+a12a11x2+a13a11x3+a14a11x4+...+a1na11xn=b1a110+a(1)22x2+a(1)23x3+a(1)24x4+...+a(1)2nxn=b(1)20+a(1)32x2+a(1)33x3+a(1)34x4+...+a(1)3nxn=b(1)30+a(1)42x2+a(1)43x3+a(1)44x4+...+a(1)4nxn=b(1)40+a(1)i2x2+a(1)i3x3+a(1)i4xi+...+a(1)inxn=b(1)i0+a(1)n2x2+a(1)n3x3+a(1)n4x4+...+a(1)nnxn=b(1)n(2.0)
{x1+a12a11x2+a13a11x3+a14a11x4+...+a1na11xn=b1a110+x2+a(1)23a(1)22x3+a(1)24a(1)22x4+...+a(1)2na(1)22xn=b2a(1)220+0+a(2)33x3+a(2)34x4+...+a(2)3nxn=b(2)30+0+a(2)43x3+a(2)44x4+...+a(2)4nxn=b(2)40+0+a(2)i3x3+a(2)i4xi+...+a(2)inxn=b(2)i0+0+a(2)n3x3+a(2)n4x4+...+a(2)nnxn=b(2)n(2.1)
a(2)ij=a(1)ija(1)i2a(1)2ja(1)22, b(2)i=b(1)ia(1)i2b2a(1)22; i,j=¯3,n
И так, пока не придем к последнему уравнению. Итак, в общих чертах:

1. Выбираем первое уравнение и делим его на a11
  •  Выбираем второе уравнение. Копируем первое, умножаем копию на a21  и вычитаем копию из второго.
  •  Повторяем предыдущий пункт для остальных уравнений.
2. Выбираем второе уравнение и делим его на a22
  • Выбираем третье уравнение. Копируем второе, умножаем копию на a32   и вычитаем копию из второго.
  • Повторяем предыдущий пункт для остальных уравнений.
3. Повторяем эти операции до окончания уравнений.