~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ B685B8ADDADF0DB4D8B9D0C5C48F7898__1715578680 ✰
Заголовок документа оригинал.:
✰ Gaussian elimination - Wikipedia ✰
Заголовок документа перевод.:
✰ Метод исключения Гаусса — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Gaussian_elimination ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/b6/98/b685b8addadf0db4d8b9d0c5c48f7898.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/b6/98/b685b8addadf0db4d8b9d0c5c48f7898__translat.html ✰
Дата и время сохранения документа:
✰ 11.06.2024 04:40:00 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 13 May 2024, at 08:38 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Метод исключения Гаусса — Википедия Jump to content

Исключение по Гауссу

Из Википедии, бесплатной энциклопедии
Анимация исключения Гаусса. Красная строка удаляет следующие строки, зеленые строки меняют их порядок.

В математике метод исключения Гаусса , также известный как сокращение строк , представляет собой алгоритм решения систем линейных уравнений . Он состоит из последовательности операций над строками, выполняемых над соответствующей матрицей коэффициентов. Этот метод также можно использовать для вычисления ранга матрицы, определителя квадратной матрицы и обратной обратимой матрицы . Метод назван в честь Карла Фридриха Гаусса (1777–1855). Чтобы выполнить сокращение строк в матрице, используется последовательность элементарных операций над строками для изменения матрицы до тех пор, пока нижний левый угол матрицы не заполнится нулями, насколько это возможно. Существует три типа элементарных операций над строками:

  • Поменяв местами две строки,
  • Умножение строки на ненулевое число,
  • Добавление числа, кратного одной строке, в другую строку.

С помощью этих операций матрицу всегда можно преобразовать в верхнетреугольную матрицу , причем фактически такую, которая находится в виде звеньев строк . Когда все старшие коэффициенты (крайняя левая ненулевая запись в каждой строке) равны 1, а каждый столбец, содержащий старший коэффициент, имеет нули в другом месте, говорят, что матрица находится в форме сокращенного эшелона строк . Эта окончательная форма уникальна; другими словами, он не зависит от последовательности используемых операций над строками. Например, в следующей последовательности операций над строками (где на первом и третьем шагах выполняются две элементарные операции над разными строками) третья и четвертая матрицы имеют форму звена строк, а конечная матрица представляет собой уникальную сокращенную строку эшелонированная форма.

Использование операций над строками для преобразования матрицы в уменьшенную форму эшелона строк иногда называется Элиминация Гаусса–Жордана . В этом случае термин «исключение по Гауссу» относится к процессу до тех пор, пока он не достигнет своей верхней треугольной или (нередуцированной) формы эшелона строк. По вычислительным причинам при решении систем линейных уравнений иногда предпочтительнее остановить операции со строками до полного сокращения матрицы.

Определения и пример алгоритма [ править ]

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

Другая точка зрения, которая оказывается очень полезной для анализа алгоритма, заключается в том, что сокращение строк приводит к матричному разложению исходной матрицы. Операции с элементарными строками можно рассматривать как умножение слева исходной матрицы на элементарные матрицы . Альтернативно, последовательность элементарных операций, сокращающих одну строку, можно рассматривать как умножение на матрицу Фробениуса . Затем первая часть алгоритма вычисляет LU-разложение , а вторая часть записывает исходную матрицу как произведение однозначно определенной обратимой матрицы и однозначно определенной сокращенной ступенчатой ​​матрицы строк.

Операции со строками [ править ]

Существует три типа элементарных операций со строками, которые можно выполнять со строками матрицы:

  1. Поменяйте местами два ряда.
  2. Умножьте строку на ненулевой скаляр .
  3. Добавьте к одной строке скаляр, кратный другой.

Если матрице сопоставлена ​​система линейных уравнений, то эти операции не изменяют множество решений. Следовательно, если цель состоит в решении системы линейных уравнений, то использование этих операций над строками может облегчить задачу.

Форма эшелона [ править ]

