Википедия

Метод Гаусса

Ме́тод Га́усса — классический метод решения системы линейных алгебраических уравнений (СЛАУ). Назван в честь немецкого математика Карла Фридриха Гаусса. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе верхнего правого или нижнего левого треугольного вида, из которой последовательно, начиная с последних или c первых (по номеру), находятся все переменные системы.

История

Хотя в настоящее время данный метод повсеместно называется методом Гаусса, он был известен и до К. Ф. Гаусса. Первое известное описание данного метода — в китайском трактате «Математика в девяти книгах».

Описание метода

Пусть исходная система выглядит следующим образом:

image

Её можно записать в матричном виде:

image

где

image

Матрица image называется основной матрицей системы, image — столбцом свободных членов.

Тогда, согласно свойству элементарных преобразований над строками, основную матрицу этой системы можно привести к ступенчатому виду (эти же преобразования нужно применять к столбцу свободных членов):

image

где image

При этом будем считать, что базисный минор (ненулевой минор максимального порядка) основной матрицы находится в верхнем левом углу, то есть в него входят только коэффициенты при переменных image.

Тогда переменные image называются главными переменными. Все остальные называются свободными.

Если хотя бы одно число image, где image, то рассматриваемая система несовместна, т. е. у неё нет ни одного решения.

Пусть image для любых image.

Перенесём свободные переменные за знаки равенств и поделим каждое из уравнений системы на свой коэффициент при самом левом image (image, где image — номер строки):

image,

где image

Если свободным переменным системы (2) придавать все возможные значения и решать новую систему относительно главных неизвестных снизу вверх (то есть от нижнего уравнения к верхнему), то мы получим все решения этой СЛАУ. Так как эта система получена путём элементарных преобразований над исходной системой (1), то по теореме об эквивалентности при элементарных преобразованиях системы (1) и (2) эквивалентны, то есть множества их решений совпадают.

image Следствия:
1: Если в совместной системе все переменные главные, то такая система является определённой.

2: Если количество переменных в системе превосходит число уравнений, то такая система является либо неопределённой, либо несовместной.

Критерий совместности

Упомянутое выше условие image для всех image может быть сформулировано в качестве необходимого и достаточного условия совместности:

Напомним, что рангом совместной системы называется ранг её основной матрицы (либо расширенной, так как они равны).

image Теорема Кронекера — Капелли.
Система совместна тогда и только тогда, когда ранг её основной матрицы равен рангу её расширенной матрицы.

Следствия:

  • Количество главных переменных равно рангу системы и не зависит от её решения.
  • Если ранг совместной системы равен числу переменных данной системы, то она определена.

Алгоритм

Блок-схема представлена на рисунке. Данный рисунок — адаптированный для написания программы на языке C/C++, где a — расширенная матрица, последний столбец в которой — столбец свободных членов. Количество строк — n.

image
Алгоритм Гаусса для решения СЛАУ

Описание

Алгоритм решения СЛАУ методом Гаусса подразделяется на два этапа.

  • На первом этапе осуществляется так называемый прямой ход, когда путём элементарных преобразований над строками систему приводят к ступенчатой или треугольной форме, либо устанавливают, что система несовместна. Для этого среди элементов первого столбца матрицы выбирают ненулевой, перемещают содержащую его строку в крайнее верхнее положение, делая эту строку первой. Далее ненулевые элементы первого столбца всех нижележащих строк обнуляются путём вычитания из каждой строки первой строки, домноженной на отношение первого элемента этих строк к первому элементу первой строки. После того, как указанные преобразования были совершены, первую строку и первый столбец мысленно вычёркивают и продолжают, пока не останется матрица нулевого размера. Если на какой-то из итераций среди элементов первого столбца не нашёлся ненулевой, то переходят к следующему столбцу и проделывают аналогичную операцию.
  • На втором этапе осуществляется так называемый обратный ход, суть которого заключается в том, чтобы выразить все получившиеся базисные переменные через небазисные и построить фундаментальную систему решений, либо, если все переменные являются базисными, то выразить в численном виде единственное решение системы линейных уравнений. Эта процедура начинается с последнего уравнения, из которого выражают соответствующую базисную переменную (а она там всего одна) и подставляют в предыдущие уравнения, и так далее, поднимаясь по «ступенькам» наверх. Каждой строчке соответствует ровно одна базисная переменная, поэтому на каждом шаге, кроме последнего (самого верхнего), ситуация в точности повторяет случай последней строки.

Метод Гаусса требует image арифметических операций.

Этот метод опирается на:

image Теорема (о приведении матриц к ступенчатому виду).
Любую матрицу путём элементарных преобразований только над строками можно привести к ступенчатому виду.

Простейший случай

В простейшем случае алгоритм выглядит так:

image
  • Прямой ход:
image
  • Обратный ход. Из последнего ненулевого уравнения выражаем базисную переменную через небазисные и подставляем в предыдущие уравнения. Повторяя эту процедуру для всех базисных переменных, получаем фундаментальное решение.

Пример

Покажем, как методом Гаусса можно решить следующую систему:

image

