35
Вычислительная математика

Вычислительная математика

Embed Size (px)

DESCRIPTION

Вычислительная математика. Введение. Вычислительная математика — область математики, посвященная приближённому решению математических и физических задач, аналитическое решение которых представляется невозможным или затруднительным. - PowerPoint PPT Presentation

Citation preview

Page 1: Вычислительная математика

Вычислительная математика

Page 2: Вычислительная математика

Введение

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

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

Page 3: Вычислительная математика

Задачи вычислительной математики

Решение систем линейных уравнений Нахождение собственных значений и векторов матрицы Нахождение сингулярных значений и векторов матрицы Решение нелинейных алгебраических уравнений Решение систем нелинейных алгебраических уравнений Решение дифференциальных уравнений (как обыкновенных

дифференциальных уравнений, так и уравнений с частными производными)

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

Page 4: Вычислительная математика

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

Система m линейных уравнений с n неизвестными (или, линейная система) в линейной алгебре — это система уравнений вида a11x1+a12x2+…+a1nxn=d1,

a21x1+a22x2+…+a2nxn=d2, (1) an1x1+an2x2+…+annxn=dn.

Система (1) называется однородной, если все её свободные члены равны нулю (b1 = b2 = … = bm = 0), иначе — неоднородной.

Система (1) называется квадратной, если число m уравнений равно числу n неизвестных.

Решение системы (1) — совокупность n чисел c1, c2, …, cn, таких что подстановка каждого ci вместо xi в систему (1) обращает все её уравнения в тождества.

Page 5: Вычислительная математика

СЛАУ

Система (1) называется совместной, если она имеет хотя бы одно решение, и несовместной, если у неё нет ни одного решения.

Совместная система вида (1) может иметь одно или более решений.

Решения c1(1), c2

(1), …, cn(1) и c1

(2), c2(2), …, cn

(2) совместной системы вида (1) называются различными, если нарушается хотя бы одно из равенств: c1

(1) = c1(2), c2

(1) = c2(2), …, cn

(1) = cn(2).

Совместная система вида (1) называется определённой, если она имеет единственное решение; если же у неё есть хотя бы два различных решения, то она называется неопределённой. Если уравнений больше, чем неизвестных, она называется переопределённой.

Page 6: Вычислительная математика

Матричная форма

Систему (1) можно записать в матричном виде

Ax=d. (2)Здесь А – матрица коэффициентов левых

частей системы (1), а x и d – два n-мерных вектора

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

Page 7: Вычислительная математика

Методы решения

Прямые (или точные) методы позволяют найти решение за определённое количество шагов.

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

Page 8: Вычислительная математика

Прямые методы

Метод ГауссаМетод Гаусса — ЖорданаМетод КрамераМатричный методМетод прогонки (для трёхдиагональных

матриц)Разложение Холецкого или метод

квадратных корней (для положительно-определённых симметричных и эрмитовых матриц)

Page 9: Вычислительная математика

Итерационные методы

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

(англ.) Квадратичный метод сопряженных градиентов (англ.) Метод квази-минимальных невязок (QMR)

Page 10: Вычислительная математика

Метод Гаусса Метод Гаусса, или метод последовательного исключения

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

Предположим, что в системе (1) коэффициент a11 не равен нулю. Если бы это было не так, но зато aℓ1≠0, то мы поменяли бы местами 1-е и ℓ-е уравнения.

Составим отношенияℓi1= , i=2, 3, …, n,

называемые множителями 1-го шага; коэффициент a11 при этом называется главным элементом 1-го шага. Умножая 1-е уравнение соответственно на ℓ21, ℓ31, …, ℓn1, вычтем его из 2-го, 3-го, ...., n-го.

111 aai

Page 11: Вычислительная математика

Метод Гаусса

В результате придем к системе вида

a11x1+a12x2 +…+ a1nxn=d1,

a22(1)x2+…+a2n

(1)xn=d2(1),

………………………………

an2(1)x2+…+ann

(1)xn=dn(1),

имеющей те же решения, что и система (1) Коэффициенты новой системы вычисляются по формулам:

aij(1)=aij-ℓi1a1j, i, j=2, 3, …, n, (3)

di(1)=di-ℓi1di, i=2, 3, …, n.

Первый шаг прямого хода закончен. Уравнения со 2-го по n-е составляют систему порядка n–1, в которой нет неизвестного xоно исключено, с чем и связано одно из названий метода.

Page 12: Вычислительная математика

Метод Гаусса

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

Если несовместных уравнений в системе нет, то можно перейти ко второму шагу. Будем считать, что коэффициент a22

(1)≠0; в противном случае мы переставили бы 2-е уравнение с одним из нижележащих, именно с тем, в котором присутствует x2.

Page 13: Вычислительная математика

Метод Гаусса

Составляем множители 2-го шага: ℓi2=ai2

(1)/a22(1), i=3, 4, …, n.

Коэффициент a22(1) называется главным элементом второго

шага. Вычитая из 3-го, 4-го, ..., n-го уравнений 2-е, умноженное соответственно на ℓ32, ℓ42,…,ℓn2, получим a11x1+a12x2 +a13x3+…+ a1nxn=d1,

a22(1)x2+a23

(1)x3+…+a2n(1)xn=d2

(1),

a33(2)x3+…+a3n

(2)xn=d3(2),

………………………………

an3(2)x3+…+ann

(2)xn=dn(2).

Для коэффициентов справедливы соотношения, аналогичные формулам (3):

aij(2)=aij-ℓi2a1j, i, j=3, 4, …, n, (4)di

(2)=di(1)-ℓi2di

(1), i=3, 4, …, n.

Page 14: Вычислительная математика

Уравнения новой системы, кроме первых двух, составляют систему порядка n–2, в которой нет неизвестных x1 и x2; неизвестное x2 исключено на втором шаге. Продолжая таким образом, мы или установим, что система несовместна, или после исключения k-гo неизвестного (1<k<n) не найдем среди последних n–k уравнений ни одного с ненулевыми коэффициентами, и это означает, что решений у системы бесконечно много, или, наконец, после n–1 шагов получим треугольную систему уравнений:

a11x1+a12x2 +a13x3+…+ a1nxn=d1,

a22(1)x2+a23

(1)x3+…+a2n(1)xn=d2

(1),

a33(2)x3+…+a3n

(2)xn=d3(2), (5)

……………………………………

ann(n-1)xn=dn

(n-1). Прямой ход метода Гаусса закончен.

Page 15: Вычислительная математика

Коэффициенты a11, a22(1),…, an-1,n-1

(n-2), будучи главными элементами соответствующих шагов, не равны нулю согласно определению. Для невырожденной матрицы А не равен нулю и коэффициент ann

(n-1). Обратной подстановкой называется следующий этап

– решение треугольной системы (5). Из последнего уравнения делением на ann

(n-1) получаем значение неизвестного xn. Подставляя его в (n–1)-е уравнение, можем определить значение xn-1. Поднимаясь таким образом по системе, последовательно найдем значения всех неизвестных.

Page 16: Вычислительная математика

Метод Гаусса с выбором главного элемента В методе Гаусса с выбором главного элемента

среди элементов amk(k) m≥k находят главный, то есть

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

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

Page 17: Вычислительная математика

LU-разложение

Представим матрицу А в виде произведения нижней треугольной матрицы L и верхней U. Введем в рассмотрении матрицы

Можно показать, что A=L∙U. Это и есть разложение матрицы на множители.

1

01

001

0001

321

3231

21

nnn lll

ll

l