Для каждой строки в матрице, если она не состоит только из нулей, то крайняя левая ненулевая запись называется старшим коэффициентом (или опорной точкой ) этой строки. Таким образом, если два старших коэффициента находятся в одном столбце, то можно использовать операцию строки типа 3 , чтобы обнулить один из этих коэффициентов. Затем, используя операцию замены строк, всегда можно упорядочить строки так, чтобы для каждой ненулевой строки старший коэффициент находился справа от старшего коэффициента строки выше. В этом случае говорят, что матрица имеет форму эшелона строк. Таким образом, нижняя левая часть матрицы содержит только нули, а все нулевые строки находятся ниже ненулевых строк. Слово «эшелон» используется здесь потому, что можно грубо представить себе, что строки ранжируются по их размеру: самая большая находится вверху, а самая маленькая — внизу.

Например, следующая матрица имеет форму звена строк, а ее старшие коэффициенты показаны красным:

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

Говорят, что матрица находится в форме сокращенного эшелона строк, если, кроме того, все старшие коэффициенты равны 1 (чего можно достичь, используя элементарную операцию над строкой типа 2), и в каждом столбце, содержащем старший коэффициент, все другие записи в этом столбце равны нулю (чего можно добиться с помощью элементарных операций над строками типа 3).

Пример алгоритма [ править ]

Предположим, что цель состоит в том, чтобы найти и описать множество решений следующей системы линейных уравнений:

В таблице ниже представлен процесс сокращения строк, применяемый одновременно к системе уравнений и связанной с ней расширенной матрице . На практике с системами обычно не имеют дело в виде уравнений, а используют расширенную матрицу, которая больше подходит для компьютерных манипуляций. Процедуру сокращения строк можно резюмировать следующим образом: исключить x из всех уравнений ниже L 1 , а затем исключить y из всех уравнений ниже L 2 . Это придаст системе треугольную форму . Затем, используя обратную замену, можно решить каждое неизвестное.

Система уравнений Операции со строками Дополненная матрица
Матрица теперь имеет эшелонированную форму (также называемую треугольной формой).

Во втором столбце указано, какие операции со строками только что были выполнены. Итак, на первом этапе x исключается L2 из добавлением 3/2 от L 1 до L 2 . Затем x исключается L3 путем L1 добавления к L3 . из Эти операции над строками помечены в таблице как

Как только y также исключен из третьей строки, результатом будет система линейных уравнений в треугольной форме, и, таким образом, первая часть алгоритма будет завершена. С вычислительной точки зрения быстрее решать переменные в обратном порядке — процесс, известный как обратная замена. Видно, что решение: z = −1 , y = 3 и x = 2 . Итак, существует единственное решение исходной системы уравнений.

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

История [ править ]

Метод исключения Гаусса появляется – хотя и без доказательства – в китайском математическом тексте « Глава восьмая: Прямоугольные массивы девяти глав математического искусства» . Его использование проиллюстрировано на восемнадцати задачах с двумя-пятью уравнениями. Первое упоминание о книге с таким названием датировано 179 годом нашей эры, но некоторые ее части были написаны еще примерно в 150 году до нашей эры. [1] [2] [3] Это прокомментировал Лю Хуэй в III веке.

Метод в Европе берет свое начало из заметок Исаака Ньютона . [4] [5] В 1670 году он писал, что во всех известных ему книгах по алгебре отсутствует урок решения одновременных уравнений, который тогда предоставил Ньютон. Кембриджский университет в конце концов опубликовал эти записи под названием «Arithmetica Universalis» в 1707 году, спустя много времени после того, как Ньютон оставил академическую жизнь. Заметки широко имитировались, что сделало (то, что сейчас называется) методом исключения Гаусса стандартным уроком в учебниках алгебры к концу 18 века. Карл Фридрих Гаусс в 1810 году разработал систему обозначений симметричного исключения, которая была принята в 19 веке профессиональными ручными компьютерами для решения нормальных уравнений задачи наименьших квадратов. [6] Алгоритм, который преподают в средней школе, был назван в честь Гаусса только в 1950-х годах из-за путаницы в истории этого предмета. [7]

Некоторые авторы используют термин «исключение Гаусса» для обозначения только процедуры до тех пор, пока матрица не примет эшелонированную форму, и используют термин «исключение Гаусса – Жордана» для обозначения процедуры, которая заканчивается в форме сокращенного эшелона. Это название используется потому, что оно представляет собой разновидность метода исключения Гаусса, описанного Вильгельмом Йорданом в 1888 году. Однако этот метод также появляется в статье Класена, опубликованной в том же году. Джордан и Клазен, вероятно, открыли исключение Гаусса – Джордана независимо. [8]