Обнулим коэффициенты при image во второй и третьей строчках. Для этого прибавим к ним первую строчку, умноженную на image и image, соответственно:

image

Теперь обнулим коэффициент при image в третьей строке, вычтя из неё вторую строку, умноженную на image:

image

В результате мы привели исходную систему к треугольному виду, тем самым закончив первый этап алгоритма.

На втором этапе разрешим полученные уравнения в обратном порядке. Имеем:

image из третьего;
image из второго, подставив полученное image
image из первого, подставив полученные image и image.

Таким образом, исходная система решена.

В случае, если число уравнений в совместной системе получилось меньше числа неизвестных, ответ будет записываться в виде фундаментальной системы решений.

Реализация алгоритма на языке программирования C#

namespace Gauss_Method {  class Maths  {  /// <summary>  /// Метод Гаусса (Решение СЛАУ)  /// </summary>  /// <param name="Matrix">Начальная матрица</param>  /// <returns></returns>  public static double[] Gauss(double[,] Matrix)  {  int n = Matrix.GetLength(0); //Размерность начальной матрицы (строки)  double[,] Matrix_Clone = new double[n, n + 1]; //Матрица-дублер  for (int i = 0; i < n; i++)  for (int j = 0; j < n + 1; j++)  Matrix_Clone[i, j] = Matrix[i, j];   // Прямой ход (Зануление нижнего левого угла)  for (int k = 0; k < n; k++) //k-номер строки  {  for (int i = 0; i < n + 1; i++) //i-номер столбца  Matrix_Clone[k, i] = Matrix_Clone[k, i] / Matrix[k, k]; //Деление k-строки на первый член !=0 для преобразования его в единицу  for (int i = k + 1; i < n; i++) //i-номер следующей строки после k  {  double K = Matrix_Clone[i, k] / Matrix_Clone[k, k]; //Коэффициент  for (int j = 0; j < n + 1; j++) //j-номер столбца следующей строки после k  Matrix_Clone[i, j] = Matrix_Clone[i, j] - Matrix_Clone[k, j] * K; //Зануление элементов матрицы ниже первого члена, преобразованного в единицу  }  for (int i = 0; i < n; i++) //Обновление, внесение изменений в начальную матрицу  for (int j = 0; j < n + 1; j++)  Matrix[i, j] = Matrix_Clone[i, j];  }   // Обратный ход (Зануление верхнего правого угла)  for (int k = n - 1; k > -1; k--) //k-номер строки  {  for (int i = n; i > -1; i--) //i-номер столбца  Matrix_Clone[k, i] = Matrix_Clone[k, i] / Matrix[k, k];  for (int i = k - 1; i > -1; i--) //i-номер следующей строки после k  {  double K = Matrix_Clone[i, k] / Matrix_Clone[k, k];  for (int j = n; j > -1; j--) //j-номер столбца следующей строки после k  Matrix_Clone[i, j] = Matrix_Clone[i, j] - Matrix_Clone[k, j] * K;  }  }   // Отделяем от общей матрицы ответы  double[] Answer = new double[n];  for (int i = 0; i < n; i++)  Answer[i] = Matrix_Clone[i, n];   return Answer;  }  } } 

Реализация алгоритма на языке программирования Borland Turbo Basic

С приведением матрицы коэффициентов к верхнему правому треугольному виду и вычислением корней в обратном порядке, от X[N] до X[1]:

CLS COLOR 10 DATA 3 DATA 4.00, 0.24, -0.08, 8 DATA 0.09, 3.00, -0.15, 9 DATA 0.04, -0.08, 4.00, 20 'X[1]=1.909198, X[2]=3.194954, X[3]=5.044807 05 PRINT "Reshenie sistemy iz N lineynyh uravneniy metodom Gaussa" 10 'INPUT "Chislo uravneniy N=";N  READ N 20 DIM A[N,N],B[N],X[N] '1. Vvod 30 FOR I=1 TO N  'PRINT USING "## Vvod koef. uravneniya ";I 40 FOR J=1 TO N  'INPUT A[I,J]  READ A[I,J]  PRINT USING "##.## ";A[I,J], 50 NEXT J  'INPUT B[I]  READ B[I]  PRINT USING "##.##";B[I]  NEXT I '2. Pryamoy hod 60 FOR I=1 TO N-1  FOR J=I+1 TO N 70 A[J,I]=-A[J,I]/A[I,I]  FOR K=I+1 TO N 80 A[J,K]=A[J,K]+A[J,I]*A[I,K]  NEXT K 90 B[J]=B[J]+A[J,I]*B[I]  NEXT J  NEXT I 100 X[N]=B[N]/A[N,N] '3. Obratnyi hod 110 FOR I=N-1 TO 1 STEP -1  H=B[I] 120 FOR J=I+1 TO N  H=H-X[J]*A[I,J]  NEXT J 130 X[I]=H/A[I,I]  NEXT I '4. Vyvod 140 PRINT "Korni sistemy uravneniy" 150 FOR I=1 TO N  PRINT USING "X[##]=##.######";I,X[I] 160 NEXT I  END  

С приведением матрицы коэффициентов к нижнему левому треугольному виду и вычислением корней в прямом порядке, от X[1] до X[N]:

CLS COLOR 10 DATA 3 DATA 3, 2, -1, 4 DATA 2, -1, 5, 23 DATA 1, 7, -1, 5 'X[1]=2.0, X[2]=1.0, X[3]=4.0 PRINT "Reshenie sistemy iz N lineynyh uravneniy prosteishim metodom Gaussa" PRINT "s nigney levoy treugolxnoy matricey" READ N 'Chislo uravneniy DIM A[N,N+1],X[N] PRINT '1. Vvod ------------------------- PRINT "Koefficienty sistemy uravneniy" FOR I=1 TO N  FOR J=1 TO N+1  READ A[I,J]  PRINT USING "###.## ";A[I,J],  NEXT J  PRINT NEXT I PRINT '2. Pryamoy hod i vyvod X[1] FOR L=0 TO N-2  FOR I=1 TO N-1-L  K=A[I,N-L]/A[N-L,N-L]  FOR J=1 TO N+1  A[I,J]=A[I,J]-A[N-L,J]*K  NEXT J,I,L PRINT "Nignyaya levaya treugolxnaya matrica" GOSUB MATVYV PRINT PRINT "Korny sistemy uravneniy" X[1]=A[1,N+1]/A[1,1] PRINT USING "X[ 1]=###.######";X[1] '3. Obratnyi hod i vyvod X[I], I>1 FOR I=2 TO N  H=A[I,N+1]  FOR J=1 TO I-1  H=H-A[I,J]*X[J]  NEXT J  X[I]=H/A[I,I]  PRINT USING "X[##]=###.######";I,X[I] NEXT I END MATVYV: FOR I=1 TO N  FOR J=1 TO N+1  PRINT USING "###.###### ";A[I,J];  NEXT J  PRINT NEXT I RETURN  

Применение и модификации

Помимо аналитического решения СЛАУ, метод Гаусса также применяется для:

