Базис в системе линейных уравнений

Видео:Линейная оболочка. Базис и размерностьСкачать

Линейная оболочка. Базис и размерность

Базисные (основные) и свободные (неосновные) переменные. Общее и базисное решения системы линейных алгебраических уравнений. Первая часть.

Что означает фраза «ранг матрицы равен $r$»? Она означает, что есть хотя бы один минор $r$-го порядка, который не равен нулю. Напомню, что такой минор называется базисным. Базисных миноров может быть несколько. При этом все миноры, порядок которых выше $r$, равны нулю или не существуют.

Выбрать $r$ базисных переменных в общем случае можно различными способами. В примерах я покажу наиболее часто используемый способ выбора.

Во всех изложенных ниже примерах матрицу системы будем обозначать буквой $A$, а расширенную матрицу системы – буквой $widetilde$.

Решить СЛАУ $ left < begin& 3x_1-6x_2+9x_3+13x_4=9\ & -x_1+2x_2+x_3+x_4=-11;\ & x_1-2x_2+2x_3+3x_4=5. end right.$. Если система является неопределённой, указать базисное решение.

Итак, мы имеем СЛАУ, у которой 3 уравнения и 4 переменных: $x_1$, $x_2$, $x_3$, $x_4$. Так как количество переменных больше количества уравнений, то такая система не может иметь единственное решение (чуть позже мы строго докажем это предложение на основе теоремы Кронекера-Капелли). Найдём решения СЛАУ, используя метод Гаусса:

$$ left( begin 3 & -6 & 9 & 13 & 9 \ -1 & 2 & 1 & 1 & -11 \ 1 & -2 & 2 & 3 & 5 end right) rightarrow left|begin & text\ & text\ & text endright| rightarrow \ rightarrowleft( begin 1 & -2 & 2 & 3 & 5\ -1 & 2 & 1 & 1 & -11 \ 3 & -6 & 9 & 13 & 9 end right) begin phantom \ II+I\ III-3cdot Iend rightarrow left( begin 1 & -2 & 2 & 3 & 5\ 0 & 0 & 3 & 4 & -6 \ 0 & 0 & 3 & 4 & -6 endright) begin phantom \ phantom\ III-IIend rightarrow \ rightarrowleft( begin 1 & -2 & 2 & 3 & 5\ 0 & 0 & 3 & 4 & -6 \ 0 & 0 & 0 & 0 & 0 endright) $$

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

Базис в системе линейных уравнений

И матрица системы, и расширенная матрица системы после эквивалентных преобразований приведены к ступенчатому виду; они содержат по две ненулевых строки. Вывод: $rang A=rangwidetilde = 2$.

Итак, заданная СЛАУ содержит 4 переменных (обозначим их количество как $n$, т.е. $n=4$). Кроме того, ранги матрицы системы и расширенной матрицы системы равны между собой и равны числу $r=2$. Так как $r < n$, то согласно следствию из теоремы Кронекера-Капелли СЛАУ является неопределённой (имеет бесконечное количество решений).

Найдём эти решения. Для начала выберем базисные переменные. Их количество должно равняться $r$, т.е. в нашем случае имеем две базисные переменные. Какие именно переменные (ведь у нас их 4 штуки) принять в качестве базисных? Обычно в качестве базисных переменных берут те переменные, которые расположены на первых местах в ненулевых строках преобразованной матрицы системы, т.е. на «ступеньках». Что это за «ступеньки» показано на рисунке:

Базис в системе линейных уравнений

На «ступеньках» стоят числа из столбцов №1 и №3. Первый столбец соответствует переменной $x_1$, а третий столбец соответствует переменной $x_3$. Именно переменные $x_1$ и $x_3$ примем в качестве базисных.

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

