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

Метод релаксации

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

Рис. 2.7. Иллюстрация к методу релаксации

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

,

где D– диагональная матрица с элементами аijпо диагонали. Как показала практика вычислений, при А > 0 целесообразно брать показатель релаксации р в пределах -1 0 еще раз обратимся к геометрической картине (см. рис. 2.7). После уточнения компоненты х1 по методу релаксации при -1 Будет полезно почитать по теме:

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

Введение

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

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

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

(1)

Обозначим через вектор неизвестных и определим вектор-функцию Тогда система (1) записывается в виде уравнения:

(2)

Теперь вернёмся к всеми любимому Python и отметим его первенство среди языков программирования, которые хотят изучать [1].

Этот факт является дополнительным стимулом рассмотрения числительных методов именно на Python. Однако, среди любителей Python бытует мнение, что специальные библиотечные функции, такие как scipy.optimize.root, spsolve_trianular, newton_krylov, являются самым лучшим выбором для решения задач численными методами.

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

Так, в публикации [2], на основании проведенных вычислительных экспериментов, доказано, что библиотечная функция newton_krylov, предназначенная для решения больших систем нелинейных уравнений, имеет в два раза меньшее быстродействие, чем алгоритм TSLS+WD
(two-step least squares), реализованный средствами библиотеки NumPy.

Целью настоящей публикации является сравнение по числу итераций, быстродействию, а главное, по результату решения модельной задачи в виде системы из ста нелинейных алгебраических уравнений при помощи библиотечной функции scipy.optimize.root и методом Ньютона, реализованного средствами библиотеки NumPy.

Возможности решателя scipy.optimize.root для численного решения систем алгебраических нелинейных уравнений

Библиотечная функция scipy.optimize.root выбрана в качестве базы сравнения, потому что имеет обширную библиотеку методов, пригодных для сравнительного анализа.

scipy.optimize.root(fun, x0, args=(), method=’hybr’, jac=None, tol=None,callback=None, ptions=None)
fun — Векторная функция для поиска корня.
x0 –Начальные условия поиска корней

method:
hybr -используется модификация Пауэлл гибридный метод;
lm – решает системы нелинейных уравнений методом наименьших квадратов.
Как следует из документации [3] методы broyden1, broyden2, anderson, linearmixing, diagbroyden, excitingmixing, krylov являются точными методами Ньютона. Остальные параметры являются «не обязательными» и с ними можно ознакомится в документации.

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

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

В методе Ньютона новое приближение для решения системы уравнений (2) определяется из решения системы линейных уравнений:

(3)

Определим матрицу Якоби:

(4)

Запишем(3) в виде:

(5)

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

(6)

где — итерационные параметры, a — квадратная матрица n х n, имеющая обратную.

При использовании записи (6) метод Ньютона (5) соответствует выбору:

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

При решении систем нелинейных уравнений можно использовать прямые аналоги стандартных итерационных методов, которые применяются для решения систем линейных уравнений. Нелинейный метод Зейделя применительно к решению (2) дает:

(7)

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

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

(8)

Выбор модельной функции

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

Функция f создаёт систему из n нелинейных уравнений, решение которой не зависит от числа уравнений и для каждой из n переменных равно единице.

Программа для тестирования на модельной функции c результатами решения системы алгебраических нелинейных уравнений с помощью библиотечной функции optimize.root для разных методов отыскания корней

Только один из методов, приведенных в документации [3] прошёл тестирование по результату решения модельной функции, это метод ‘krylov’.

Решение для n=100:

Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1.]
Krylov method iteration = 4219
Optimize root time 7.239 seconds:

Вывод: С увеличением числа уравнений вдвое заметно появление ошибок в решении. При дальнейшем увеличении n решение становится не приемлемым, что возможно из-за автоматической адаптации к шагу, эта же причина резкого падения быстродействия. Но это только моё предположение.

Программа для тестирования на модельной функции c результатами решения системы алгебраических нелинейных уравнений с помощью программы написанной на Python 3 с учётом соотношений (1)-(8) для отыскания корней по модифицированному методу Ньютона

Решение для n=100:

Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1.]
Newton iteration = 13
Newton method time 0.496 seconds

Решение для n=200:

Solution:
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
1. 1. 1. 1. 1. 1. 1. 1.]
Newton iteration = 14
Newton method time 1.869 seconds

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

Получим:
Solution:
[ 0.96472166 0.87777036 0.48175823 -0.26190496 -0.63693762 0.49232062
-1.31649896 0.6865098 0.89609091 0.98509235]
Newton iteration = 16
Newton method time 0.046 seconds

Вывод: Программа работает и при изменении модельной функции.

Теперь вернёмся к начальной модельной функции и проверим более широкий диапазон для n, например в 2 и 500.
n=2
Solution:
[1. 1.]
Newton iteration = 6
Newton method time 0.048 seconds
n=500