Приложения [ править ]

Исторически сложилось так, что первое применение метода сокращения строк связано с решением систем линейных уравнений. Ниже приведены некоторые другие важные применения алгоритма.

определителей Вычисление

Чтобы объяснить, как метод исключения Гаусса позволяет вычислить определитель квадратной матрицы, мы должны вспомнить, как элементарные операции над строками изменяют определитель:

  • Замена двух строк приводит к умножению определителя на −1.
  • Умножение строки на ненулевой скаляр умножает определитель на тот же скаляр.
  • Добавление к одной строке скаляра, кратного другой, не меняет определитель.

Если метод исключения Гаусса, примененный к квадратной матрице A , дает матрицу B в виде звеньев строк , пусть d будет произведением скаляров, на которые был умножен определитель, с использованием приведенных выше правил. Тогда определитель A — это частное по d произведения элементов диагонали B :

В вычислительном отношении для матрицы размера n × n этому методу требуется только O( n 3 ) арифметических операций, тогда как использование формулы Лейбница для определителей требует O( n !) операций (количества слагаемых в формуле), и рекурсивное разложение Лапласа требует O(2 н ) операций (количество поддетерминантов для вычисления, если ни один из них не вычисляется дважды). Даже на самых быстрых компьютерах эти два метода непрактичны или почти неосуществимы при n выше 20.

Нахождение обратной матрицы [ править ]

Вариант исключения Гаусса, называемый исключением Гаусса – Жордана, можно использовать для поиска обратной матрицы, если она существует. Если A квадратная матрица размера n × n , то можно использовать сокращение строк для вычисления обратной матрицы , если она существует. Во-первых, n × n единичная матрица размера увеличивается справа от A , образуя n × 2 n блочную матрицу размера [ A | Я ] . Теперь, применяя элементарные операции над строками, найдите приведенную ступенчатую форму этой размера n × 2 n матрицы . Матрица A обратима тогда и только тогда, когда левый блок можно свести к единичной матрице I ; в этом случае правый блок конечной матрицы — это A −1 . Если алгоритм не может свести левый блок к I , то A не является обратимым.

Например, рассмотрим следующую матрицу:

Чтобы найти обратную эту матрицу, берется следующая матрица, дополненная единицей, и сокращается по строкам до матрицы 3 × 6:

Выполняя операции со строками, можно проверить, что сокращенная форма эшелона строк этой расширенной матрицы имеет вид

О каждой операции над строкой можно думать как о левом произведении элементарной матрицы . Обозначая B произведение этих элементарных матриц, мы показали слева, что BA = I и, следовательно, B = A −1 . Справа мы сохранили запись BI = B , которая, как мы знаем, является желаемой инверсией. Эта процедура поиска обратной работы работает для квадратных матриц любого размера.

Вычисление рангов и оснований [ править ]

Алгоритм исключения Гаусса можно применить к любой размера m × n матрице A . Таким образом, например, некоторые матрицы 6 × 9 могут быть преобразованы в матрицу, имеющую форму эшелона строк, например

где звездочки — произвольные записи, а a , b , c , d , e — ненулевые записи. Эта эшелонированная матрица T содержит огромное количество информации об A : ранг A равен 5 , имеется 5 ненулевых строк поскольку в T ; векторное пространство , охватываемое столбцами A, имеет основу, состоящую из столбцов 1, 3, 4, 7 и 9 (столбцы с a , b , c , d , e в T ), а звездочки показывают, как другие столбцы A можно записать как линейные комбинации базисных столбцов.

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

эффективность Вычислительная

Количество арифметических операций , необходимых для сокращения строк, является одним из способов измерения вычислительной эффективности алгоритма. Например, чтобы решить систему из n уравнений для n неизвестных путем выполнения операций над строками матрицы до тех пор, пока она не примет эшелонированную форму, а затем решения для каждого неизвестного в обратном порядке, требуется n ( n + 1)/2 делений, (2 н 3 + 2 − 5 n )/6 умножений и (2 n 3 + 2 − 5 n )/6 вычитаний, [9] в общей сложности примерно 2 н. 3 /3 операции. Таким образом, он имеет арифметическую сложность ( временную сложность , где каждая арифметическая операция занимает единицу времени, независимо от размера входных данных) O( n 3 ) .

Эта сложность является хорошей мерой времени, необходимого для всего вычисления, когда время для каждой арифметической операции примерно постоянно. Это тот случай, когда коэффициенты представлены числами с плавающей запятой или когда они принадлежат конечному полю . Если коэффициенты представляют собой целые или точно представленные рациональные числа , промежуточные элементы могут расти экспоненциально, поэтому сложность битов является экспоненциальной. [10] Однако алгоритм Барейсса представляет собой вариант исключения Гаусса, который позволяет избежать экспоненциального роста промежуточных записей; с той же арифметической сложностью O( n 3 ) , его сложность составляет O( n 5 ) и, следовательно, имеет сильно полиномиальную временную сложность.

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

Алгоритм Барейсса [ править ]

Первый алгоритм исключения Гаусса со строго полиномиальным временем был опубликован Джеком Эдмондсом в 1967 году. [11] : 37  Независимо и почти одновременно Эрвин Барайс открыл другой алгоритм, основанный на следующем замечании, который применим к варианту исключения Гаусса без делений.

При стандартном методе исключения Гаусса из каждой строки вычитается под сводной строкой кратное к где и — это записи в сводном столбце и соответственно.

Вместо этого вариант Bareiss заключается в замене с В результате получается форма эшелона строк, имеющая те же нулевые записи, что и при стандартном методе исключения Гаусса.

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

В частности, если начать с целочисленных записей, деления, происходящие в алгоритме, будут точными делениями, приводящими к целым числам. Итак, все промежуточные и конечные записи являются целыми числами. Более того, неравенство Адамара обеспечивает верхнюю границу абсолютных значений промежуточных и конечных записей и, следовательно, немного усложняет задачу. используя мягкую нотацию O.

Более того, поскольку известна верхняя граница размера конечных записей, сложность может быть получено с помощью модульных вычислений с последующим китайским остатком или подъемом Гензеля .

Как следствие, следующие задачи могут быть решены за сильно полиномиальное время с той же битовой сложностью: [11] : 40 

Численная нестабильность

Одной из возможных проблем является численная нестабильность , вызванная возможностью деления на очень маленькие числа. Если, например, старший коэффициент одной из строк очень близок к нулю, то для сокращения строки матрицы нужно будет разделить на это число. Это означает, что любая ошибка, существовавшая для числа, близкого к нулю, будет усилена. Метод исключения Гаусса численно устойчив для диагонально доминирующих или положительно определенных матриц. Для общих матриц исключение Гаусса обычно считается стабильным при использовании частичного поворота , хотя есть примеры стабильных матриц, для которых оно нестабильно. [12]

Обобщения [ править ]

Исключение по Гауссу можно выполнить для любого поля , а не только для действительных чисел.

Алгоритм Бухбергера представляет собой обобщение метода исключения Гаусса на системы полиномиальных уравнений . Это обобщение во многом зависит от понятия мономиального порядка . Выбор порядка переменных уже подразумевается методом исключения Гаусса, проявляясь в выборе работы слева направо при выборе поворотных позиций.

Вычисление ранга тензора порядка больше 2 NP-трудно . [13] Следовательно, если P ≠ NP , не может быть полиномиального по времени аналога исключения Гаусса для тензоров более высокого порядка (матрицы представляют собой массивы тензоров 2-го порядка).

Псевдокод [ править ]

Как объяснялось выше, метод исключения Гаусса преобразует заданную размера m × n матрицу A в матрицу в форме звеньев строк .

следующем псевдокоде В A[i, j] обозначает запись матрицы A в строке i и столбце j с индексами, начинающимися с 1. Преобразование выполняется на месте , что означает, что исходная матрица теряется из-за того, что в конечном итоге ее заменяет ее ступенчатая форма.

h := 1 /*  Инициализация сводной строки  */ 
  k := 1 /*  Инициализация сводного столбца  */ 

  в то время как  h ≤ m  и  k ≤ n 
      /*  Находим k-ю опорную точку:  */ 
      i_max :=  argmax  (i = h ... m, abs(A[i, k])) 
      если  A[i_max, k] = 0 
          /*  В этом столбце нет сводки, переходим к следующему столбцу  */ 
          к := к + 1 
      иначе 
         поменять местами строки  (h, i_max) 
          /*  Выполняем для всех строк ниже точки поворота:  */ 
          для  i = h + 1...m: 
              f := A[i, k] / A[h, k] 
              /*  Заполняем нулями нижнюю часть сводного столбца:  */ 
              А[i, k] := 0 
              /*  Выполняем для всех оставшихся элементов в текущей строке:  */ 
              для  j = k + 1...n: 
                  A[i, j] := A[i, j] - A[h, j] * f 
          /*  Увеличение сводной строки и столбца  */ 
          ч := ч + 1 
          к := к + 1 
 

Этот алгоритм немного отличается от рассмотренного ранее, поскольку выбирается точка поворота с наибольшим абсолютным значением . Такой частичный поворот может потребоваться, если в месте поворота элемент матрицы равен нулю. В любом случае, выбор максимально возможного абсолютного значения поворота улучшает числовую стабильность алгоритма, когда для представления чисел используется плавающая запятая. [14]

По завершении этой процедуры матрица будет иметь форму звена строк, и соответствующая система может быть решена путем обратной замены.

См. также [ править ]

Ссылки [ править ]

  1. ^ «DOCUMENTA MATHEMATICA, Том. Дополнительный том: Истории оптимизации (2012), 9–14» . www.emis.de. ​ Проверено 2 декабря 2022 г.
  2. ^ Каллинджер 1999 , стр. 234–236
  3. ^ Тимоти Гауэрс; Джун Барроу-Грин; Имре Лидер (8 сентября 2008 г.). Принстонский спутник математики . Издательство Принстонского университета. п. 607. ИСБН  978-0-691-11880-2 .
  4. ^ Grcar 2011a , стр. 169–172.
  5. ^ Grcar 2011b , стр. 783–785.
  6. ^ Лауритцен , с. 3
  7. ^ Grcar 2011b , с. 789
  8. ^ Альтоэн, Стивен С.; Маклафлин, Рената (1987), «Редукция Гаусса-Джордана: краткая история», The American Mathematical Monthly , 94 (2), Mathematical Association of America: 130–142, doi : 10.2307/2322413 , ISSN   0002-9890 , JSTOR   2322413
  9. ^ Фарбразер 1988 , с. 12
  10. ^ Фан, Синь Гуй; Хавас, Джордж (1997). «О наихудшей сложности целочисленного исключения Гаусса» . Материалы международного симпозиума 1997 года по символьным и алгебраическим вычислениям . ИССАК '97. Кихеи, Мауи, Гавайи, США: ACM. стр. 28–31. дои : 10.1145/258726.258740 . ISBN  0-89791-875-4 .
  11. ^ Перейти обратно: а б Гретшель, Мартин ; Ловас, Ласло ; Шрийвер, Александр (1993), Геометрические алгоритмы и комбинаторная оптимизация , Алгоритмы и комбинаторика, том. 2 (2-е изд.), Springer-Verlag, Берлин, номер номера : 10.1007/978-3-642-78240-4 , ISBN.  978-3-642-78242-8 , МР   1261419
  12. ^ Голуб и Ван Лоан 1996 , §3.4.6
  13. ^ Хиллар, Кристофер; Лим, Лек-Хенг (07 ноября 2009 г.). «Большинство тензорных задач NP-сложны». arXiv : 0911.1393 [ cs.CC ].
  14. ^ Кургалин Сергей; Борзунов, Сергей (2021). «Алгебра и геометрия с Python» . СпрингерЛинк . дои : 10.1007/978-3-030-61541-3 .

Цитируемые работы [ править ]

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: B685B8ADDADF0DB4D8B9D0C5C48F7898__1715578680
URL1:https://en.wikipedia.org/wiki/Gaussian_elimination
Заголовок, (Title) документа по адресу, URL1:
Gaussian elimination - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)