Почему можно принять переменные $x_1$ и $x_3$ в качестве базисных? Для ответа на этот вопрос давайте вспомним, что ранг матрицы системы равен числу $r=2$. Это говорит о том, что все миноры данной матрицы, порядок которых выше 2, либо равны нулю, либо не существуют. Ненулевые миноры есть только среди миноров второго порядка. Выберем какой-либо ненулевой минор второго порядка. Мы можем выбирать его как в исходной матрице системы $A$, т.е. в матрице $left( begin 3 & -6 & 9 & 13 \ -1 & 2 & 1 & 1 \ 1 & -2 & 2 & 3 end right)$, так и в преобразованной матрице системы, т.е. в $left( begin 1 & -2 & 2 & 3 \ 0 & 0 & 3 & 4 \ 0 & 0 & 0 & 0 endright)$. Так как в преобразованной матрице системы побольше нулей, то будем работать именно с нею.

Итак, давайте выберем минор второго порядка, элементы которого находятся на пересечении строк №1 и №2, и столбцов №1 и №2:

$$ M_^=left| begin 1 & -2 \ 0 & 0 endright|=1cdot 0-(-2)cdot 0=0. $$

Вывод: выбранный нами минор второго порядка не является базисным, ибо он равен нулю. Так как элементы этого минора взяты из столбца №1 (он соответствует переменной $x_1$) и столбца №2 (он соответствует переменной $x_2$), то пара переменных $x_1$ и $x_2$ не могут быть базисными переменными.

Осуществим вторую попытку, взяв минор второго порядка, элементы которого лежат на пересечении строк №1, №2 и столбцов №3 и №4:

$$ M_^=left| begin 2 & 3\ 3 & 4 endright|=2cdot 4-3cdot 3=-1. $$

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

Сделаем и третью попытку, найдя значение минора, элементы которого расположены на пересечении строк №1, №2 и столбцов №1 и №3:

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

Как видите, выбор базисных переменных не является однозначным. На самом деле количество вариантов выбора не превышает количество размещений из $n$ элементов по $r$, т.е. не больше чем $C_^$.

В рассматриваемом примере в качестве баисных были приняты переменные $x_1$ и $x_3$ – сугубо из соображений удобства дальнейшего решения. В чём это удобство состоит, будет видно чуток позже.

Базисные переменные выбраны: это $x_1$ и $x_3$. Остальные $n-r=2$ переменных (т.е. $x_2$ и $x_4$) являются свободными. Нам нужно выразить базисные переменные через свободные.

Я предпочитаю работать с системой в матричной форме записи. Для начала очистим полученную матрицу $left( begin 1 & -2 & 2 & 3 & 5\ 0 & 0 & 3 & 4 & -6 \ 0 & 0 & 0 & 0 & 0 endright)$ от нулевой строки:

$$ left( begin 1 & -2 & 2 & 3 & 5\ 0 & 0 & 3 & 4 & -6 endright) $$

Свободным переменным, т.е. $x_2$ и $x_4$, соответствуют столбцы №2 и №4. Перенесём эти столбцы за черту. Знак всех элементов переносимых столбцов изменится на противоположный:

Базис в системе линейных уравнений

Почему меняются знаки? Что вообще значит это перенесение столбцов? показатьскрыть

Давайте обратимся к расширенной матрице системы, которая после преобразований имеет вид $left( begin 1 & -2 & 2 & 3 & 5\ 0 & 0 & 3 & 4 & -6 endright)$. Перейдём от матрицы к уравнениям. Первая строка соответствует уравнению $x_1-2x_2+2x_3+3x_4=5$, а вторая строка соответствует уравнению $3x_3+4x_4=-6$. Теперь перенесём свободные переменные $x_2$ и $x_4$ в правые части уравнений. Естественно, что когда мы переносим выражение $4x_4$ в правую часть уравнения, то знак его изменится на противоположный, и в правой части появится $-4x_4$.

Если опять записать полученную систему в виде матрицы, то мы и получим матрицу с перенесёнными за черту столбцами.

А теперь продолжим решение обычным методом Гаусса. Наша цель: сделать матрицу до черты единичной. Для начала разделим вторую строку на 3, а потом продолжим преобразования обратного хода метода Гаусса:

$$ left( begin 1 & 2 & 5 & 2 & -3\ 0 & 3 & -6 & 0 & -4 endright) begin phantom \ II:3 end rightarrow left( begin 1 & 2 & 5 & 2 & -3\ 0 & 1 & -2 & 0 & -4/3 endright) begin I-2cdot II \ phantom end rightarrow \ rightarrow left(begin 1 & 0 & 9 & 2 & -1/3\ 0 & 1 & -2 & 0 & -4/3 endright). $$