Курсовая работа: Метод релаксации переменных решения СЛАУ

Численное решение СЛАУ – одна из наиболее часто встречающихся задач в научно-технических исследованиях. Такая задача возникает в математической физике (численное решение дифференциальных и интегральных уравнений), экономике, статистике. При этом прикладные задачи часто требуют решения больших и сверхбольших СЛАУ с числом неизвестных более 1000. К таким СЛАУ, например, приводит численное решение двумерных и особенно трехмерных задач математической физики, в которых условия физической и геометрической аппроксимации двумерной и трехмерной области диктуют использование достаточно мелкой расчетной сетки с большим числом расчетных узлов по линейному размеру.

Существующие библиотеки программ на языках высокого уровня, разработаны на основе, так называемых, прямых методов решения СЛАУ, типа метода Гаусса и его модификаций. Число арифметических операций умножения для численного решения СЛАУ размерностью с помощью прямого метода — . Кубическая зависимость числа арифметических операций от размера матрицы СЛАУ приводит при к нереально большому времени решения даже на самых современных ЭВМ. Кроме того, время решения несоразмерно возрастает при использовании прямых методов в случае по причине недостаточности объема оперативной памяти для хранения данных задачи.

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

, оказывается существенно меньше, примерно в раз для вещественной и раз для комплексной СЛАУ. Кроме того, требуется хранить в оперативной памяти, как правило, только одну матрицу, например, матрицу перехода явного итерационного метода. При использовании быстро сходящихся итерационных методов вполне решаемыми в реальном времени на современных ПЭВМ оказываются СЛАУ с комплексной матрицей размерностью .

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

Наиболее алгоритмически простыми среди итерационных методов являются стационарные итерационные методы, такие как оптимальный метод простой итерации и метод релаксации. В то же время показано, что можно добиться их эффективной сходимости для достаточно широкого класса вещественных и комплексных матриц СЛАУ. Для нестационарных итерационных методов, таких как метод с чебышевским набором параметров, минимальных невязок, сопряженных градиентов, сходимость доказана в узком классе матриц, например, таких как вещественные симметричные положительно определенные матрицы. И в этом узком классе матриц сходимость оптимальных стационарных методов, опирающихся на известные спектральные матричные свойства, оказывается в некоторых случаях даже лучшей. При этом число арифметических операций стационарного алгоритма минимально. Еще одним преимуществом оптимального метода простой итерации является возможность естественного распараллеливания алгоритма при постановке его на современные параллельные ЭВМ, так как алгоритм по существу сводится к одному умножению матрицы на вектор. Все эти аргументы указывают на выбор стационарных итерационных методов в качестве алгоритмической основы для библиотеки подпрограмм по решению СЛАУ с большими матрицами. В курсовой работе рассмотрен итерационный метод релаксации решения СЛАУ.

1. МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

Рассмотрим систему линейных алгебраических уравнений

Название: Метод релаксации переменных решения СЛАУ
Раздел: Рефераты по математике
Тип: курсовая работа Добавлен 03:06:02 27 апреля 2011 Похожие работы
Просмотров: 8472 Комментариев: 22 Оценило: 5 человек Средний балл: 4.4 Оценка: неизвестно Скачать
,(1.1)

А — матрица размерности ,

Численные методы решения данной системы принято разделять на два класса: прямые методы и итерационные.

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

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

Суть итерационных методов состоит в том, что решение системы (1.1) находится как предел последовательных приближений x ( n ) при n ®¥, где n — номер итерации. Применение итерационных методов требует задания начального значения неизвестных х (0) и точности вычислений e >0. Вычисления проводятся до тех пор, пока не будет выполнена оценка

.(1.2)

Основное достоинство итерационных методов состоит в том, что точность искомого решения задается.

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

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

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

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

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

Заметим, что существуют системы, для которых итерационный процесс сходится, а вектор невязки, получающийся при подстановке найденного решения в исходную систему

,(1.4)

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

Продемонстрируем применение одношагового итерационного метода Якоби на решении системы трех уравнений. Пусть система (1.1) имеет вид

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

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

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

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

Запишем выражение i +1- итерации черезi :

Если точность решения достигнута, то счет прекращается.

Для систем m -го порядка имеем

Запишем метод простых итераций в матричной форме. Представим матрицу А в виде суммы трех матриц

А=А 1 +D +A 2 ,(1.10)

А 1 = — нижняя треугольная матрица,

А 2 = — верхняя треугольная матрица.

Представим систему (1.1) в матричной форме

(1.11)

Метод Якоби в матричной записи выглядит следующим образом

,(1.12)

,

.