  • нахождения матрицы, обратной к данной (к матрице справа приписывается единичная такого же размера, что и исходная: image, после чего image приводится к виду единичной матрицы методом Гаусса—Жордана; в результате на месте изначальной единичной матрицы справа оказывается обратная к исходной матрица: image);
  • определения ранга матрицы (согласно следствию из теоремы Кронекера — Капелли ранг матрицы равен числу её главных переменных);
  • численного решения СЛАУ в технических приложениях (для уменьшения погрешности вычислений используется Метод Гаусса с выделением главного элемента, суть которого заключена в том, чтобы на каждом шаге в качестве главной переменной выбирать ту, при которой среди оставшихся после вычёркивания очередных строк и столбцов стоит максимальный по модулю коэффициент).

Достоинства метода

  • Для матриц ограниченного размера — менее трудоёмкий по сравнению с другими методами.
  • Позволяет однозначно установить, совместна система или нет, и если совместна, найти её решение.
  • Позволяет найти максимальное число линейно независимых уравнений — ранг матрицы системы.

Устойчивость метода Гаусса

Метод Гаусса для плохо обусловленных матриц коэффициентов является вычислительно неустойчивым. Например, для матриц Гильберта метод приводит к очень большим ошибкам даже при небольшой размерности этих матриц. Уменьшить вычислительную ошибку можно с помощью метода Гаусса с выделением главного элемента, который является условно устойчивым. Широкое применение метода Гаусса связано с тем, что плохо обусловленные матрицы встречаются на практике относительно редко.

Неоптимальность метода Гаусса

В 1969 году Штрассен доказал, что большие матрицы можно перемножить за время image. Отсюда вытекает, что обращение матриц и решение СЛАУ можно осуществлять алгоритмами асимптотически более быстрыми по порядку, чем метод Гаусса. Таким образом, для больших СЛАУ метод Гаусса не оптимален по скорости.

См. также

  • Метод Гаусса — Жордана
  • Метод Крамера
  • Система линейных алгебраических уравнений
  • Теорема Кронекера — Капелли
  • Фундаментальная система решений
  • Элементарные преобразования матрицы
  • Метод Гаусса (оптимизация)
  • Метод покоординатного спуска (Гаусса — Зейделя)
  • Метод Якоби

Примечания

  1. Н. Ш. Кремер, 2.3. «Метод Гаусса», стр. 44
  2. Усовершенствование решения СЛАУ простейшим методом Гаусса. Куликов А. С.
  3. Такого расположения минора можно добиться перестановкой столбцов основной матрицы и соответствующей перенумерацией переменных.
  4. Решение систем линейных уравнений простейшим методом Гаусса. Куликов А. С.
  5. Н. Ш. Кремер, 2.4. «Система m линейных уравнений с n переменными», стр. 49
  6. УСТОЙЧИВОСТЬ И ТОЧНОСТЬ ПРЯМЫХ МЕТОДОВ (недоступная ссылка)
  7. Strassen V. Gaussian Elimination is not Optimal (англ.) // Numerische Mathematik / F. Brezzi — Springer Science+Business Media, 1969. — Vol. 13, Iss. 4. — P. 354—356. — ISSN 0029-599X; 0945-3245 — doi:10.1007/BF02165411

Литература