Матрица до черты стала единичной, метод Гаусса завершён. Общее решение найдено, осталось лишь записать его. Если вспомнить, что четвёртый столбец соответствует переменной $x_2$, а пятый столбец – переменной $x_4$, то получим:

Нами получено общее решение заданной СЛАУ. Чтобы найти базисное решение, нужно все свободные переменные приравнять к нулю. Т.е. полагая $x_2=0$ и $x_4=0$, будем иметь:

Решение $x_1=9$, $x_2=0$, $x_3=-2$, $x_4=0$ и является базисным решением данной СЛАУ. В принципе, задавая свободным переменным иные значения, можно получить иные частные решения данной системы. Таких частных решений бесконечное количество. Например, принимая $x_2=-4$ и $x_4=1$, получим такое частное решение: $left <begin& x_1=frac;\ & x_2=-4;\ & x_3=-frac;\ & x_4=1. endright.$. Базисное решение, которые мы нашли ранее – лишь одно из бесконечного множества частных решений заданной СЛАУ.

Если есть желание, то полученное решение можно проверить. Например, подставляя $x_1=9+2x_2-fracx_4$ и $x_3=-2-fracx_4$ в левую часть первого уравнения, получим:

$$ 3x_1-6x_2+9x_3+13x_4=3cdot left(9+2x_2-fracx_4right)-6x_2+9cdot left(-2-fracx_4right)+13x_4=9. $$

Проверка первого уравнения увенчалась успехом; точно так же можно проверить второе и третье уравнения.

Если система является неопределённой, указать базисное решение.

Похожий пример уже был решен в теме «метод Крамера» (пример №4). Переменные $x_4$ и $x_5$ были перенесены в правые части, а дальше применялись стандартные операции метода Крамера. Однако такой метод решения не гарантирует достижения результата. Например, мы переносим некие переменные в правую часть, а оставшийся определитель оказывается равным нулю, – что тогда? Решать перебором? 🙂 Поэтому гораздо удобнее применять преобразования метода Гаусса, как и в предыдущем примере.

$$ left( begin 1 & -2 & 4 & 0 & 2 & 0\ 4 & -11 & 21 & -2 & 3 & -1\ -3 & 5 & -13 & -4 & 1 & -2 end right) begin phantom \ II-4cdot I\ III+3cdot Iend rightarrow left( begin 1 & -2 & 4 & 0 & 2 & 0\ 0 & -3 & 5 & -2 & -5 & -1\ 0 & -1 & -1 & -4 & 7 & -2 end right) rightarrow \ rightarrow left|begin & text\ & text\ & text endright|rightarrow left( begin 1 & -2 & 4 & 0 & 2 & 0\ 0 & -1 & -1 & -4 & 7 & -2\ 0 & -3 & 5 & -2 & -5 & -1 end right) begin phantom \ phantom\ III-3cdot Iend rightarrow \ rightarrow left( begin 1 & -2 & 4 & 0 & 2 & 0\ 0 & -1 & -1 & -4 & 7 & -2\ 0 & 0 & 8 & 10 & -26 & 5 end right). $$

Матрица системы и расширенная матрица системы приведены к трапециевидной форме. Ранги этих матриц равны между собой и равны числу 3, т.е. $rang A=rangwidetilde = 3$. Так как ранги равны между собой и меньше, чем количество переменных, то согласно следствию из теоремы Кронекера-Капелли данная система имеет бесконечное количество решений.

Количество неизвестных $n=5$, ранги обеих матриц $r=3$, поэтому нужно выбрать три базисных переменных и $n-r=2$ свободных переменных. Применяя тот же метод «ступенек», что и в предыдущем примере, выберем в качестве базисных переменных $x_1$, $x_2$, $x_3$, а в качестве свободных переменных – $x_4$ и $x_5$.

Столбцы №4 и №5, которые соответствуют свободным переменным, перенесём за черту. После этого разделим третью строку на 8 и продолжим решение методом Гаусса:

$$ left( begin 1 & -2 & 4 & 0 & 0 & -2\ 0 & -1 & -1 & -2 & 4 & -7\ 0 & 0 & 8 & 5 & -10 & 26 end right) begin phantom \ phantom\ III:8end rightarrow left( begin 1 & -2 & 4 & 0 & 0 & -2\ 0 & -1 & -1 & -2 & 4 & -7\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 end right) begin I-4cdot III \ II+III\ phantomend rightarrow \ left( begin 1 & -2 & 0 & -5/2 & 5 & -15\ 0 & -1 & 0 & -11/8 & 11/4 & -15/4\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 end right) begin phantom \ IIcdot (-1)\ phantomend rightarrow left( begin 1 & -2 & 0 & -5/2 & 5 & -15\ 0 & 1 & 0 & 11/8 & -11/4 & 15/4\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 end right) begin I+2cdot II \ phantom\ phantomend rightarrow\ rightarrowleft( begin 1 & 0 & 0 & 1/4 & -1/2 & -15/2\ 0 & 1 & 0 & 11/8 & -11/4 & 15/4\ 0 & 0 & 1 & 5/8 & -5/4 & 13/4 end right) $$

Продолжение этой темы рассмотрим во второй части, где разберём ещё два примера с нахождением общего решения.

Видео:Как разложить вектор по базису - bezbotvyСкачать

Как разложить вектор по базису - bezbotvy

Метод Жордана-Гаусса онлайн

Данный онлайн калькулятор находит общее решение системы линейных уравнений методом Жордана-Гаусса. Дается подробное решение. Для вычисления выбирайте количество уравнений и количество переменных. Затем введите данные в ячейки и нажимайте на кнопку «Вычислить.» Теоретическую часть нахождения решения системы линейных уравнений методом Жордана-Гаусса смотрите ниже.

Предупреждение

Инструкция ввода данных. Числа вводятся в виде целых чисел (примеры: 487, 5, -7623 и т.д.), десятичных чисел (напр. 67., 102.54 и т.д.) или дробей. Дробь нужно набирать в виде a/b, где a и b (b>0) целые или десятичные числа. Примеры 45/5, 6.6/76.4, -7/6.7 и т.д.

Видео:Базисные решения систем линейных уравнений (03)Скачать

Базисные решения систем линейных уравнений (03)

Метод Жордана-Гаусса

Метод Жордана-Гаусса − это метод для решения систем линейных уравнений а также метод нахождения обратной матрицы. Данный метод является модификацией метода Гаусса.

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

Рассмотрим следующую систему линейных уравнений:

Базис в системе линейных уравнений(1)

Запишем систему (1) в матричном виде:

Ax=b(2)
Базис в системе линейных уравненийБазис в системе линейных уравнений(3)

A-называется матрица коэффициентов системы, b − правая часть ограничений, x− вектор переменных, которую нужно найти. Пусть rang(A)=p.

Построим расшренную матрицу системы:

Базис в системе линейных уравнений(4)

После прямого хода Гаусса (подробнее о прямом ходе Гаусса посмотрите на странице «Метод Гаусса онлайн») получим следующую расширенную матрицу:

Базис в системе линейных уравнений(5)

Если Базис в системе линейных уравнений. Базис в системе линейных уравненийравны нулю, то система линейных уравнений имеет решение, если же хотя бы один из этих чисел отлично от нуля, то система несовместна. Иными словами, система (2) совместна тогда и только тогда, когда ранг матрицы A навен рангу расширенной матрицы (A|b).

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

Итак, обнуляем все элементы, стоящие в столбце p, выше элемента Базис в системе линейных уравнений. Так как Базис в системе линейных уравнений≠0, то сложим строки 1,2. p−1 со строкой p, умноженной на Базис в системе линейных уравненийсоответственно.

Расширенная матрица примет следующий вид:

Базис в системе линейных уравнений

Аналогичным методом обнуляем элементы столбцов p−1, p−2, . 2 выше ведущих элементов Базис в системе линейных уравнений.

Расширенная матрица примет следующий вид:

Базис в системе линейных уравнений

Делим каждую строку на соответствующий ведущий элемент (если ведущий элемент существует):

Базис в системе линейных уравнений

Тогда решение можно записать так:

Базис в системе линейных уравнений

где Базис в системе линейных уравнений− произвольные вещественные числа.

Отметим, что при m=n и rangA=n система линейных уравнений (2) имеет единственное решение.

Рассмотрим численные примеры.

Видео:ФСР системы линейных уравнений. Алгоритм ГауссаСкачать

ФСР системы линейных уравнений. Алгоритм Гаусса

Примеры решения системы линейных уравнений методом Жордана-Гаусса

Пример 1. Найти решение системы линейных уравнений методом Жордана-Гаусса:

Базис в системе линейных уравнений

Матричный вид записи: Ax=b, где

Базис в системе линейных уравнений.

Для решения системы, построим расширенную матрицу:

Базис в системе линейных уравнений.

Обозначим через aij элементы i-ой строки и j-ого столбца.

Первый этап. Прямой ход Гаусса

Исключим элементы 1-го столбца матрицы ниже элемента a11. Для этого сложим строки 2,3 со строкой 1, умноженной на 1/2,-3/2 соответственно:

Базис в системе линейных уравнений.

Исключим элементы 2-го столбца матрицы ниже элемента a2 2. Для этого сложим строку 3 со строкой 2, умноженной на 1/5:

Базис в системе линейных уравнений.

Второй этап. Обратный ход Гаусса

Исключим элементы 3-го столбца матрицы выше элемента a33. Для этого сложим строки 1, 2 со строкой 3, умноженной на -3/2, -5/4 соответственно:

Базис в системе линейных уравнений.

Исключим элементы 2-го столбца матрицы выше элемента a22. Для этого сложим строку 1 со строкой 2, умноженной на -2/5:

Базис в системе линейных уравнений.

Делим каждую строку матрицы на соответствующий ведущий элемент (если ведущий элемент существует):

Базис в системе линейных уравнений.
Базис в системе линейных уравнений.

Векторный вариант решения:

Базис в системе линейных уравнений.

Пример 2. Найти решение системы линейных уравнений методом Жордана-Гаусса:

Базис в системе линейных уравнений

Матричный вид записи: Ax=b, где

Базис в системе линейных уравнений

Для решения системы, построим расширенную матрицу:

Базис в системе линейных уравнений

Обозначим через aij элементы i-ой строки и j-ого столбца.

Первый этап. Прямой ход Гаусса.

Исключим элементы 1-го столбца матрицы ниже элемента a11. Для этого сложим строки 2,3 со строкой 1, умноженной на 4/3, 5/3 соответственно:

Базис в системе линейных уравнений

Исключим элементы 2-го столбца матрицы ниже элемента a2 2. Для этого сложим строку 3 со строкой 2, умноженной на -2:

Базис в системе линейных уравнений

Второй этап. Обратный ход Гаусса

Исключим элементы 2-го столбца матрицы выше элемента a22. Для этого сложим строку 1 со строкой 2, умноженной на -3/10:

Базис в системе линейных уравнений

Делим каждую строку матрицы на соответствующий ведущий элемент (если ведущий элемент существует):

Базис в системе линейных уравнений

Выразим переменные x1, x2 относительно остальных переменных.

Базис в системе линейных уравнений

x3− произвольное действительное число.

Векторный вариант решения:

Запишем вышеизложенное решение, представив свободные переменные в виде тождеств:

Базис в системе линейных уравнений

Тогда векторное решение можно представить так:

Базис в системе линейных уравнений,

x3− произвольное действительное число.

Видео:Решение "базисной системы векторов" (2)Скачать

Решение "базисной системы векторов" (2)

Линейные уравнения

Некоторые линейные функции обратимы: например, поворот на угол. Другие — необратимы: например, проекция. Понятие обратимости можно продолжить и на матрицы.

Определение. Матрица $A$ является обратимой, если существует матрица $A^$ такая, что

$$ A cdot A^ = A^ cdot A = I $$

Из свойств матричного умножения следует, что для того, чтобы обратная матрица существовала, матрица $A$ должна быть квадратной, но этого не всегда достаточно.

Видео:15. Однородная система линейных уравнений / фундаментальная система решенийСкачать

15. Однородная система линейных уравнений / фундаментальная система решений

#Системы линейных уравнений

Понятие обратимости матриц важно для решения линейных уравнений:

$$ Ax = b leftrightarrow begin a_ x_1 + a_ x_2 + ldots + a_ x_n = b_1 \ a_ x_1 + a_ x_2 + ldots + a_ x_n = b_2 \ ldots \ a_ x_1 + a_ x_2 + ldots + a_ x_n = b_n end $$ Если матрица $A$ обратима, то решение будет единственным, а именно $$ x = A^ b $$

В противном случае будет либо ноль, либо бесконечное количество решений, в общем случае живущих на каком-то многомерном пространстве. Об этом удобно думать так: каждое условие (строчка-уравнение) задает какую-то гиперплоскость в $n$-мерном пространстве, и пересечения этих гиперплоскостей либо пустые, либо совпадают, либо дают какое-то подпространство меньшей размерности.

Решение систем линейных уравнений — одна из основных задач вычислительной линейной алгебры, часто появляющаяся как подзадача в других алгоритмах.

Видео:Образуют ли данные векторы базисСкачать

Образуют ли данные векторы базис

#Метод Гаусса

Метод Гаусса (англ. Gaussian elimination) позволяет решать системы линейных уравнений, а также находить обратные к матрицам и решать смежные задачи.

Он основывается на том факте, что с системами уравнений мы можем свободно делать следующие операции:

  • поменять два уравнения местами,
  • домножить любое уравнение на ненулевую константу,
  • вычесть из одного уравнения другое.

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

Цель алгоритма — используя эти три операции привести систему к виду

$$ begin 1 cdot x_1 + 0 cdot x_2 + ldots + 0 cdot x_n = b_1′ \ 0 cdot x_1 + 1 cdot x_2 + ldots + 0 cdot x_n = b_2′ \ ldots \ 0 cdot x_1 + 0 cdot x_2 + ldots + 1 cdot x_n = b_n’ end $$

и тогда решением будет просто $x = b’$.

#Алгоритм

Будем действовать в предположении, что решение существует и единственно.

Припишем вектор $b$ справа от матрицы $A$, и будем итеративно приводить получившуюся $n times (n+1)$ матрицу к требуемому виду. На шаге $i$, мы хотим сделать так, чтобы в ячейке $a_$ стояла единица, а во всех остальных ячейках $i$-того столбца стояли нули.

Чтобы выполнить $i$-тый шаг:

  1. найдем какой-нибудь ненулевой элемент на $i$-том столбце и поменяем его строку местами с $i$-той;
  2. поделим всю $i$-тую строку на элемент $a_$ (он ненулевой: мы его специально искали на предыдущем шаге);
  3. пройдемся по всем остальным строкам $j ne i$ и вычтем $i$-тую строку, помноженную на коэффициент $a_$.

В результате после $i$-того шага элемент $a_$ будет единичным (потому что мы его поделили на самого себя), а во всех остальных ячейках $i$-того столбца стали нули (потому что мы в этих позициях вычли $a_ cdot a_ = a_$).

Таким образом, через $n$ шагов мы приведем матрицу к нужному виду, и ответом будет последний, $(n+1)$-ый приписанный столбец.

#Реализация

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

Алгоритм работает $O(n^3)$.

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

#Булевы матрицы

В контексте олимпиад, в большинстве задач, где требуется решать системы линейных уравнений, на самом деле это нужно делать над полем $mathbb_2$, то есть по модулю 2.

Задача. Есть $n$ лампочек и $n$ переключателей: каждый активированный переключатель меняет состояние (включает или выключает) какого-то подмножества лампочек. Известно состояние всех лампочек, нужно восстановить состояние переключателей.

Нас по сути просят решить следующую систему:

$$ begin a_ x_1 + a_ x_2 + ldots + a_ x_n equiv b_1 pmod 2\ a_ x_1 + a_ x_2 + ldots + a_ x_n equiv b_2 pmod 2\ ldots \ a_ x_1 + a_ x_2 + ldots + a_ x_n equiv b_n pmod 2 end $$