Существуют итерационные методы, обладающие лучшей скоростью сходимости, чем методы Якоби. В этих методах при вычислении i +1 итерации компоненты вектора решения используются, найденные на i + 1 итерации компоненты решения с номерами , l =1,2. j -1. Наиболее распространенным методом подобного типа является метод Зейделя. Продемонстрируем его применение на системе (1.3). Вновь, задавая начальное приближение, для первой итерации запишем

После проверки условия сходимости совершаем вторую итерацию и т.д. Для i + 1 итерации запишем

Общая формула имеет вид

.(1.16)

Запишем метод Зейделя в матричной форме

,(1.17)

или в форме близкой к каноническому виду

,(1.18)
.(1.19)

Äëÿ îäíîøàãîâûõ èòåðàöèîííûõ ìåòîäîâ, ñóùåñòâóåò êàíîíè÷åñêàÿ ôîðìà çàïèñè

.(1.20)

Здесь — матрица, задающая тот или иной итерационный метод, — итерационный параметр. В случае метода Якоби — это матрица D , а =1, в случае метода Зейделя =D 1 , а итерационный параметр также равен единице =1.

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

Одним из наиболее распространенных одношаговых итерационных методов является метод верхних релаксаций * , который имеет следующий вид

,(1.21)

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

Для получения расчетных формул (1.21) перепишем в виде

,(1.22)

или в покомпонентной записи получим

.(1.23)

Приведем несколько строк покомпонентной записи

,(1.24)
,(1.25)
(1.26)

Практика применения итерационных методов показала, что эти методы приводят к правильному решению для систем с матрицей А имеющей специальный вид. Приведем ряд теорем о сходимости итерационных методов. Доказательства этих теорем приводятся в книге [1].

Рассмотрим итерационные методы с постоянным итерационным параметром, записанные в виде

.(1.27)

Пусть А — симметричная положительно определенная матрица, t >0 и пусть выполнено неравенство В- 0,5t А >0. Тогда итерационный метод (1.27) сходится.

Пусть А — симметричная положительно определенная матрица с диагональным преобладанием, т.е.

(1.28)

Тогда метод Якоби сходится.

Пусть А — симметричная положительно определенная матрица. Тогда метод верхних релаксаций сходится при условии 0 g 2 . При итерационный метод (1.27) сходится и для погрешности справедливы оценки

, i =0,1.(1.29)
(1.30)
,(1.31)
,(1.32)
.(1.33)

Если А Т =А >0, то для метода простой итерации

(1.34)
(1.35)
,(1.36)
(1.37)
(1.38)

Для симметричной матрицы А и

(1.39)
,(1.40)

где ,. В приложениях часто встречаются задачи с плохо обусловленной матрицей А , когда отношение велико. В этом случае число r 0 близко к единице, и метод простой итерации сходится медленно.

Оценим число итераций n 0 (e ), которое требуется для достижения заданной точности e в случае малых x , т.е. для получения оценки

.(1.41)

Из условия получаем, что

,(1.42)

и при малых x имеем

.(1.43)

Заметим, что в качестве критерия сходимости итерационного метода может использоваться невязка, которая получается при подстановке найденного решения в систему (1.1).

1.1 Метод верхних релаксаций

линейный уравнение итерационный релаксация

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

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

Еще одно достоинство итерационного метода верхних релаксаций состоит в том, что при его реализации на ЭВМ алгоритм вычислений имеет простой вид и позволяет использовать всего один массив для неизвестного вектора.

Основная вычислительная формула имеет вид

(1.44)

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

.(1.45)

Действительно, при последовательном нахождении элемента (i +1 итерации) на каждом шаге будут использоваться найденные ранее значения, которые при k j i итерации.

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

1.2 Âû÷èñëèòåëüíûå ïîãðåøíîñòè ìåòîäà âåðõíèõ ðåëàêñàöèé

Один из основных вопросов применения итерационных методов связан с корректностью выбора точности метода e.

Àíàëèçèðóÿ âû÷èñëèòåëüíûå ïîãðåøíîñòè âûðàæåíèÿ (1.45), ïîëó÷èì îöåíêó íàèìåíüøåãî çíà÷åíèÿ òî÷íîñòè ìåòîäà âåðõíèõ ðåëàêñàöèé.

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

Çàïèøåì ðàçíîñòü äâóõ èòåðàöèîííûõ ïðèáëèæåíèé ðåøåíèÿ è îöåíèì å¸ ìèíèìàëüíîå çíà÷åíèå

(1.46)

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

(1.47)

бывает с ростом номера итерации k , т.е. . Оценка абсолютной погрешности правой части выражения (10) может быть представлена в следующем виде

,(1.48)

здесь .- модуль минимального значения диагонального элемента .Отсюда следует, что задаваемая погрешность метода .

1.3 Ìåòîä áëî÷íîé ðåëàêñàöèè

Èñõîäíàÿ ìàòðèöà ðàçáèâàåòñÿ íà áëîêè (â ðàìêàõ ëàáîðàòîðíîé ðàáîòû áóäåì ðàññìàòðèâàòü ñëó÷àé, êîãäà ðàçáèâàåòñÿ íà êâàäðàòíûå áëîêè ðàâíîé ðàçìåðíîñòè). Âåêòîð ïðàâîé ÷àñòè è âåêòîð íåèçâåñòíûõ ðàçáèâàþòñÿ íà áëîê-âåêòîðû ñîîòâåòñòâóþùåé ðàçìåðíîñòè. Íàïðèìåð, äëÿ ðàçìåðà áëîêà ðàâíîãî äâóì, ïîëó÷àåì:

(1.50)
(1.51)
(1.52)

Çàïèøåì ôîðìóëó äëÿ áëîêîâ ìàòðèöû è áëîê-âåêòîðîâ è :

(1.53)
(1.54)
(1.55)

Òîãäà, ïîäñòàâëÿÿ (1.54) è (1.55) â (1.53) è óìíîæàÿ ñëåâà íà , äëÿ êàæäîãî áëîê-âåêòîðà ïîëó÷àåì ÑËÀÓ:

(1.56)

Ðåøåíèå ïîëó÷åííûõ ñèñòåì (1.56) ðåêîìåíäóåòñÿ âûïîëíÿòü ñ èñïîëüçîâàíèåì ôàêòîðèçàöèè ìàòðèöû , ïðè÷¸ì ôàêòîðèçàöèþ ñëåäóåò âûïîëíÿòü 1 ðàç ïåðåä ïåðâîé èòåðàöèåé.

2. ÐÀÇÁÎÐ ÌÅÒÎÄÀ ÐÅËÀÊÑÀÖÈÉ Â ÑÈÑÒÅÌÀÕ ËÈÍÅÉÍÛÕ ÓÐÀÂÍÅÍÈÉ ÍÀ ÏÐÈÌÅÐÅ

ПРИМЕР: решить методом релаксаций данную систему

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

РЕШЕНИЕ: Приводим систему(4) к виду, удобному для решения методом релаксации

Задаем начальные приближения корней нулевыми значениями

(2.3)

Находим значения невязок

00,6000,7000,80
0,160,16-0,80
0,760,860
0,170,86-0,860,09
0,9300,09
0,93-0,930,090,09
00,090,180,18
0,040,04-0,18
0,040,130,130
0,03-0,130,01
0,070,0700,01
-0,070,010,01
00,010,020,02
00-0,02
0
00,010,010
0-0,010
000
1,001,001,00

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

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

Рисунок 1 – Решение системы с помощью языка Borland C++

Листинг программы решающий систему методом релаксаций переменных приведен в приложении.

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

Но такие системы уравнений могут быть, во-первых, очень большого размера, например, NxN=10000х10000, и даже более; во-вторых, система уравнений может оказаться недоопределенной; в-третьих, она может оказаться с линейно зависимыми уравнениями; в-четвертых, она может оказаться переопределённой и несовместной. Кроме того, в-пятых, вычислительная техника может иметь далеко не рекордное быстродействие и объём оперативной памяти, и заведомо конечную разрядность двоичного представления чисел и связанные с этим ненулевые вычислительные погрешности. Поэтому итерационные методы получили большое применение в решении СЛАУ. Современная вычислительная техника позволяет проводить исследование устойчивости и сходимости итерационного метода в зависимости от параметров задачи.

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

Еще одно достоинство итерационного метода верхних релаксаций состоит в том, что при его реализации на ЭВМ алгоритм вычислений имеет простой вид и позволяет использовать всего один массив для неизвестного вектора.

Я научился решать систем линейных уравнений методом релаксации(ослабления) переменных, и закрепил приобретённые навыки разработкой программы на языке Borland C++ 4.5.

1. Воеводин В.В. «Вычислительные основы линейной алгебры». Москва «Наука», 1977.

2. Фаддеев Д.К., Фаддеева В.Н. «Вычислительные методы линейной алгебры». Москва «Физматгиз», 1963.

3. Самарский А.А., Гулин А.В.» Численные методы». Москва «Наука», 1989.

4. Самарский А.А., Николаев Е.С. «Методы решения сеточных уравнений». Москва «Наука», 1978.

5. Самарский А.А. «Введение в численные методы». Москва «Наука», 1987.

6. Стренг Г. «Линейная алгебра и ее применение». Москва «Мир», 1980.

7. Карманов В.Г. «Математическое программирование». Москва «Наука», 1989.

8. Алексеев Е.Р. «Программирование на С++». Москва «НТ Пресс», 2007.

9. http://www.exponenta.ru/ — сайт посвящен решению математических задач в прикладных программных пакетах.

10. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. — М.: Наука, 1987.- 600 с.


источники:

http://habr.com/ru/post/419453/

http://www.bestreferat.ru/referat-213027.html