  • И. М. Виноградов. Гаусса метод // Математическая энциклопедия. — М.: Советская энциклопедия. — 1977—1985.
  • Ильин В. А., Позняк Э. Г. Линейная алгебра: Учебник для вузов. — 6-е изд., стер. — М.: ФИЗМАТЛИТ, 2004. — 280 с.
  • Амосов А. А., Дубинский Ю. А., Копченова Н. П. Вычислительные методы для инженеров. — М.: Мир, 1998.
  • Бахвалов Н. С., Жидков Н. П., Кобельков Г. Г. Численные методы. — 8-е изд. — М.: Лаборатория Базовых Знаний, 2000.
  • Волков Е. А. Численные методы. — М.: Физматлит, 2003.
  • Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М.: Наука, 1970. — С. 575—576.
  • Кремер Н. Ш., Путко Б. А., Тришин И. М., Фридман М. Н. Высшая математика для экономистов / Под ред. Н. Ш. Кремера. — 3-е изд. — М.: ЮНИТИ-ДАНА, 2007. — 479 с. — ISBN 5-238-00991-7.
  • Дьяконов В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ: Справочник. — М.: Наука. Гл. ред. физ.-мат. лит, 1989. — 240 с. — ISBN 5-02-014530-0.

Ссылки

  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), Section 2.2, Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Метод Гаусса, Что такое Метод Гаусса? Что означает Метод Гаусса?

U etogo termina sushestvuyut i drugie znacheniya sm Metod Gaussa znacheniya Me tod Ga ussa klassicheskij metod resheniya sistemy linejnyh algebraicheskih uravnenij SLAU Nazvan v chest nemeckogo matematika Karla Fridriha Gaussa Eto metod posledovatelnogo isklyucheniya peremennyh kogda s pomoshyu elementarnyh preobrazovanij sistema uravnenij privoditsya k ravnosilnoj sisteme verhnego pravogo ili nizhnego levogo treugolnogo vida iz kotoroj posledovatelno nachinaya s poslednih ili c pervyh po nomeru nahodyatsya vse peremennye sistemy IstoriyaHotya v nastoyashee vremya dannyj metod povsemestno nazyvaetsya metodom Gaussa on byl izvesten i do K F Gaussa Pervoe izvestnoe opisanie dannogo metoda v kitajskom traktate Matematika v devyati knigah Opisanie metodaPust ishodnaya sistema vyglyadit sleduyushim obrazom a11x1 a1nxn b1 am1x1 amnxn bm displaystyle left begin array lcr a 11 x 1 ldots a 1n x n amp amp b 1 ldots amp amp a m1 x 1 ldots a mn x n amp amp b m end array right Eyo mozhno zapisat v matrichnom vide Ax b displaystyle Ax b gde A a11 a1n am1 amn x x1 xn b b1 bm 1 displaystyle A left begin array ccc a 11 amp ldots amp a 1n ldots amp amp a m1 amp ldots amp a mn end array right quad x left begin array c x 1 vdots x n end array right quad b left begin array c b 1 vdots b m end array right quad 1 Matrica A displaystyle A nazyvaetsya osnovnoj matricej sistemy b displaystyle b stolbcom svobodnyh chlenov Togda soglasno svojstvu elementarnyh preobrazovanij nad strokami osnovnuyu matricu etoj sistemy mozhno privesti k stupenchatomu vidu eti zhe preobrazovaniya nuzhno primenyat k stolbcu svobodnyh chlenov a1j1xj1 a1j2xj2 a1jrxjr a1jnxjn b1a2j2xj2 a2jrxjr a2jnxjn b2 arjrxjr arjnxjn br0 br 1 0 bm displaystyle left begin array rcl alpha 1j 1 x j 1 alpha 1j 2 x j 2 ldots alpha 1j r x j r ldots alpha 1j n x j n amp amp beta 1 alpha 2j 2 x j 2 ldots alpha 2j r x j r ldots alpha 2j n x j n amp amp beta 2 amp ldots amp alpha rj r x j r ldots alpha rj n x j n amp amp beta r 0 amp amp beta r 1 amp ldots amp 0 amp amp beta m end array right gde a1j1 arjr 0 displaystyle alpha 1j 1 ldots alpha rj r neq 0 Pri etom budem schitat chto bazisnyj minor nenulevoj minor maksimalnogo poryadka osnovnoj matricy nahoditsya v verhnem levom uglu to est v nego vhodyat tolko koefficienty pri peremennyh xj1 xjr displaystyle x j 1 ldots x j r Togda peremennye xj1 xjr displaystyle x j 1 ldots x j r nazyvayutsya glavnymi peremennymi Vse ostalnye nazyvayutsya svobodnymi Esli hotya by odno chislo bi 0 displaystyle beta i neq 0 gde i gt r displaystyle i gt r to rassmatrivaemaya sistema nesovmestna t e u neyo net ni odnogo resheniya Pust bi 0 displaystyle beta i 0 dlya lyubyh i gt r displaystyle i gt r Perenesyom svobodnye peremennye za znaki ravenstv i podelim kazhdoe iz uravnenij sistemy na svoj koefficient pri samom levom x displaystyle x aiji i 1 r displaystyle alpha ij i i 1 ldots r gde i displaystyle i nomer stroki xj1 a 1j2xj2 a 1jrxjr b 1 a 1jr 1xjr 1 a 1jnxjnxj2 a 2jrxjr b 2 a 2jr 1xjr 1 a 2jnxjn xjr b r a rjr 1xjr 1 a rjnxjn b i biaiji a ijk aijkaiji 2 displaystyle left begin array rcc x j 1 widehat alpha 1j 2 x j 2 ldots widehat alpha 1j r x j r amp amp widehat beta 1 widehat alpha 1j r 1 x j r 1 ldots widehat alpha 1j n x j n x j 2 ldots widehat alpha 2j r x j r amp amp widehat beta 2 widehat alpha 2j r 1 x j r 1 ldots widehat alpha 2j n x j n amp ldots amp x j r amp amp widehat beta r widehat alpha rj r 1 x j r 1 ldots widehat alpha rj n x j n end array right qquad widehat beta i frac beta i alpha ij i quad widehat alpha ij k frac alpha ij k alpha ij i quad 2 gde i 1 r k i 1 n displaystyle i 1 ldots r quad k i 1 ldots n Esli svobodnym peremennym sistemy 2 pridavat vse vozmozhnye znacheniya i reshat novuyu sistemu otnositelno glavnyh neizvestnyh snizu vverh to est ot nizhnego uravneniya k verhnemu to my poluchim vse resheniya etoj SLAU Tak kak eta sistema poluchena putyom elementarnyh preobrazovanij nad ishodnoj sistemoj 1 to po teoreme ob ekvivalentnosti pri elementarnyh preobrazovaniyah sistemy 1 i 2 ekvivalentny to est mnozhestva ih reshenij sovpadayut Sledstviya 1 Esli v sovmestnoj sisteme vse peremennye glavnye to takaya sistema yavlyaetsya opredelyonnoj 2 Esli kolichestvo peremennyh v sisteme prevoshodit chislo uravnenij to takaya sistema yavlyaetsya libo neopredelyonnoj libo nesovmestnoj Kriterij sovmestnosti Upomyanutoe vyshe uslovie bi 0 displaystyle beta i 0 dlya vseh i gt r displaystyle i gt r mozhet byt sformulirovano v kachestve neobhodimogo i dostatochnogo usloviya sovmestnosti Napomnim chto rangom sovmestnoj sistemy nazyvaetsya rang eyo osnovnoj matricy libo rasshirennoj tak kak oni ravny Teorema Kronekera Kapelli Sistema sovmestna togda i tolko togda kogda rang eyo osnovnoj matricy raven rangu eyo rasshirennoj matricy Sledstviya Kolichestvo glavnyh peremennyh ravno rangu sistemy i ne zavisit ot eyo resheniya Esli rang sovmestnoj sistemy raven chislu peremennyh dannoj sistemy to ona opredelena Algoritm Blok shema predstavlena na risunke Dannyj risunok adaptirovannyj dlya napisaniya programmy na yazyke C C gde a rasshirennaya matrica poslednij stolbec v kotoroj stolbec svobodnyh chlenov Kolichestvo strok n Algoritm Gaussa dlya resheniya SLAUOpisanie Algoritm resheniya SLAU metodom Gaussa podrazdelyaetsya na dva etapa Na pervom etape osushestvlyaetsya tak nazyvaemyj pryamoj hod kogda putyom elementarnyh preobrazovanij nad strokami sistemu privodyat k stupenchatoj ili treugolnoj forme libo ustanavlivayut chto sistema nesovmestna Dlya etogo sredi elementov pervogo stolbca matricy vybirayut nenulevoj peremeshayut soderzhashuyu ego stroku v krajnee verhnee polozhenie delaya etu stroku pervoj Dalee nenulevye elementy pervogo stolbca vseh nizhelezhashih strok obnulyayutsya putyom vychitaniya iz kazhdoj stroki pervoj stroki domnozhennoj na otnoshenie pervogo elementa etih strok k pervomu elementu pervoj stroki Posle togo kak ukazannye preobrazovaniya byli soversheny pervuyu stroku i pervyj stolbec myslenno vychyorkivayut i prodolzhayut poka ne ostanetsya matrica nulevogo razmera Esli na kakoj to iz iteracij sredi elementov pervogo stolbca ne nashyolsya nenulevoj to perehodyat k sleduyushemu stolbcu i prodelyvayut analogichnuyu operaciyu Na vtorom etape osushestvlyaetsya tak nazyvaemyj obratnyj hod sut kotorogo zaklyuchaetsya v tom chtoby vyrazit vse poluchivshiesya bazisnye peremennye cherez nebazisnye i postroit fundamentalnuyu sistemu reshenij libo esli vse peremennye yavlyayutsya bazisnymi to vyrazit v chislennom vide edinstvennoe reshenie sistemy linejnyh uravnenij Eta procedura nachinaetsya s poslednego uravneniya iz kotorogo vyrazhayut sootvetstvuyushuyu bazisnuyu peremennuyu a ona tam vsego odna i podstavlyayut v predydushie uravneniya i tak dalee podnimayas po stupenkam naverh Kazhdoj strochke sootvetstvuet rovno odna bazisnaya peremennaya poetomu na kazhdom shage krome poslednego samogo verhnego situaciya v tochnosti povtoryaet sluchaj poslednej stroki Metod Gaussa trebuet O n3 displaystyle O n 3 arifmeticheskih operacij Etot metod opiraetsya na Teorema o privedenii matric k stupenchatomu vidu Lyubuyu matricu putyom elementarnyh preobrazovanij tolko nad strokami mozhno privesti k stupenchatomu vidu Prostejshij sluchaj V prostejshem sluchae algoritm vyglyadit tak a11 x1 a12 x2 a1n xn b1 1 a21 x1 a22 x2 a2n xn b2 2 am1 x1 am2 x2 amn xn bm m displaystyle left begin array lcc a 11 cdot x 1 a 12 cdot x 2 ldots a 1n cdot x n amp b 1 amp 1 a 21 cdot x 1 a 22 cdot x 2 ldots a 2n cdot x n amp b 2 amp 2 ldots amp amp a m1 cdot x 1 a m2 cdot x 2 ldots a mn cdot x n amp b m amp m end array right Pryamoj hod 2 2 1 a21a11 a22 x2 a23 x3 a2n xn b2 3 3 1 a31a11 a32 x2 a33 x3 a3n xn b3 m m 1 am1a11 am2 x2 am3 x3 amn xn bn 3 3 2 a32 a22 a33 x3 a3n xn b3 m m m 1 am n 1 m 2 am 1 n 1 m 2 amm m 1 xm amn m 1 xn bm m 1 displaystyle begin array ccc 2 to 2 1 cdot frac a 21 a 11 amp amp a 22 prime cdot x 2 a 23 prime cdot x 3 ldots a 2n prime cdot x n b 2 prime 3 to 3 1 cdot frac a 31 a 11 amp amp a 32 prime cdot x 2 a 33 prime cdot x 3 ldots a 3n prime cdot x n b 3 prime ldots amp amp m to m 1 cdot frac a m1 a 11 amp amp a m2 prime cdot x 2 a m3 prime cdot x 3 ldots a mn prime cdot x n b n prime 3 to 3 2 cdot frac a 32 prime a 22 prime amp amp a 33 prime prime cdot x 3 ldots a 3n prime prime cdot x n b 3 prime prime ldots amp amp m to m m 1 cdot frac a m n 1 m 2 a m 1 n 1 m 2 amp amp a mm m 1 cdot x m ldots a mn m 1 cdot x n b m m 1 end array Obratnyj hod Iz poslednego nenulevogo uravneniya vyrazhaem bazisnuyu peremennuyu cherez nebazisnye i podstavlyaem v predydushie uravneniya Povtoryaya etu proceduru dlya vseh bazisnyh peremennyh poluchaem fundamentalnoe reshenie Primer Pokazhem kak metodom Gaussa mozhno reshit sleduyushuyu sistemu 2x y z 8 3x y 2z 11 2x y 2z 3 displaystyle left begin array ccc 2x y z amp amp 8 3x y 2z amp amp 11 2x y 2z amp amp 3 end array right Obnulim koefficienty pri x displaystyle x vo vtoroj i tretej strochkah Dlya etogo pribavim k nim pervuyu strochku umnozhennuyu na 32 displaystyle textstyle frac 3 2 i 1 displaystyle 1 sootvetstvenno 2x y z 812y 12z 12y z 5 displaystyle left begin array rcc 2x y z amp amp 8 frac 1 2 y frac 1 2 z amp amp 1 2y z amp amp 5 end array right Teper obnulim koefficient pri y displaystyle y v tretej stroke vychtya iz neyo vtoruyu stroku umnozhennuyu na 4 displaystyle 4 2x y z 812y 12z 1 z 1 displaystyle left begin array rcc 2x y z amp amp 8 frac 1 2 y frac 1 2 z amp amp 1 z amp amp 1 end array right V rezultate my priveli ishodnuyu sistemu k treugolnomu vidu tem samym zakonchiv pervyj etap algoritma Na vtorom etape razreshim poluchennye uravneniya v obratnom poryadke Imeem z 1 displaystyle z 1 iz tretego y 3 displaystyle y 3 iz vtorogo podstaviv poluchennoe z displaystyle z x 2 displaystyle x 2 iz pervogo podstaviv poluchennye z displaystyle z i y displaystyle y Takim obrazom ishodnaya sistema reshena V sluchae esli chislo uravnenij v sovmestnoj sisteme poluchilos menshe chisla neizvestnyh otvet budet zapisyvatsya v vide fundamentalnoj sistemy reshenij Realizaciya algoritma na yazyke programmirovaniya C namespace Gauss Method class Maths lt summary gt Metod Gaussa Reshenie SLAU lt summary gt lt param name Matrix gt Nachalnaya matrica lt param gt lt returns gt lt returns gt public static double Gauss double Matrix int n Matrix GetLength 0 Razmernost nachalnoj matricy stroki double Matrix Clone new double n n 1 Matrica dubler for int i 0 i lt n i for int j 0 j lt n 1 j Matrix Clone i j Matrix i j Pryamoj hod Zanulenie nizhnego levogo ugla for int k 0 k lt n k k nomer stroki for int i 0 i lt n 1 i i nomer stolbca Matrix Clone k i Matrix Clone k i Matrix k k Delenie k stroki na pervyj chlen 0 dlya preobrazovaniya ego v edinicu for int i k 1 i lt n i i nomer sleduyushej stroki posle k double K Matrix Clone i k Matrix Clone k k Koefficient for int j 0 j lt n 1 j j nomer stolbca sleduyushej stroki posle k Matrix Clone i j Matrix Clone i j Matrix Clone k j K Zanulenie elementov matricy nizhe pervogo chlena preobrazovannogo v edinicu for int i 0 i lt n i Obnovlenie vnesenie izmenenij v nachalnuyu matricu for int j 0 j lt n 1 j Matrix i j Matrix Clone i j Obratnyj hod Zanulenie verhnego pravogo ugla for int k n 1 k gt 1 k k nomer stroki for int i n i gt 1 i i nomer stolbca Matrix Clone k i Matrix Clone k i Matrix k k for int i k 1 i gt 1 i i nomer sleduyushej stroki posle k double K Matrix Clone i k Matrix Clone k k for int j n j gt 1 j j nomer stolbca sleduyushej stroki posle k Matrix Clone i j Matrix Clone i j Matrix Clone k j K Otdelyaem ot obshej matricy otvety double Answer new double n for int i 0 i lt n i Answer i Matrix Clone i n return Answer Realizaciya algoritma na yazyke programmirovaniya Borland Turbo BasicS privedeniem matricy koefficientov k verhnemu pravomu treugolnomu vidu i vychisleniem kornej v obratnom poryadke ot X N do X 1 CLS COLOR 10 DATA 3 DATA 4 00 0 24 0 08 8 DATA 0 09 3 00 0 15 9 DATA 0 04 0 08 4 00 20 X 1 1 909198 X 2 3 194954 X 3 5 044807 05 PRINT Reshenie sistemy iz N lineynyh uravneniy metodom Gaussa 10 INPUT Chislo uravneniy N N READ N 20 DIM A N N B N X N 1 Vvod 30 FOR I 1 TO N PRINT USING Vvod koef uravneniya I 40 FOR J 1 TO N INPUT A I J READ A I J PRINT USING A I J 50 NEXT J INPUT B I READ B I PRINT USING B I NEXT I 2 Pryamoy hod 60 FOR I 1 TO N 1 FOR J I 1 TO N 70 A J I A J I A I I FOR K I 1 TO N 80 A J K A J K A J I A I K NEXT K 90 B J B J A J I B I NEXT J NEXT I 100 X N B N A N N 3 Obratnyi hod 110 FOR I N 1 TO 1 STEP 1 H B I 120 FOR J I 1 TO N H H X J A I J NEXT J 130 X I H A I I NEXT I 4 Vyvod 140 PRINT Korni sistemy uravneniy 150 FOR I 1 TO N PRINT USING X I X I 160 NEXT I END S privedeniem matricy koefficientov k nizhnemu levomu treugolnomu vidu i vychisleniem kornej v pryamom poryadke ot X 1 do X N CLS COLOR 10 DATA 3 DATA 3 2 1 4 DATA 2 1 5 23 DATA 1 7 1 5 X 1 2 0 X 2 1 0 X 3 4 0 PRINT Reshenie sistemy iz N lineynyh uravneniy prosteishim metodom Gaussa PRINT s nigney levoy treugolxnoy matricey READ N Chislo uravneniy DIM A N N 1 X N PRINT 1 Vvod PRINT Koefficienty sistemy uravneniy FOR I 1 TO N FOR J 1 TO N 1 READ A I J PRINT USING A I J NEXT J PRINT NEXT I PRINT 2 Pryamoy hod i vyvod X 1 FOR L 0 TO N 2 FOR I 1 TO N 1 L K A I N L A N L N L FOR J 1 TO N 1 A I J A I J A N L J K NEXT J I L PRINT Nignyaya levaya treugolxnaya matrica GOSUB MATVYV PRINT PRINT Korny sistemy uravneniy X 1 A 1 N 1 A 1 1 PRINT USING X 1 X 1 3 Obratnyi hod i vyvod X I I gt 1 FOR I 2 TO N H A I N 1 FOR J 1 TO I 1 H H A I J X J NEXT J X I H A I I PRINT USING X I X I NEXT I END MATVYV FOR I 1 TO N FOR J 1 TO N 1 PRINT USING A I J NEXT J PRINT NEXT I RETURN Primenenie i modifikaciiPomimo analiticheskogo resheniya SLAU metod Gaussa takzhe primenyaetsya dlya nahozhdeniya matricy obratnoj k dannoj k matrice sprava pripisyvaetsya edinichnaya takogo zhe razmera chto i ishodnaya A E displaystyle A E posle chego A displaystyle A privoditsya k vidu edinichnoj matricy metodom Gaussa Zhordana v rezultate na meste iznachalnoj edinichnoj matricy sprava okazyvaetsya obratnaya k ishodnoj matrica E A 1 displaystyle E A 1 opredeleniya ranga matricy soglasno sledstviyu iz teoremy Kronekera Kapelli rang matricy raven chislu eyo glavnyh peremennyh chislennogo resheniya SLAU v tehnicheskih prilozheniyah dlya umensheniya pogreshnosti vychislenij ispolzuetsya Metod Gaussa s vydeleniem glavnogo elementa sut kotorogo zaklyuchena v tom chtoby na kazhdom shage v kachestve glavnoj peremennoj vybirat tu pri kotoroj sredi ostavshihsya posle vychyorkivaniya ocherednyh strok i stolbcov stoit maksimalnyj po modulyu koefficient Dostoinstva metodaDlya matric ogranichennogo razmera menee trudoyomkij po sravneniyu s drugimi metodami Pozvolyaet odnoznachno ustanovit sovmestna sistema ili net i esli sovmestna najti eyo reshenie Pozvolyaet najti maksimalnoe chislo linejno nezavisimyh uravnenij rang matricy sistemy Ustojchivost metoda GaussaMetod Gaussa dlya ploho obuslovlennyh matric koefficientov yavlyaetsya vychislitelno neustojchivym Naprimer dlya matric Gilberta metod privodit k ochen bolshim oshibkam dazhe pri nebolshoj razmernosti etih matric Umenshit vychislitelnuyu oshibku mozhno s pomoshyu metoda Gaussa s vydeleniem glavnogo elementa kotoryj yavlyaetsya uslovno ustojchivym Shirokoe primenenie metoda Gaussa svyazano s tem chto ploho obuslovlennye matricy vstrechayutsya na praktike otnositelno redko Neoptimalnost metoda GaussaV 1969 godu Shtrassen dokazal chto bolshie matricy mozhno peremnozhit za vremya O nlog2 7 O n2 81 displaystyle O n log 2 7 approx O n 2 81 Otsyuda vytekaet chto obrashenie matric i reshenie SLAU mozhno osushestvlyat algoritmami asimptoticheski bolee bystrymi po poryadku chem metod Gaussa Takim obrazom dlya bolshih SLAU metod Gaussa ne optimalen po skorosti Sm takzheMetod Gaussa Zhordana Metod Kramera Sistema linejnyh algebraicheskih uravnenij Teorema Kronekera Kapelli Fundamentalnaya sistema reshenij Elementarnye preobrazovaniya matricy Metod Gaussa optimizaciya Metod pokoordinatnogo spuska Gaussa Zejdelya Metod YakobiPrimechaniyaN Sh Kremer 2 3 Metod Gaussa str 44 Usovershenstvovanie resheniya SLAU prostejshim metodom Gaussa Kulikov A S Takogo raspolozheniya minora mozhno dobitsya perestanovkoj stolbcov osnovnoj matricy i sootvetstvuyushej perenumeraciej peremennyh Reshenie sistem linejnyh uravnenij prostejshim metodom Gaussa Kulikov A S N Sh Kremer 2 4 Sistema m linejnyh uravnenij s n peremennymi str 49 USTOJChIVOST I TOChNOST PRYaMYH METODOV nedostupnaya ssylka Strassen V Gaussian Elimination is not Optimal angl Numerische Mathematik F Brezzi Springer Science Business Media 1969 Vol 13 Iss 4 P 354 356 ISSN 0029 599X 0945 3245 doi 10 1007 BF02165411LiteraturaI M Vinogradov Gaussa metod Matematicheskaya enciklopediya M Sovetskaya enciklopediya rus 1977 1985 Ilin V A Poznyak E G Linejnaya algebra Uchebnik dlya vuzov 6 e izd ster M FIZMATLIT 2004 280 s Amosov A A Dubinskij Yu A Kopchenova N P Vychislitelnye metody dlya inzhenerov M Mir 1998 Bahvalov N S Zhidkov N P Kobelkov G G Chislennye metody 8 e izd M Laboratoriya Bazovyh Znanij 2000 Volkov E A Chislennye metody M Fizmatlit 2003 Korn G Korn T Spravochnik po matematike dlya nauchnyh rabotnikov i inzhenerov M Nauka 1970 S 575 576 Kremer N Sh Putko B A Trishin I M Fridman M N Vysshaya matematika dlya ekonomistov Pod red N Sh Kremera 3 e izd M YuNITI DANA 2007 479 s ISBN 5 238 00991 7 Dyakonov V P Spravochnik po algoritmam i programmam na yazyke bejsik dlya personalnyh EVM Spravochnik M Nauka Gl red fiz mat lit 1989 240 s ISBN 5 02 014530 0 SsylkiPress WH Teukolsky SA Vetterling WT Flannery BP 2007 Section 2 2 Numerical Recipes The Art of Scientific Computing 3rd ed New York Cambridge University Press ISBN 978 0 521 88068 8

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто