Метод гаусса теорема. Метод гаусса решения системы линейных уравнений

Решение систем линейных уравнений методом Гаусса. Пусть нам требуется найти решение системы из n линейных уравнений с n неизвестными переменными
определитель основной матрицы которой отличен от нуля.

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

Кратко опишем алгоритм исключения неизвестных переменных.

Будем считать, что , так как мы всегда можем этого добиться перестановкой местами уравнений системы. Исключим неизвестную переменную x 1 из всех уравнений системы, начиная со второго. Для этого ко второму уравнению системы прибавим первое, умноженное на , к третьему уравнению прибавим первое, умноженное на , и так далее, к n-ому уравнению прибавим первое, умноженное на . Система уравнений после таких преобразований примет вид

где , а .

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

Далее действуем аналогично, но лишь с частью полученной системы, которая отмечена на рисунке

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

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

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

Так продолжаем прямой ход метода Гаусса пока система не примет вид

С этого момента начинаем обратный ход метода Гаусса: вычисляем x n из последнего уравнения как , с помощью полученного значения x n находим x n-1 из предпоследнего уравнения, и так далее, находим x 1 из первого уравнения.


Пример.

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

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

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

О методе

При решении системы линейных уравнений методом Гаусса выполняются следующие шаги.

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

Чтобы лучше всего понять принцип работы алгоритма, введите любой пример, выберите "очень подробное решение" и изучите полученный ответ.

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

Формально задача ставится следующим образом: решить систему:

где коэффициенты и известны, а переменные — искомые неизвестные.

Удобно матричное представление этой задачи:

где — матрица , составленная из коэффициентов , и — векторы-столбцы высоты .

Стоит отметить, что СЛАУ может быть не над полем действительных чисел, а над полем по модулю какого-либо числа , т.е.:

— алгоритм Гаусса работает и для таких систем тоже (но этот случай будет рассмотрен ниже в отдельном разделе).

Алгоритм Гаусса

Строго говоря, описываемый ниже метод правильно называть методом "Гаусса-Жордана" (Gauss-Jordan elimination), поскольку он является вариацией метода Гаусса, описанной геодезистом Вильгельмом Жорданом в 1887 г. (стоит отметить, что Вильгельм Жордан не является автором ни теоремы Жордана о кривых, ни жордановой алгебры — всё это три разных учёных-однофамильца; кроме того, по всей видимости, более правильной является транскрипция "Йордан", но написание "Жордан" уже закрепилось в русской литературе). Также интересно заметить, что одновременно с Жорданом (а по некоторым данным даже раньше него) этот алгоритм придумал Класен (B.-I. Clasen).

Базовая схема

Кратко говоря, алгоритм заключается в последовательном исключении переменных из каждого уравнения до тех пор, пока в каждом уравнении не останется только по одной переменной. Если , то можно говорить, что алгоритм Гаусса-Жордана стремится привести матрицу системы к единичной матрице — ведь после того как матрица стала единичной, решение системы очевидно — решение единственно и задаётся получившимися коэффициентами .

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

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

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

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

Поиск опорного элемента (pivoting)

Разумеется, описанная выше схема неполна. Она работает только в том случае, если на каждом -ом шаге элемент отличен от нуля — иначе мы просто не сможем добиться обнуления остальных коэффициентов в текущем столбце путём прибавления к ним -ой строки.

Чтобы сделать алгоритм работающим в таких случаях, как раз и существует процесс выбора опорного элемента (на английском языке это называется одним словом "pivoting"). Он заключается в том, что производится перестановка строк и/или столбцов матрицы, чтобы в нужном элементе оказалось ненулевое число.

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

К счастью, для корректности метода достаточно одних только обменов строк (т.н. "partial pivoting", в отличие от "full pivoting", когда обмениваются и строки, и столбцы). Но какую же именно строку следует выбирать для обмена? И правда ли, что поиск опорного элемента надо делать только тогда, когда текущий элемент нулевой?

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

Иными словами, перед выполнением -ой фазы алгоритма Гаусса-Жордана с эвристикой partial pivoting необходимо найти в -ом столбце среди элементов с индексами от до максимальный по модулю, и обменять строку с этим элементом с -ой строкой.

Во-первых, эта эвристика позволит решить СЛАУ, даже если по ходу решения будет случаться так, что элемент . Во-вторых, что весьма немаловажно, эта эвристика улучшает численную устойчивость алгоритма Гаусса-Жордана.

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

Вырожденные случаи

Итак, если останавливаться на алгоритме Гаусса-Жордана с partial pivoting, то, утверждается, если и система невырождена (т.е. имеет ненулевой определитель, что означает, что она имеет единственное решение), то описанный выше алгоритм полностью отработает и придёт к единичной матрице (доказательство этого, т.е. того, что ненулевой опорный элемент всегда будет находиться, здесь не приводится).

Рассмотрим теперь общий случай — когда и не обязательно равны. Предположим, что опорный элемент на -ом шаге не нашёлся. Это означает, что в -ом столбце все строки, начиная с текущей, содержат нули. Утверждается, что в этом случае эта -ая переменная не может быть определена, и является независимой переменной (может принимать произвольное значение). Чтобы алгоритм Гаусса-Жордана продолжил свою работу для всех последующих переменных, в такой ситуации надо просто пропустить текущий -ый столбец, не увеличивая при этом номер текущей строки (можно сказать, что мы виртуально удаляем -ый столбец матрицы).

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

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

Впрочем, проще это проверить явной подстановкой найденного решения: всем независимыми переменным присвоить нулевые значения, зависимым переменным присвоить найденные значения, и подставить это решение в текущую СЛАУ.

Реализация

Приведём здесь реализацию алгоритма Гаусса-Жордана с эвристикой partial pivoting (выбором опорного элемента как максимума по столбцу).

На вход функции передаётся сама матрица системы . Последний столбец матрицы — это в наших старых обозначениях столбец свободных коэффициентов (так сделано для удобства программирования — т.к. в самом алгоритме все операции со свободными коэффициентами повторяют операции с матрицей ).

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

int gauss (vector < vector< double > > a, vector< double > & ans) { int n = (int ) a.size () ; int m = (int ) a[ 0 ] .size () - 1 ; vector< int >< m && row< n; ++ col) { int sel = row; for (int i= row; i< n; ++ i) if (abs (a[ i] [ col] ) > abs (a[ sel] [ col] ) ) sel = i; if (abs (a[ sel] [ col] ) < EPS) continue ; for (int i= col; i<= m; ++ i) swap (a[ sel] [ i] , a[ row] [ i] ) ; where[ col] = row; for (int i= 0 ; i< n; ++ i) if (i ! = row) { double c = a[ i] [ col] / a[ row] [ col] ; for (int j= col; j<= m; ++ j) a[ i] [ j] - = a[ row] [ j] * c; } ++ row; } ans.assign (m, 0 ) ; for (int i= 0 ; i< m; ++ i) if (where[ i] ! = - 1 ) ans[ i] = a[ where[ i] ] [ m] / a[ where[ i] ] [ i] ; for (int i= 0 ; i< n; ++ i) { double sum = 0 ; for (int j= 0 ; j< m; ++ j) sum + = ans[ j] * a[ i] [ j] ; if (abs (sum - a[ i] [ m] ) > EPS) return 0 ; } for (int i= 0 ; i< m; ++ i) if (where[ i] == - 1 ) return INF; return 1 ; }

В функции поддерживаются два указателя — на текущий столбец и текущую строку .

Также заводится вектор , в котором для каждой переменной записано, в какой строке должна она получиться (иными словами, для каждого столбца записан номер строки, в которой этот столбец отличен от нуля). Этот вектор нужен, поскольку некоторые переменные могли не "определиться" в ходе решения (т.е. это независимые переменные, которым можно присвоить произвольное значение — например, в приведённой реализации это нули).

Реализация использует технику partial pivoting, производя поиск строки с максимальным по модулю элементом, и переставляя затем эту строку в позицию (хотя явную перестановку строк можно заменить обменом двух индексов в некотором массиве, на практике это не даст реального выигрыша, т.к. на обмены тратится операций).

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

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

Асимптотика

Оценим асимптотику полученного алгоритма. Алгоритм состоит из фаз, на каждой из которых происходит:

Очевидно, первый пункт имеет меньшую асимптотику, чем второй. Заметим также, что второй пункт выполняется не более раз — столько, сколько может быть зависимых переменных в СЛАУ.

Таким образом, итоговая асимптотика алгоритма принимает вид .

При эта оценка превращается в .

Заметим, что когда СЛАУ рассматривается не в поле действительных чисел, а в поле по модулю два, то систему можно решать гораздо быстрее — об этом см. ниже в разделе "Решение СЛАУ по модулю".

Более точная оценка числа действий

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

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

Дополнения

Ускорение алгоритма: разделение его на прямой и обратный ход

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

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

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

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

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

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

Решение СЛАУ по модулю

Для решения СЛАУ по модулю можно применять описанный выше алгоритм, он сохраняет свою корректность.

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

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

Особенно замечателен модуль, равный двум : для него все операции с матрицей можно производить очень эффективно. Например, отнимание одной строки от другой по модулю два — это на самом деле их симметрическая разность ("xor"). Таким образом, весь алгоритм можно значительно ускорить, сжав всю матрицу в битовые маски и оперируя только ими. Приведём здесь новую реализацию основной части алгоритма Гаусса-Жордана, используя стандартный контейнер C++ "bitset":

int gauss (vector < bitset< N> > a, int n, int m, bitset< N> & ans) { vector< int > where (m, - 1 ) ; for (int col= 0 , row= 0 ; col< m && row< n; ++ col) { for (int i= row; i< n; ++ i) if (a[ i] [ col] ) { swap (a[ i] , a[ row] ) ; break ; } if (! a[ row] [ col] ) continue ; where[ col] = row; for (int i= 0 ; i< n; ++ i) if (i ! = row && a[ i] [ col] ) a[ i] ^ = a[ row] ; ++ row; }

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

Если модуль произвольный (не обязательно простой), то всё становится несколько сложнее. Понятно, что пользуясь Китайской теоремой об остатках , мы сводим задачу с произвольным модулем только к модулям вида "степень простого". [ дальнейший текст был скрыт, т.к. это непроверенная информация — возможно, неправильный способ решения ]

Наконец, рассмотрим вопрос числа решений СЛАУ по модулю . Ответ на него достаточно прост: число решений равно , где — модуль, — число независимых переменных.

Немного о различных способах выбора опорного элемента

Как уже говорилось выше, однозначного ответа на этот вопрос нет.

Эвристика "partial pivoting", которая заключалась в поиске максимального элемента в текущем столбце, работает на практике весьма неплохо. Также оказывается, что она даёт практически тот же результат, что и "full pivoting" — когда опорный элемент ищется среди элементов целой подматрицы — начиная с текущей строки и с текущего столбца.

Но интересно отметить, что обе эти эвристики с поиском максимального элемента, фактически, очень зависят от того, насколько были промасштабированы исходные уравнения. Например, если одно из уравнений системы умножить на миллион, то это уравнение почти наверняка будет выбрано в качестве ведущего на первом же шаге. Это кажется достаточно странным, поэтому логичен переход к немного более сложной эвристике — так называемому "implicit pivoting" .

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

Улучшение найденного ответа

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

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

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

Такой приём позволяет несколько расширить множество задач, решаемых алгоритмом Гаусса-Жордана с приемлемой погрешностью.

Литература

  • William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery. Numerical Recipes: The Art of Scientific Computing
  • Anthony Ralston, Philip Rabinowitz. A first course in numerical analysis

Карл Фридрих Гаусс, величайший математик долгое время колебался, выбирая между философией и математикой. Возможно, именно такой склад ума позволил ему столь заметно "наследить" в мировой науке. В частности, создав "Метод Гаусса" ...

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

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

Тоже и со школой: пока живых историй недостаточно мы инстинктивно продолжаем считать ее местом, где детей учат понимать.

Например, обучая методу Гаусса...

Метод Гаусса в 5 классе школы

Оговорюсь сразу: метод Гаусса имеет гораздо более широкое применение, например, при решении систем линейных уравнений . То, о чем мы будем говорить, проходят в 5 классе. Это начала , уяснив которые, гораздо легче разобраться в более "продвинутых вариантах". В этой статье мы говорим о методе (способе) Гаусса при нахождении суммы ряда

Вот пример, который принес из школы мой младший сын, посещающий 5 класс московской гимназии.

Школьная демонстрация метода Гаусса

Учитель математики с использованием интерактивной доски (современные методы обучения ) показал детям презентацию истории "создания метода" маленьким Гауссом.

Школьный учитель выпорол маленького Карла (устаревший метод, нынче в школах не применяется) за то, что тот,

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

Что сделал маленький Гаусс, развивший чувство числа ? Заметил некоторую особенность числового ряда с постоянным шагом (арифметической прогрессии). И именно это сделало его впоследствии великим ученым, умеющим замечать , обладающим чувством, инстинктом понимания .

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

"Математику уже затем учить надо, что она ум в порядок приводит.
М.В.Ломоносов".

Однако, последователи тех, кто порол розгами будущих гениев, превратили Метод в нечто противоположное. Как 35 лет назад говорил мой научный руководитель: "Занаучили вопрос". Или как сказал вчера о методе Гаусса мой младший сын: "Может не стоит из этого большую науку делать-то, а?"

Последствия творчества "ученых" видны по уровню нынешней школьной математики, уровню ее преподавания и понимания "Царицы наук" большинством.

Однако, продолжим...

Методы объяснения метода Гаусса в 5 классе школы

Учитель математики московской гимназии, объясняя метод Гаусса по-Виленкину, усложнил задание.

Что, если разность (шаг) арифметической прогрессии будет не единица, а другое число? Например, 20.

Задача, которую он дал пятиклассникам:


20+40+60+80+ ... +460+480+500


Прежде, чем познакомиться с гимназическим методом, заглянем в Сеть: как это делают школьные учителя - репетиторы по математике?..

Метод Гаусса: объяснение №1

Известный репетитор на своем канале YOUTUBE приводит следующие рассуждения:

"запишем числа от 1 до 100 следующим образом:

сначала ряд чисел от 1 до 50, а строго под ним другой ряд чисел от 50 до 100, но в обратной последовательности"


1, 2, 3, ... 48, 49, 50

100, 99, 98 ... 53, 52, 51

"Обратите внимание: сумма каждой пары чисел из верхнего и нижнего рядов одинакова и равняется 101 ! Посчитаем количество пар, оно составляет 50 и умножим сумму одной пары на количество пар! Вуаля: Ответ готов!".

"Если вы не смогли понять - не расстраивайтесь!", - три раза в процессе объяснения повторил учитель. "Этот метод вы будете проходить в 9 классе!"

Метод Гаусса: объяснение №2

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

Для непосвященных: 5 это одно из чисел Фибоначчи, традиционно считающееся магическим. Метод из 5 шагов всегда более научен, чем метод, например, из 6 шагов. ... И это вряд ли случайность, скорее всего, Автор - скрытый приверженец теории Фибоначчи

Дана арифметическая прогрессия: 4, 10, 16 ... 244, 250, 256 .

Алгоритм нахождения суммы чисел ряда методом Гаусса:


  • Шаг 1: переписать заданную последовательность чисел наоборот, точно под первой.
  • 4, 10, 16 ... 244, 250, 256

    256, 250, 244 ... 16, 10, 4

  • Шаг 2: посчитать суммы пар чисел, расположенных в вертикальных рядах: 260.
  • Шаг 3: посчитать, сколько таких пар в числовом ряду. Для этого вычесть из максимального числа числового ряда минимальное и разделить на величину шага: (256 - 4) / 6 = 42.
  • При этом нужно помнить о правиле "Плюс один" : к полученному частному необходимо прибавить единицу: иначе мы получим результат, меньший на единицу, чем истинное число пар: 42 + 1 = 43.

  • Шаг 4: умножить сумму одной пары чисел на количество пар: 260 х 43 = 11 180
  • Шаг5: поскольку мы посчитали сумму пар чисел , то полученную сумму следует разделить на два: 11 180 / 2 = 5590.
  • Это и есть искомая сумма арифметической прогрессии от 4 до 256 с разницей 6 !

    Метод Гаусса: объяснение в 5 классе московской гимназии

    А вот как требовалось решить задачу нахождения суммы ряда:

    20+40+60+ ... +460+480+500

    в 5 классе московской гимназии, учебник Виленкина (со слов моего сына).

    Показав презентацию, учительница математики показала пару примеров по методу Гаусса и дала классу задачу по нахождению суммы чисел ряда с шагом 20.

    При этом требовалось следующее:

  • Шаг 1: обязательно записать в тетради все числа ряда от 20 до 500 (с шагом 20).
  • Шаг 2: записать последовательно слагаемые - пары чисел: первого с последним, второго с предпоследним и т.д. и посчитать их суммы.
  • Шаг 3: посчитать "сумму сумм" и найти сумму всего ряда.
  • Как видим, это более компактная и эффективная методика: число 3 - также член последовательности Фибоначчи

    Мои комментарии к школьной версии метода Гаусса

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

    Между прочим: знаете ли вы. что наша система образования уходит корнями в немецкую школу 18 - 19 веков?

    Но Гаусс выбрал математику.

    В чем суть его метода?

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

    Разве возможно одной из приведенных "модификаций метода" Гаусса посчитать сумму чисел арифметической прогрессии почти моментально ? По "алгоритмам" маленький Карл гарантированно избежал бы порки, воспитал отвращение к математике и подавил на корню свои творческие импульсы.

    Почему репетитор так настойчиво советовал пятиклассникам "не бояться непонимания" метода, убеждая, что "такие" задачи они будут решать аж в 9 классе? Психологически безграмотное действие . Удачным приемом было отметить : "Видите? Вы уже в 5 классе можете решать задачи, которые будете проходить только через 4 года! Какие вы молодцы!".

    Для использования метода Гаусса достаточно уровня 3 класса , когда нормальные дети уже умеют складывать, умножать и делить 2 -3 значные числа. Проблемы возникают из-за неспособности взрослых учителей, "не въезжающих", как объяснить простейшие вещи нормальным человеческим языком, не то что математическим... Не способных заинтересовать математикой и напрочь отбивающих охоту даже у "способных".

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

  • Как (в общем случае) узнать, на каком именно числе следует "развернуть" запись чисел в методе № 1?
  • Что делать, если количество членов ряда окажется нечетным ?
  • Зачем превращать в "Правило плюс 1" то, что ребенок мог просто усвоить еще в первом классе, если бы развивал "чувство числа", а не запоминал "счет через десяток"?
  • И, наконец: куда исчез НОЛЬ, гениальное изобретение, которому более 2 000 лет и которым современные учителя математики избегают пользоваться?!.
  • Метод Гаусса, мои объяснения

    Нашему ребенку мы с супругой объясняли этот "метод", кажется, еще до школы...

    Простота вместо усложнения или игра в вопросы - ответы

    ""Посмотри, вот числа от 1 до 100. Что ты видишь?"

    Дело не в том, что именно увидит ребенок. Фокус в том, чтобы он стал смотреть.

    "Как можно их сложить?" Сын уловил, что такие вопросы не задаются "просто так" и нужно взглянуть на вопрос "как-то по-другому, иначе, чем он делает обычно"

    Не важно, увидит ли ребенок решение сразу, это маловероятно. Важно, чтобы он перестал бояться смотреть, или как я говорю: "шевелил задачу" . Это начало пути к пониманию

    "Что легче: сложить, например, 5 и 6 или 5 и 95?" Наводящий вопрос... Но ведь любое обучение и сводится к "наведению" человека на "ответ" - любым приемлемым для него способом.

    На этом этапе уже могут возникнуть догадки о том, как "сэкономить" на вычислениях.

    Все, что мы сделали - намекнули: "лобовой, линейный" метод счета - не единственно возможный. Если ребенок это усек, то впоследствии он выдумает еще много таких методов, ведь это интересно!!! И он точно избежит "непонимания" математики, не будет испытывать к ней отвращение. Он получил победу!

    Если ребенок обнаружил , что сложение пар чисел, дающих в сумме сотню, плевое занятие, то "арифметическая прогрессия с разницей 1" - довольно муторная и неинтересная для ребенка вещь - вдруг для него обрела жизнь . Из хаоса возник порядок, а это всегда вызывает энтузиазм: так мы устроены !

    Вопрос на засыпку: зачем после полученного ребенком озарения вновь загонять его в рамки сухих алгоритмов, к тому же функционально бесполезных в этом случае?!

    Зачем заставлять тупо переписывать числа последовательности в тетрадь: чтобы даже у способных не возникло и единого шанса на понимание? Статистически, конечно, а ведь массовое образование заточено на "статистику" ...

    Куда делся ноль?

    И все-таки складывать числа, дающие в сумме 100 для ума гораздо более приемлемо, чем дающие 101 ...

    "Школьный метод Гаусса" требует именно этого: бездумно складывать равноотстоящие от центра прогрессии пары чисел, несмотря ни на что .

    А если посмотреть?

    Все-таки ноль - величайшее изобретение человечества, которому более 2 000 лет. А учителя математики продолжают его игнорировать.

    Гораздо проще преобразовать ряд чисел, начинающийся с 1, в ряд, начинающийся с 0. Сумма ведь не изменится, не правда ли? Нужно перестать "думать учебниками" и начать смотреть... И увидеть, что пары с суммой 101 вполне можно заменить парами с суммой 100 !

    0 + 100, 1 + 99, 2 + 98 ... 49 + 51

    Как упразднить "правило плюс 1"?

    Если честно, то я о таком правиле впервые услышал от того ютубовского репетитора...

    Как я до сих пор поступаю, когда требуется определить количество членов какого-нибудь ряда?

    Смотрю на последовательность:

    1, 2, 3, .. 8, 9, 10

    а когда совсем устал, то на более простой ряд:

    1, 2, 3, 4, 5

    и прикидываю: если вычесть из 5 единицу, то получится 4, но я совершенно ясно вижу 5 чисел! Следовательно, нужно прибавить единицу! Чувство числа, развитое в начальной школе, подсказывает: даже если членов ряда будет целый гугл (10 в сотой степени), закономерность останется той же.

    На фиг правила?..

    Чтобы через пару - тройку лет заполнить все пространство между лбом и затылком и перестать соображать? А зарабатывать на хлеб с маслом как? Ведь мы ровными шеренгами движемся в эпоху цифровой экономики!

    Еще о школьном методе Гаусса: "зачем науку-то из этого делать?.."

    Я не зря разместил скриншот из тетрадки сына...

    "Что там было, на уроке?"

    "Ну, я сосчитал сразу, поднял руку, но она не спросила. Поэтому, пока остальные считали я стал делать ДЗ по русскому языку, чтобы не тратить время. Потом, когда остальные дописали (???), она вызвала меня к доске. Я сказал ответ."

    "Правильно, покажи, как ты решал", - сказала учительница. Я показал. Она сказала: "Неправильно, нужно считать так, как я показала!"

    "Хорошо, что двойку не поставила. И заставила написать в тетради "ход решения" по-ихнему. Зачем науку-то большую из этого делать?.."

    Главное преступление учителя математики

    Вряд ли после того случая Карл Гаусс испытал высокое чувство уважения по отношению к школьному учителю математики. Но если бы он знал, как последователи того учителя извратят самую суть метода ... он взревел бы от негодования и через Всемирную организацию интеллектуальной собственности ВОИС добился запрета на использование своего честного имени в школьных учебниках!..

    В чем главная ошибка школьного подхода ? Или, как я выразился - преступление школьных учителей математики против детей?

    Алгоритм непонимания

    Что делают школьные методисты, абсолютное большинство которых думать не умеет ни фига?

    Создают методики и алгоритмы (см. ). Это защитная реакция, предохраняющая учителей от критики ("Все делается согласно..."), а детей - от понимания. И таким образом - от желания критиковать учителей! (Вторая производная чиновничьей "мудрости", научный подход к проблеме ). Человек не улавливая смысл скорее будет пенять на собственное непонимание, а не на тупость школьной системы.

    Что и происходит: родители пеняют на детей, а учителя... то же на детей, "не понимающих математику!..

    Смекаете?

    Что сделал маленький Карл?

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

    Метод Гаусса по-Виленкину

    В школе учат, что метод Гаусса состоит в том, чтобы

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

    "Подвох" состоит в том, что в этом случае следует обнаружить "лишнее" число ряда и прибавить его к сумме пар. В нашем примере это число 260 .

    Как обнаружить? Переписывая все пары чисел в тетрадь! (Именно почему учительница заставила детей делать эту тупую работу, пытаясь научить "творчеству" методом Гаусса... И именно поэтому такой "метод" практически неприменим к большим рядам данных, И именно поэтому он не является методом Гаусса).

    Немного творчества в школьной рутине...

    Сын же поступил иначе.

  • Сначала он отметил, что умножать легче число 500, а не 520
  • (20 + 500, 40 + 480 ...).

  • Потом он прикинул: количество шагов оказалось нечетным: 500 / 20 = 25.
  • Тогда он в начало ряда добавил НОЛЬ (хотя можно было и отбросить последний член ряда, что также обеспечило бы четность) и сложил числа, дающие в сумме 500
  • 0+500, 20+480, 40+460 ...

  • 26 шагов это 13 пар "пятисоток": 13 х 500 = 6500..
  • Если мы отбросили последний член ряда, то пар будет 12, но к результату вычислений следует не забыть прибавить "отброшенную" пятисотку. Тогда: (12 х 500) + 500 = 6500 !

  • Несложно, правда?

    А практически делается еще легче, что и позволяет выкроить 2-3 минуты на ДЗ по русскому, пока остальные "считают". К тому же сохраняет количество шагов методики: 5, что не позволяет критиковать подход за антинаучность.

    Явно этот подход проще, быстрее и универсальнее, в стиле Метода. Но... учительница не то, что не похвалила, но и заставила переписать "правильным образом" (см. скриншот). То есть предприняла отчаянную попытку задушить творческий импульс и способность понимать математику на корню! Видимо, чтобы потом наняться репетитором... Не на того напала...


    Все, что я так долго и нудно описал можно объяснить нормальному ребенку максимум за полчаса. Вместе с примерами.

    Причем так, что он это никогда не забудет.

    И это будет шаг к пониманию ... не только математики.

    Признайтесь: сколько раз в жизни вы складывали методом Гаусса? И я ни разу!

    Но инстинкт понимания , который развивается (или гасится) в процессе изучения математических методов в школе... О!.. Это поистине незаменимая вещь!

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

    Несколько слов в защиту учителей...

    Несправедливо и неправильно всю ответственность за такой стиль обучения сваливать исключительно на школьных учителей. Действует система.

    Некоторые учителя понимают абсурдность происходящего, но что делать? Закон об образовании, ФГОСы, методики, технологические карты уроков... Все должно делаться "в соответствии и на основании" и все должно быть задокументировано. Шаг в сторону - встал в очередь на увольнение. Не будем ханжами: зарплата московских учителей ну очень неплохая... Уволят - куда идти?..

    Поэтому сайт этот не об образовании . Он об индивидуальном образовании , единственно возможном способе выбраться из толпы поколения Z ...

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

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

      умножение обеих частей уравнения на число отличное от нуля;

      прибавление к некоторому уравнению соответствующих частей другого уравнения, умноженных на число отличное от нуля;

      перестановка двух уравнений.

    Пусть дана система уравнений

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

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

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

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

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

    ,

    где ,
    ,…,– главные элементы системы
    .

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

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

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

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

    .

    Метод Гаусса - универсальный метод, который позволяет решать не только квадратные, но и прямоугольные системы, в которых число неизвестных
    не равно числу уравнений
    .

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

    Пример 2.1 Методом Гаусса решить систему

    Решение . Число уравнений
    и число неизвестных
    .

    Составим расширенную матрицу системы, приписав справа от матрицы коэффициентов столбец свободных членов.

    Приведём матрицу к треугольному виду; для этого будем получать «0» ниже элементов, стоящих на главной диагонали с помощью элементарных преобразований.

    Чтобы получить «0» во второй позиции первого столбца, умножим первую строку на (-1) и прибавим ко второй строке.

    Это преобразование запишем числом (-1) против первой строки и обозначим стрелкой, идущей от первой строки ко второй строке.

    Для получения «0» в третьей позиции первого столбца, умножим первую строку на (-3) и прибавим к третьей строке; покажем это действие с помощью стрелки, идущей от первой строки к третьей.




    .

    В полученной матрице, записанной второй в цепочке матриц, получим «0» во втором столбце в третьей позиции. Для этого умножили вторую строку на (-4) и прибавили к третьей. В полученной матрице вторую строку умножим на (-1), а третью - разделим на (-8). Все элементы этой матрицы, лежащие ниже диагональных элементов - нули.

    Так как , система является совместной и определенной.

    Соответствующая последней матрице система уравнений имеет треугольный вид:

    Из последнего (третьего) уравнения
    . Подставим во второе уравнение и получим
    .

    Подставим
    и
    в первое уравнение, найдём


    .

    Пример 2.2. Исследовать систему на совместность и в случае совместности найти решение:

    Решение. Применим к данной системе метод Гаусса.

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

    ̴
    ̴
    .

    Найдем ранги матриц: . Так как
    ,
    то система является несовместной, т.е. не имеет решений.

    Иначе говоря, система содержит противоречивое уравнение вида:

    или
    , поэтому является несовместной.