НОУ ИНТУИТ | Лекция | Решение систем линейных уравнений
Аннотация: В лекции рассматривается задача решения систем линейных уравнений. Приводятся необходимые определения и постановка задачи. Описывается последовательный и параллельный варианты одного из прямых методов решения линейных систем общего вида – метода Гаусса. Далее дается описание последовательного и параллельного алгоритмов, реализующих итерационный метод сопряженных градиентов
Ключевые слова: система линейных уравнений, Трансцендентное уравнение, линейное уравнение, решение системы линейных уравнений, алгоритм Гаусса, балансировка вычислений, операции передачи данных, топология сети передачи данных, MPI, вычислительный эксперимент, EM64T, computer cluster, итерационные методы решения систем линейных уравнений, итерационный алгоритм, метод сопряженных градиентов, горизонтальное разделение, программная реализация
Системы линейных уравнений возникают при решении ряда
прикладных задач, описываемых дифференциальными, интегральными
или системами нелинейных (трансцендентных) уравнений.
Матрицы коэффициентов систем линейных уравнений могут иметь различные структуру и свойства. Матрицы решаемых систем могут быть плотными, и их порядок может достигать несколько тысяч строк и столбцов. При решении многих задач могут появляться системы, обладающие симметричными положительно определенными ленточными матрицами с порядком в десятки тысяч и шириной ленты в несколько тысяч элементов. И, наконец, при рассмотрении большого ряда задач могут возникать системы линейных уравнений с разреженными матрицами с порядком в миллионы строк и столбцов.
8.1. Постановка задачи
Линейное уравнение с n неизвестными x0, x1, ѕ, xn-1 может быть определено при помощи выражения
(
8.![]() |
где величины a0,a1,…,an-1 и b представляют собой постоянные значения.
Множество из n линейных уравнений
( 8.2) |
называется системой линейных уравнений или линейной системой. В более кратком ( матричном ) виде система может представлена как
Ax = b,
где A=(ai,j) есть вещественная матрица размера nxn, а векторы b и x состоят из n элементов.
Под задачей решения системы линейных уравнений для заданных
матрицы А и вектора b обычно понимается нахождение значения
вектора неизвестных x, при котором выполняются все уравнения
системы.
8.2. Алгоритм Гаусса
Метод Гаусса – широко известный прямой алгоритм решения систем линейных уравнений, для которых матрицы коэффициентов являются плотными. Если система линейных уравнений
В подразделе дается общая характеристика метода Гаусса,
достаточная для начального понимания алгоритма и позволяющая
рассмотреть возможные способы параллельных вычислений при решении
систем линейных уравнений. Более полное изложение алгоритма со
строгим обсуждением вопросов точности получаемых решений может
быть получено, например, в работах [
[
6
]
,
[
22
]
,
[
47
]
] и др.
8.2.1. Последовательный алгоритм
Метод Гаусса основывается на возможности выполнения преобразований линейных уравнений, которые не меняют при этом решения рассматриваемой системы (такие преобразования носят наименование эквивалентных ). К числу таких преобразований относятся:
- умножение любого из уравнений на ненулевую константу;
- перестановка уравнений;
- прибавление к уравнению любого другого уравнения системы.
Метод Гаусса включает последовательное выполнение двух этапов. На первом этапе – прямой ход метода Гаусса – исходная система линейных уравнений при помощи последовательного исключения неизвестных приводится к верхнему треугольному виду
где матрица коэффициентов получаемой системы имеет вид
8.2.1.1. Прямой ход алгоритма Гаусса
Прямой ход метода Гаусса состоит в последовательном исключении
неизвестных в уравнениях решаемой системы линейных уравнений. На
итерации i, 0<=i<n-1, метода производится исключение неизвестной i для всех уравнений с номерами k, большими i (т.е. i<k<=n-1 ).
Для этого из этих уравнений осуществляется вычитание строки i,
умноженной на константу ( a
(следует отметить, что аналогичные вычисления выполняются и над
вектором b ).
Поясним выполнение прямого хода метода Гаусса на примере системы линейных уравнений вида:
На первой итерации производится исключение неизвестной x0 из второй и третьей строки. Для этого из этих строк нужно вычесть первую строку, умноженную соответственно на 2 и 1. После этих преобразований система уравнений принимает вид:
В результате остается выполнить последнюю итерацию и исключить неизвестную x1 из третьего уравнения. Для этого необходимо вычесть вторую строку, и в окончательной форме система имеет следующий вид:
На рис. 8.1 представлена общая схема состояния данных на i -й
итерации прямого хода алгоритма Гаусса. Все коэффициенты при
неизвестных, расположенные ниже главной диагонали и левее столбца i, уже являются нулевыми. На i -й итерации прямого хода метода
Гаусса осуществляется обнуление коэффициентов столбца i,
расположенных ниже главной диагонали, путем вычитания строки i,
умноженной на нужную ненулевую константу.
Рис. 8.1. Итерация прямого хода алгоритма Гаусса
Возможный способ избежать подобной проблемы может состоять в
следующем: при выполнении каждой очередной итерации прямого хода
метода Гаусса следует определить коэффициент с максимальным
значением по абсолютной величине в столбце, соответствующем
исключаемой неизвестной, т.
и выбрать в качестве ведущей строку, в которой этот коэффициент располагается (данная схема выбора ведущего значения носит наименование метода главных элементов).
Вычислительная сложность прямого хода алгоритма Гаусса с выбором ведущей строки имеет порядок O(n3).
8.2.1.2. Обратный ход алгоритма Гаусса
После приведения матрицы коэффициентов к верхнему треугольному виду становится возможным определение значений неизвестных. Из последнего уравнения преобразованной системы может быть вычислено значение переменной xn-1, после этого из предпоследнего уравнения становится возможным определение переменной xn-2 и т.д. В общем виде выполняемые вычисления при обратном ходе метода Гаусса могут быть представлены при помощи соотношений:
Поясним, как и ранее, выполнение обратного хода метода Гаусса
на примере рассмотренной в п. 8.2.1.1 системы линейных
уравнений
Из последнего уравнения системы можно определить, что неизвестная x2 имеет значение 3. В результате становится возможным разрешение второго уравнения и определение значение неизвестной x1=13, т.е.
На последней итерации обратного хода метода Гаусса определяется значение неизвестной x0, равное -44.
С учетом последующего параллельного выполнения можно отметить, что вычисление получаемых значений неизвестных может выполняться сразу во всех уравнениях системы (и эти действия могут выполняться в уравнениях одновременно и независимо друг от друга). Так, в рассматриваемом примере после определения значения неизвестной x2 система уравнений может быть приведена к виду
Вычислительная сложность обратного хода алгоритма Гаусса
составляет O(n2).
“Решение систем линейных уравнений методом Гаусса.”
М Е Т О Д И Ч Е С К А Я К А Р Т А
З А Н Я Т И Я №__7__
Дисциплина Математика
Тема: Решение систем линейных уравнений методом Гаусса.
Цель: Показать применение определителей, метода Гаусса и закрепить умения и навыки при решении упражнений. Развивать логическое мышление, способность к абстрагированию, анализу. Воспитывать самостоятельность и активность учащихся.
Вид занятия: практическое занятие
Оборудование: ноутбук, проектор, презентация, раздаточный материал (карточки для индивидуальной работы).
Х О Д З А Н Я Т И Я
№ | Элементы заданий, учебные вопросы | Приложения, изменения и замечания |
1 | 2 | 3 |
І | Организационные вопросы: | |
(приветствие, отметка отсутствующих) | ||
II | Проверка домашнего задания | |
Проверка наличия выполненных заданий | ||
III | Подготовка к восприятию нового материала | |
(Сообщение темы, цели, эпиграфа занятия. | ||
IV | Изучение нового материала | |
План | ||
4.1 | Решение систем двух уравнений с помощью определителей. | |
4.2 | Решение системы трех уравнений с помощью определителей (метод Крамера). | |
4.3 | Решение систем линейных уравнений методом Гаусса. | |
V | Закрепление материала. | |
(решение упражнений) | ||
5.1 | Решение системы уравнений методом Гаусса (работа одного студента у доски, остальные самостоятельно в тетрадях)- 2 системы. Во время решения второй системы 3 студента выполняют задания на карточках. | |
5.2 | Работа в группах (решение системы линейных уравнений двумя способами – методом Крамера, Гаусса) в виде игры «Заморочки из бочки» | |
VІ | Подведение итогов занятия (рефлексия, анализ работы студентов и мотивация выставленных оценок) | |
VІІ | Домашнее задание: задания № 1-2 в тетрадях |
Подпись преподавателя: _________Т. Н.Пащенко
Тема: Решение систем линейных уравнений методом Гаусса.
Вид занятия: практическое занятие
Оборудование: ноутбук, проектор, презентация, раздаточный материал (карточки для индивидуальной работы).
Ход занятия:
І Организационные вопросы:
(приветствие, отметка отсутствующих)
II Проверка домашнего задания
Проверка наличия выполненных заданий
III Подготовка к восприятию нового материала
(Сообщение темы, цели, эпиграфа занятия. Актуализация.
Решение у доски системы линейных уравнений матричным столбом.)
Эпиграф
Приобретение любого познания всегда полезно для ума, ибо он сможет впоследствии отвергнуть бесполезное и сохранить хорошее. Ведь ни одну вещь нельзя ни любить, ни ненавидеть, если сначала ее не познать.
Леонардо да Винчи.
Актуализация.
Мы продолжаем рассматривать системы линейных уравнений.
Сначала немного систематизируем знания о системах линейных уравнений.
Фронтальный опрос:
Сколько решений может иметь система линейных уравнений?
Предполагаемый ответ учащихся:
Система линейных уравнений может:
1) Иметь единственное решение.
2) Иметь бесконечно много решений.
3) Не иметь решений (быть несовместной).
Какие методы решения систем линейных уравнений вы знаете?
Предполагаемый ответ учащихся:
Метод подстановки, сложения, графический метод, матричный метод.
Ответ:
IV Изучение нового материала
4.1 Решение систем двух уравнений с помощью определителей.
Условимся под символом
понимать выражение
Примеры:
Символ
называется определителем 2-го порядка.
Числа называется элементами определителя.
Решим системы
Знаменатель каждой из написанных дробей есть определитель ,
составленный из коэффициентов , при неизвестных x и y. Этот определитель называется главным определителем системы уравнений.
Пример:
Ответ:
4.2 Решение системы трех уравнений с помощью определителей (метод Крамера).
Символ
называется определителем 3-го порядка.
Числа называются элементами определителя.
Если решить систему
то можно убедиться в справедливости следующих формул:
определитель, стоящий в знаменателях, называется главным определителем системы.
Формулы Крамера:
Имея систему
получим
После этого дело сведется к решению такой, например, системы двух уравнений с двумя неизвестными:
Решив эту последнюю систему, найдем единственное решение данной системы с тремя неизвестными в следующем виде:
4.3 Решение систем линейных уравнений методом Гаусса.
Метод Гаусса – наиболее мощный и универсальный инструмент для нахождения решения любой системы линейных уравнений.
Известный немецкий математик Иоганн Карл Фридрих Гаусс еще при жизни получил признание величайшего математика всех времен, гения и даже прозвище «короля математики». А всё гениальное, как известно – просто!
Метод Гаусса – метод последовательного исключения неизвестных.
Напомню, что к элементарным преобразованиям системы относятся следующие:
1) Перемена местами двух уравнений в системе;
2) Умножение какого – либо уравнения системы на действительное число, не равное нулю.
3) Прибавление к одному уравнению другого уравнения, умноженного на произвольное число, не равное нулю.
На практике более удобным оказывается применение метода Гаусса не, собственно, к самой системе линейных уравнений, а к ее расширенной матрице. Когда расширенная матрица будет приведена к треугольному виду, на этом цепь элементарных преобразований над матрицей завершается.
Решим эту систему методом Гаусса. Запишем расширенную матрицу:(решает студент у доски с полным объяснением, опережающее обучение)
↔ ↔ ↔
↔ , получили
В результате решения системы получили, что х1=1, х2=2, х3=2, х4=3.
V. Закрепление материала.
(решение упражнений)
5.1 Решение системы уравнений методом Гаусса (работа одного студента у доски, остальные самостоятельно в тетрадях)- 2 системы.
Во время решения второй системы 3 студента выполняют задания на карточках.
Карточка № 1
Дана система линейных уравнений. Решить с помощью определителей.
Ответ:
Карточка № 2
Дана система линейных уравнений. Решить с помощью определителей.
Ответ:
Карточка № 3
Дана система линейных уравнений. Решить с помощью определителей.
Ответ:
5.2 Работа в группах (решение системы линейных уравнений двумя способами – методом Крамера, Гаусса)в виде игры «Заморочки из бочки»
I группа
Ответ: (3,2,1)
II группа
Ответ:(0;2;-3)
III группа
Ответ: (11;-2;-3)
VІ. Подведение итогов занятия (рефлексия, анализ работы студентов и мотивация выставленных оценок)
Рефлексия.
Выбери вариант соответствующий твоим ощущениям после сегодняшнего занятия.
1. Я все знаю, понял и могу объяснить другим!
2. Я все знаю, понял, но не уверен, что смогу объяснить другому.
3. Я сам знаю, понял, но объяснить другому не смогу.
4. У меня остались некоторые вопросы.
VІІ. Домашнее задание: задания № 1-2 в тетрадях
Решить системы уравнений методом Гаусса:
Ответ: бесконечное множество решений.
.
Система линейных уравнений с использованием алгоритма исключения Гаусса | Программа инженерного образования (EngEd)
Система линейных уравнений представляет собой набор одного или нескольких линейных уравнений, включающих один и тот же набор переменных. Линейные системы встречаются при построении регрессионных моделей в машинном обучении.
Существуют различные способы решения этой проблемы. Некоторые методы сложны, другие просты для понимания и реализации. Метод исключения Гаусса является одним из лучших решений для этих систем.
В этой статье мы рассмотрим интуицию, лежащую в основе метода исключения Гаусса, проведем удобное вычисление и, наконец, проиллюстрируем, как мы можем реализовать этот метод в R.
Предварительные условия
Читатель должен иметь: понимание элементарной линейной алгебры.
Понимание алгоритма исключения Гаусса
Эти шаги необходимы для решения системы линейных уравнений с использованием алгоритма исключения Гаусса.
Предположим, нам дана система линейных уравнений, показанная ниже.
Шаг 1:
Представить приведенную выше систему линейных уравнений в матричной форме, т. е.
Присвоить A, X и b матрице коэффициентов, вектору переменных и вектору решений соответственно.
То есть:
Шаг 2:
Используя матрицы A и b, мы создаем расширенную матрицу, т.е. присоединяем b к матрице A как последний столбец.
Теперь, чтобы привести приведенную выше матрицу ${C}$ к форме, которую можно легко решить для неизвестных, нам нужно выполнить некоторые операции. Эти операции не должны изменять решения линейной системы.
Некоторые из разрешенных операций:
- Изменение порядка строк.
- Увеличение строки, т. е. умножение на константу.
- Чтобы исключить определенные значения, вы можете умножить одну строку на константу и добавить вывод в другую строку. 9{rd}$ описанной выше операции, мы делаем все значения ниже опорного значения нулями. Это показано в матрице ниже.
Шаг 4:
Мы сохраняем первое значение после нуля во второй строке во второй итерации.
Затем, как и в первой итерации, сделайте все значения ниже этого значения нулями.
Это показано ниже:
Шаг 5:
Повторяйте описанные выше операции, пока не получите верхнюю треугольную матрицу. Матрица, которую мы получили на предыдущем шаге, уже имеет верхнетреугольную форму.
Следующим шагом будет поиск решения нашей исходной системы с использованием этой уменьшенной матрицы. Из нашей сокращенной матрицы мы можем записать следующую систему линейных уравнений.
Эту новую систему уравнений решить намного проще, чем исходную. Чтобы найти решение нашей исходной системы, мы решим эти уравнения, которые мы только что вывели из верхней треугольной матрицы. Это очень просто и быстро по сравнению с вычислительным решением исходной системы.
Теперь в приведенной выше системе все, что нам нужно сделать, это выполнить обратную замену. Обратная замена выполняется в порядке, указанном ниже:
Обратите внимание: сначала мы нашли последнюю переменную $(x_3)$, а затем включили ее решение в решение предыдущей переменной, пока не получили $x_1$.
Как мы все знаем, системы линейных уравнений в реальных данных могут состоять из миллионов уравнений. Решать эти системы вручную нецелесообразно. Это требует от нас использования вычислительного программного обеспечения. В последнем разделе этой статьи мы увидим, как мы можем реализовать этот метод.
R Реализация алгоритма исключения Гаусса
Здесь нам нужно создать матрицу, ту, которую мы использовали для объяснения этой концепции, которую мы затем напишем, чтобы преобразовать ее в верхнюю треугольную матрицу. Ниже приведен процесс реализации этого метода.
# создать матрицу A <- матрица (c (-3,2,-1,6,-6,7,3,-4,4),byrow = T,nrow=3,ncol=3) A # напечатать матрицу b <- матрица (c (-1,-7,-6),nrow=3,ncol=1) b # матрица печати b # размерность матрицы A nrow <- nrow(A) сейчас # соедините матрицу A и вектор b Ugmt.mtx <- cbind(A,b) Ugmt.mtx Ugmt.mtx[1,] <- Ugmt.mtx[1,]/Ugmt.mtx[1,1] for (i in 2:nrow){ # цикл по строкам for (j in i:nrow) { # цикл по столбцам Ugmt.
mtx[j, ] <- Ugmt.mtx[j, ] - Ugmt.mtx[i-1, ] * Ugmt.mtx[j, i-1] # заменить значения строки в j-й позиции левыми вычислениями } Ugmt.mtx[i,] <- Ugmt.mtx[i,]/Ugmt.mtx[i,i] } # вывод на печать Ugmt.mtx
Выполнив код получаем:
[1] [2] [3] [4] [1,] 1 -0,6666667 0,3333333 0,3333333 [2,] 0 1,0000000 -2,5000000 4,5000000 [3,] 0 0,0000000 1,0000000 -1,0000000
Примечание, чтобы найти значения наших переменных; нам нужно выполнить обратную замену, используя этот вывод. Однако для дальнейшего упрощения мы можем взять приведенную выше матрицу и сделать элементы в верхнем треугольнике равными нулям. Это гарантирует, что нам не нужно выполнять обратную замену в конечном выводе, что может потребовать значительных вычислительных ресурсов. Вместо создания матрицы идентичности по отношению к выходным переменным.
Этот метод уменьшения матрицы называется методом исключения Гаусса-Жордана. Чтобы лучше понять, как работает этот метод, я рекомендую посетить этот блог.
Этот метод реализован в R следующим образом:
A <- matrix(c(-3,2,-1,6,-6,7,3,-4,4),byrow = T,nrow=3 ,nкол=3) А b <- матрица (c (-1,-7,-6),nrow=3,ncol=1) б # размерность матрицы A nrow <- nrow(A) сейчас # соедините матрицу A и вектор b Ugmt.mtx <- cbind(A,b) Ugmt.mtx Ugmt.mtx[1,] <- Ugmt.mtx[1,]/Ugmt.mtx[1,1] для (я в 2: nrow) { для (j в i:nrow) { Ugmt.mtx[j, ] <- Ugmt.mtx[j, ] - Ugmt.mtx[i-1, ] * Ugmt.mtx[j, i-1] } Ugmt.mtx[i,] <- Ugmt.mtx[i,]/Ugmt.mtx[i,i] } для (я в р: 2) { для (j в i: 2-1) { Ugmt.mtx[j, ] <- Ugmt.mtx[j, ] - Ugmt.mtx[i, ] * Ugmt.mtx[j, i] } } Ugmt.mtx
Этот код возвращается.
[1] [2] [3] [4] [1,] 1 0 0 2 [2,] 0 1 0 2 [3,] 0 0 1 -1
Как мы видим, возвращаемый результат содержит точные значения переменных, которые мы решаем.
Заключение
В данной статье введена концепция решения систем линейных уравнений методом исключения Гаусса. Используя редуцированную матрицу, мы определили решение для наших переменных, используя концепцию обратной подстановки.
Наконец, мы реализовали этот процесс в R.9.0003
Поскольку окончательный результат по-прежнему требовал от нас поиска неизвестных, мы пошли еще дальше, используя обратную замену, и продемонстрировали обновленную версию нашего предыдущего подхода, метода исключения Джордана-Гаусса. Мы продемонстрировали, как реализовать этот метод, когда он возвращает точные значения неизвестных переменных.
Автор: Стейси Джелагат
Экспертная оценка: Пол Одиамбо
Исключение Гаусса | математика | Британика
- Развлечения и поп-культура
- География и путешествия
- Здоровье и медицина
- Образ жизни и социальные вопросы
- Литература
- Философия и религия
- Политика, право и правительство
- Наука
- Спорт и отдых
- Технология
- Изобразительное искусство
- Всемирная история
- В этот день в истории
- Викторины
- Подкасты
- Словарь
- Биографии
- Резюме
- Популярные вопросы
- Обзор недели
- Инфографика
- Демистификация
- Списки
- #WTFact
- Товарищи
- Галереи изображений
- Прожектор
- Форум
- Один хороший факт
- Развлечения и поп-культура
- География и путешествия
- Здоровье и медицина
- Образ жизни и социальные вопросы
- Литература
- Философия и религия
- Политика, право и правительство
- Наука
- Спорт и отдых
- Технология
- Изобразительное искусство
- Всемирная история
- Britannica объясняет
В этих видеороликах Britannica объясняет различные темы и отвечает на часто задаваемые вопросы. - Britannica Classics
Посмотрите эти ретро-видео из архивов Encyclopedia Britannica. - Demystified Videos
В Demystified у Britannica есть все ответы на ваши животрепещущие вопросы. - #WTFact Видео
В #WTFact Britannica делится некоторыми из самых странных фактов, которые мы можем найти. - На этот раз в истории
В этих видеороликах узнайте, что произошло в этом месяце (или любом другом месяце!) в истории.
- Студенческий портал
Britannica — это главный ресурс для учащихся по ключевым школьным предметам, таким как история, государственное управление, литература и т. д. - Портал COVID-19
Хотя этот глобальный кризис в области здравоохранения продолжает развиваться, может быть полезно обратиться к прошлым пандемиям, чтобы лучше понять, как реагировать сегодня. - 100 женщин
Britannica празднует столетие Девятнадцатой поправки, выделяя суфражисток и политиков, творящих историю.