L

)1(

)2(3

)2(33

)1(2

)1(23

)1(22

1131211

000

00

0

nnn

n

n

n

a

aa

aaa

aaaa

U

Page 18: Вычислительная математика

Решение СЛАУ

Решение системы с помощью LU-разложения сводится к последовательному решению систем с треугольными матрицами Ly=b и Ux=y.

Page 19: Вычислительная математика

Метод прогонки

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

Page 20: Вычислительная математика

Прямой ход метода прогонки

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

Тогда формулы прямого хода будут иметь

вид:

0

1,

1

11

n

iiiiiii

ca

nidxcxbxa

niab

da

ab

с

iii

iiii

iii

ii

,...,2,1,

,0

1

11

Page 21: Вычислительная математика

Обратный ход метода прогонки

При обратном ходе переменные рассчитывают так:

Достаточным условием устойчивости прогонки является преобладание диагональных элементов

Причем хотя бы для одного i неравенство должно быть строгим.

iii

iiii

iii

ii

ab

dax

ab

cx

10

,...,2,1

1

nx

ni

iii cab

Page 22: Вычислительная математика

Метод итераций

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

Предположим, что коэффициенты niaii ,,2,10

Page 23: Вычислительная математика

Метод итераций

Далее разрешим 1-е уравнение относительно х1, 2-е уравнение относительно х2 и так далее, в результате чего получим эквивалентную систему следующего вида:

nnnnnnn

nn

nn

xxxx

xxxx

xxxx

2211

222212122

121211111

jiпри

jiприa

a

a

b

ij

ii

ijij

ji

ii

0

Page 24: Вычислительная математика

Решение методом итераций

Далее система решается методом последовательных приближений. За нулевое приближение принимаем столбец свободных членов.

Далее строим матрицы-столбцы.

,3,2,1,0,1

12

01

kxx

xx

xx

kk

Page 25: Вычислительная математика

Последовательность приближений

Если последовательность приближений имеет предел вида

то этот предел будет являться решением системы

Формула приближения в развернутом виде:

k

kxx

lim)()2()1()0( ,,,, nxxxx

k

k

k

kxx

limlim 1

nkni

xx

x

ii

n

j

kjijij

ii

,,2,1,0,,,1,0

1

)(

)0(

Page 26: Вычислительная математика

Сходимость

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

Page 27: Вычислительная математика

Замечание

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

Page 28: Вычислительная математика

Приведение линейной системы

Теорема сходимости накладывает жесткие условия на коэффициенты линейной системы Ах=b, но если det A ≠0, то с помощью линейного комбинирования уравнения системы всегда можно заменить эквивалентной системой X=β+αx такую, что условия теоремы сходимости будут выполнены.

Умножим уравнение Ах=b на матрицу D

- это матрица с малыми по модулю элементами. Получим следующее уравнение:

Если элементы матрицы малы, то система удовлетворяет условиям сходимости.

Умножение на матрицу D эквивалентно совокупности элементарных преобразований над уравнениями системы.

1AD ij

DbA

DbAxA

,

1

Page 29: Вычислительная математика

Приведение системы

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

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

Page 30: Вычислительная математика

Метод Зейделя

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

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

)()1(1

1

)1(

)()1(1

1

)1(

22

)1(1212

)1(2

)(

111

)1(1

......................

knnn

kj

n

jnjn

kn

kj

n

ijij

kj

i

jiji

ki

kj

n

jj

kk

kj

n

jj

k

ЗейделяметодаАлгоритм

xxx

xxx

xxx

xx

Page 31: Вычислительная математика

Метод Зейделя

Обычно метод Зейделя, реализуемый по формулам (**) сходится быстрее, чем метод простой итерации. Иногда даже он сходится и тогда, когда метод простой итерации не сходится. Но это бывает не всегда, есть случаи, когда метод Зейделя сходится хуже, чем метод простой итерации.

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

Page 32: Вычислительная математика

Аппроксимация функции

На практике значения функций находятся в результате каких то измерений, экспериментов.

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

Виды аппроксимации: Интерполирование (в том числе с помощью сплайнов). Среднее квадратичное приближение (частный случай

МНК). Равномерное приближение.

Page 33: Вычислительная математика

Интерполирование

При алгебраической интерполяции для представления информации о функции f(x) используется таблица значений этой функции.

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

Page 34: Вычислительная математика

Интерполирование

Интерполирование имеет 2 недостатка: При большом

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

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

(x)

f(x)

ii yxfi

xfz

)(

)(

Page 35: Вычислительная математика

Сплайны Под сплайном (от англ. spline — планка, рейка) обычно

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

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

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