Здесь $x$ — состояния переключателей, $b$ — состояния лампочек, $A$ — информация о том, влияет ли переключатель на лампочку.

В таком случае можно значительно ускорить и упростить обычный метод Гаусса через битсет:

Обратим внимание, что как в этой, так и в предыдущей реализации предполагалось, что решение существует и единственное. Если это не так, то в какой-то момент мы не найдем ненулевой элемент в качестве опорного.

В этом случае можно дальше запустить алгоритм, игнорируя полностью нулевые столбцы, и тогда в конце будет какое-то количество нулевых сумм, равных каким-то $b_i’$. Если все эти $b_i’$ нулевые, то решение существует, в противном случае — нет.

В случае входных данных из «реального мира» можно добавить небольшой шум $epsilon_$ к коэффициентам: это гарантирует, что решение, причем уникальное, всегда будет существовать.

#Базисы

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

Базисы есть не только в линейной алгебре. Например, $$ является базисом всех квадратных трёхчленов. Или $$ является базисом всех логических выражений (то есть всё можно выразить через И, ИЛИ и НЕ). В произвольном языке программирования можно выделить какой-то набор команд, через который можно будет написать всё что угодно, и он тоже в этом смысле будет базисом.

Определение. Система векторов $$ называется линейно зависимой, если существует такой набор действительных коэффициентов $(lambda_1, lambda_2, dots, lambda_n)$, что $lambda_i neq 0$ хотя бы для одного $i$ и

$$ lambda_1 cdot a_1 + lambda_2 cdot a_2 + dots + lambda_n cdot a_n = 0 $$

В противном случае система называется линейно независимой.

Утверждение. Базис $n$-мерного пространства — это линейно независимый набор из $n$ векторов.

Доказательство. Пусть базис линейно зависим. Тогда вектор нулевой длины можно выразить хотя бы двумя способами, что противоречит определению.

Базисы часто требуется искать или поддерживать в олимпиадных задачах — часто вида «набрать базис максимального веса, где каждый вектор сколько-то стоит». Для проверки, является ли набор векторов базисом, можно проверить, выражается ли как-то нетривиально с помощью них нулевой вектор — это можно сделать методом Гаусса.

Упражнение. Дан массив из $10^5$ целых чисел от $0$ до $(2^-1)$. Требуется найти количество различных подпоследовательностей этого массива, xor -сумма которых равна заданному числу $x$.

🔥 Видео

Доказать, что векторы a, b, c образуют базис и найти координаты вектора d в этом базисеСкачать

Доказать, что векторы a, b, c образуют базис и найти координаты вектора d в этом базисе

Базисные решения систем линейных уравнений (01)Скачать

Базисные решения систем линейных уравнений (01)

Базис. Разложение вектора по базису.Скачать

Базис. Разложение вектора по базису.

Найдите разложение вектора по векторам (базису)Скачать

Найдите разложение вектора по векторам (базису)

Базис линейного пространства (01)Скачать

Базис линейного пространства (01)

Лекция 16. Понятие вектора и векторного пространства. Базис векторного пространства.Скачать

Лекция 16. Понятие вектора и векторного пространства. Базис векторного пространства.

Решение системы уравнений методом ГауссаСкачать

Решение системы уравнений методом Гаусса

Математика без Ху!ни. Метод Гаусса. Совместность системы. Ранг матрицы.Скачать

Математика без Ху!ни. Метод Гаусса. Совместность системы. Ранг матрицы.

Разложение вектора по векторам (базису). Аналитическая геометрия-1Скачать

Разложение вектора по векторам (базису). Аналитическая геометрия-1

Метод Крамера за 3 минуты. Решение системы линейных уравнений - bezbotvyСкачать

Метод Крамера за 3 минуты. Решение системы линейных уравнений - bezbotvy

Примеры Линейная зависимость векторов Базис и ранг системы векторовСкачать

Примеры  Линейная зависимость векторов  Базис и ранг системы векторов
Поделиться или сохранить к себе: