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

advertisement
Вычислительная математика
1 семестр
Линейная алгебра.
Приближенные числа и погрешности вычислений
Математические модели и численные методы
Математическая модель – математический объект, исследование которого дает
информацию об этом изучаемом процессе или явлении.
На 1-ом этапе любого исследования строится адекватная математическая модель.
На 2-ом этапе выбирается метод исследования этой модели, очень редко этот
метод аналитический.
Все методы исследования моделей делятся на 3 группы:
1. точные аналитические
2. приближенные аналитические
3. численные
Численный метод основывается на арифметической
математической операции (формула Симпсона,…).
модели сложной
Точность численных методов
Трудоемкость и эффективность метода определяется точностью. Точность
характеризуется погрешностью вычислений. Погрешность определяется следующими
факторами:
1. погрешность, связанная с самой постановкой математической задачи
2. погрешность, связанная с наличием бесконечных процессов, которые мы
заменяем конечными (остаточная погрешность).
3. погрешность, связанная с параметрами, значения которых мы знаем только
приблизительно.
4. погрешность, связанная с системой исчисления (необходимость округления).
5. погрешность арифметических действий (неточность данных в результате
нескольких действий накапливается).
Приближенные числа и погрешности вычислений
Абсолютная и относительная погрешности
Приближенным числом а называется число мало отличающееся от А, при а  А.
Если а<А, то а – приближенное значение А по недостатку.
Если а>А, то а – приближенное значение А по избытку.
1
Абсолютной погрешностью  приближенного числа а называется абсолютная
величина разности между числами А и а.
  A a
Предельной абсолютной погрешностью  а приближенного числа понимается
всякое число не меньше абсолютной погрешности этого числа.
а  а  А  а  а ; А  а  а
Для точности данных измерений существенна абсолютная погрешность,
приходящаяся на единицу длины, которая носит название относительной
погрешности.
Относительной погрешностью δ приближенного числа а называется
отношение абсолютной погрешности этого числа к модулю соответствующего числа А.
Δ
δ  ,A0
A
Δ  Aδ
Предельной относительной погрешностью δ a данного приближенного числа, а
называется всякое число не меньше относительной погрешности этого числа.
δ  δa
Δa  A δ a

A  a1  δ a 
А  0, a  0, δa  a
δ
Δa 
Δa
Δ

A a  Δa
aδ a
1  δa
δa 
Δa
a  Δa
Δa  a, δ a  1
Δa
a
Δa  aδ a
δa 
Источники погрешности
Все погрешности ВМ делятся на:
1. погрешности задач, связанные с неточностью математической моделью
изучаемого явления.
2. остаточные погрешности.
Существует несколько источников погрешностей:
1. Математическая модель. Лежит вне компетенции вычислителя.
2. Исходные данные. Поступает после измерений.
3. Приближенный метод.
Погрешность округления. Определяется тем, сколько
используется, поэтому определяется разрядностью компьютера.
значащих
цифр
2
Решение систем линейных алгебраических уравнений (СЛАУ)
Метод Гаусса
Пусть есть СЛАУ:
a11 x1  a12 x2    a1n xn  d1
a21 x1  a22 x2    a2n xn  d 2

an1 x1  an 2 x2    ann xn  d n
В матричной форме Ах=d
Где А – это матрица коэффициентов левой части системы.
x и d – это 3-х мерные векторы.
 d1 
 x1 
d 
x 
2

d
x   2
 
 
 
 
d n 
 xn 
При n>4 СЛАУ решают численными методами, среди которых наиболее часто
применяют метод Гаусса или метод последовательного исключения неизвестных, а так
же его модификации.
Метод Гаусса включает в себя 2 этапа:
1-й Этап – прямой ход.
2-й Этап – обратная подстановка.
При прямом ходе система приводится к треугольному виду, либо выясняется, что
она несовместна или имеет бесконечно много решений.
Прямой ход выполняется как последовательность шагов. Этих шагов не более n1, где n – это порядок системы. Задача каждого шага – исключение из системы
очередного неизвестного.
Рассмотрим 1-й шаг прямого хода.
Пусть в системе коэффициент a11  0 , но если a11  0 , но для некоторого l
al1  0 , то тогда меняем строки в уравнении, чтобы на главной диагонали матрицы не
было нулей.
Рассчитаем множители 1-го шага:
a
li1  i1 , i  2,3,..., n
a11
a11 главный элемент 1  го шага.
Умножив 1-е уравнение последовательно на l21, l31 , l41, и вычесть результат из
2, 3, и n-го уравнений мы исключаем из всех этих уравнений переменную xi , то есть
получаем следующую систему:
a11 x1  a12 x2    a1n xn  d1
a 1 x    a 1 x  d 1
22 2
2n n
2

a 1 x    a (1) x  d 1
n2 2
nn n
n
3
Коэффициенты новой системы рассчитаем по формуле:
aij1  aij  li1a1 j , i, j  2,3,..., n
di1  di  li1d1, i  2,3,..., n
Уравнения со 2-го по n-ое составляют систему порядка n-1, которое может
подвергнуться аналогичным преобразованиям. Продолжая далее после n-1 шагов
получим СЛАУ с треугольной матрицей вида:
a11 x1  a12 x2    a1n xn  d1
1
a 22
x2    a 21n xn  d 2(1)

*
( n 1)
a nn
xn  d n( n 1)
( k 1)
aij( k )  aij( k 1)  lik a kj
d i( k )  d i( k 1)  lik d k( k 1) , k  2,, n
i, j  k ,4,, n
lik 
aik( k 1)
( k 1)
a kk
i  k  1, n
Если на некотором шаге 1-го этапа окажется, что в системе появилось
уравнение, в котором все коэффициенты в левой части равны нулю, а правая часть
уравнения  0, то исходная система несовместна.
Если правая и левая части равны нулю, то это уравнение следует удалить из
системы и продолжить 1-й этап.
2-й Этап, то есть этап обратной подстановки сводится к решению треугольной
системы  .
n 1 получаем значение неизвестного
Из последнего уравнения деления на ann
xn ,
подставляя его в n-1 уравнение определяем значение xn 1 .
Двигаясь таким образом вверх по системе, последовательно найдем значения
всех неизвестных.
Пример.
x1  3x2  x3  4
 2 x1  7 x2  2 x3  9
3x1  2 x2  4 x3  2
x1  3 x2  x3  4
l 21  2
l31  3
 x2  1
 11x2  x3  10
l32  11
x1  3x2  x3  4
 x2  1
 x3  1
4
x2  1, x3  1, x1  0
В некоторых прикладных задачах используется представление матрицы СЛАУ в
виде А=LU.
L – Нижняя треугольная матрица
U – Верхняя треугольная матрица.
Такое разложение можно получить из результатов выполнения прямого хода
методом Гаусса, или в процессе исключения не производить перестановки уравнений.
Матрица А=LU можно записать в виде:
a11 a12 a13  a1n 
1 0 0  0 

1 a 1  a 1 
l

0
a22

23
1n 
1
0

0
 21




2
U  0
0
a33  a32n 
L  l31 l32 1  0 


 
 


ln1 ln 2 ln3 1
0
0  ann 
0


Такое разложение матрицы на множители называется LU-разложением.
Метод прогонки
На практике оказывается, что матрица систем уравнений имеет некоторый
специальный вид. Например, они содержат много нулевых элементов, расположенных
компактными массивами. Тогда процесс Гаусса организуется так, чтобы исключить
лишнюю работу с нулями.
Важной модификацией метода Гаусса является метод прогонки, применяемый в
системах с 3-х диагональной матрицей. Запишем такую систему в каноническом виде:
ai xi 1  bi xi  ci xi 1  di , 1  i  n
a1  cn  0
Тогда формулы прямого хода будут иметь вид:
  1  0,  i 1 
сi
bi  ai  i
ai i  d i
, i  1,2,..., n
bi  ai  i
При обратном ходе переменные рассчитывают так:
ci
xi 
bi  ai i
i  1,2,..., n
a   d i xn1  0
xi 1  i i
bi  ai i
i 1 
Достаточным условием
диагональных элементов
устойчивости
прогонки
является
преобладание
bi  ai  ci
Причем хотя бы для одного i неравенство должно быть строгим.
5
Расчет определителя.
det A   1
m
n
 a 
k
kk
k 1
n
det A   ai  i  bi   для 3  х диагональн ых матриц.
k 1
Вычисление обратной матрицы.
Дана матрица А, требуется найти А-1. следовательно надо найти такую матрицу,
чтобы выполнялось условие AA-1=E
1
0
E
0

0
0 0 0
1 0 0
0 1 0

0 0 1
0 
0 
 


i   
 1

 
0 
Если мы решим уравнение A xi  i , то получим i-й столбец обратной матрицы А-1.
Например, будем искать второй столбец.
 a11 a12 a13   x1  0
a
    
 21 a22 a23  *  x2   1
 a31 a32 a24   x3  0
Очевидно, что для нахождения обратной матрицы А-1 необходимо решить систему
0 

 
A xi   i , где  i  1 i  ая строка
 

0
При этом х i будет i-ым столбцом А-1.
Если применять метод Гаусса, то прямой ход для матрицы А следует проводить
только один раз! Приходится преобразовывать только вектор свободных членов.
Поэтому трудоемкость нахождения обратной матрицы не на много выше решения
одного СЛАУ.
Метод итераций
При большом числе неизвестных СЛАУ схема метода Гаусса становится весьма
сложной. В этих условиях для нахождения корней системы иногда удобнее
6
пользоваться приближенными численными методами. Один из этих методов – метод
итераций.
Дана СЛАУ:
a11 x1  a12 x2    a1n xn  b1
a21 x1  a22 x2    a2n xn  b2

an1 x1  an 2 x2    ann xn  bn
Систему можно представить в виде матрицы:


 
b1 
 a11
 x1 
a12
a13 
b 


 
A   a21
a22
a23 
x   x2 
b   2
 
  
 
 
a

x 
bn 
a
a
n
n2
nn 
 
 n1
Где x, b– n-мерные векторы
Предположим, что коэффициенты aii  0
i  1,2,, n
Далее разрешим 1-е уравнение относительно
x1 , 2-е уравнение относительно
x 2 и так далее, в результате чего получим эквивалентную систему следующего вида:
 x1  1  11 x1  12 x2    1n xn
x     x   x     x
 2
2
21 1
22 2
2n n



 xn   n   n1 x1   n 2 x2     nn xn
i 
bi
a ji
 ij 
aij
aii
при i  j
 ij  0 при i  j
11 12  1n 
1 
    
 
2n 
где    21 22
   2
 
 


 
 n 
 n1  n 2   nn 
В матричном виде: X    x
Далее система решается методом последовательных приближений. За нулевое
приближение принимаем столбец свободных членов.
x 0   
Далее строим матрицы-столбцы.
7
x 1    x 0 
x 2     x 1

x k 1    x k  , k  0,1,2,3,
Если последовательность приближений x (0) , x (1) , x (2) ,, x (n) имеет предел вида
x  lim x k  , то этот предел будет являться решением системы
k 
k 1
    lim x k 
lim x
k 
k 
x    x
Формула приближения в развернутом виде:
xi(0)  i
n
x j  i    ij x (jk )
j 1
 ii  0, i  1,  , n, k  0,1,2,  , n
Заметим, что иногда выгоднее приводить систему уравнений к такому виду, а так
чтобы коэффициенты ii  0 i  1,2, , n
Пример.
1.02x1  0.15x2  2.7
Если разрешать относительно х1 , то коэффициенты в правой части должны быть
равны нулю, но мы разрешим другим способом.
х1  2.7  0.02х1  0.15х2
n
  ij x j  bi
i  1,2,, n (1)
j 1
Имея систему (1) можем положить следующее
aii  aii(1)  aii( 2) , при этом коэффициент aii(1)  0
Тогда данная система будет заменена эквивалентной.
n
xi  i    ij x j , i  1,2,  , n
j 1
i 
bi
aii(1)
 ii 
aii( 2)
aii(1)
 ij  
aij
при i  j
aii(1)
Процесс итерации хорошо сходится, то есть число приближений необходимо для
получения корней системы с заданной точностью не велико, если коэффициенты
матрицы  малы по абсолютной величине. Иными словами для успешного
применения процесса итерации модули диагональных коэффициентов системы должны
быть велики по сравнению с модулями не диагональных элементов.
Пример.
8
4 х1  0.24 х2  0.08 х3  8
0.09 х1  3 х2  0.15 х3  9
0,.04 х1  0.08 х2  х3  20
Главное условие: должны преобладать диагональные элементы.
Приведем систему к нормальному виду.
х1  2  0.06 х 2  0.02 х3
х 2  3  0.03х 2  0.05 х3
х3  5  0.01х 2  0.02 х3
Запишем эту систему в матричной форме.
 х1  2 0  0.06 0.02  х1 
 х   3    0.03 0 0.05  *  х 
 2   
  2
 х3  5   0.01 0.02 0   х3 
х
(0)
1
Вектор-столбец берем как нулевое приближение, получим:
2
х 2( 0 )  3
х3( 0 )  5
Подставим эти значения в уравнение считаем первое приближение, затем первое
приближение подставляем и считаем второе и так далее, в результате получим:
к
х1( к )
х 2( к )
х 3( к )
0
2
3
5
1
1.92
3.19
5.04
2
1.9094
3.194
4
5.0446
3
1.9092
3
3.194
95
5.0448
5
Замечание.
При применении метода итераций нет необходимости за нулевое приближение
принимать столбец свободных членов. Сходимость процесса итерации зависит только
от свойств матрицы А. Причем при выполнении известных условий, если этот процесс
сходится при каком-нибудь выборе начального исходного приближения, то он будет
сходится к тому же предельному вектору и при любом другом выборе этого начального
приближения, поэтому начальный вектор x ( 0 ) в процессе итерации можно взять
произвольно.
Приведение линейной системы к виду удобному для итерации
Теорема сходимости накладывает жесткие условия на коэффициенты линейной
системы Ах=b, но если det A  0 , то с помощью линейного комбинирования уравнения
9
системы всегда можно заменить эквивалентной системой X    x такую, что
условия теоремы сходимости будут выполнены.
Умножим уравнение Ах=b на матрицу D
D  A1  
  ij - это матрица с малыми по модулю элементами.
Получим следующее уравнение:
A1   Ax  Db
 


  A,   Db
Если элементы матрицы  малы, то система удовлетворяет условиям сходимости.
Умножение на матрицу D эквивалентно совокупности элементарных
преобразований над уравнениями системы.
Задача заключается в том, чтобы перейти к стандартному виду X    x с
наименьшей затратой труда. Практически поступают следующим образом: из заданной
системы выделяют уравнения с коэффициентами, модули которых больше суммы
модулей остальных коэффициентов уравнений. Каждое выделенное уравнение
выписывают в такую строку новой системы, чтобы наибольший по модулю
коэффициент оказался диагональным. Из оставшихся не использованных и выделенных
уравнений системы составляют линейно не зависимые между собой линейные
комбинации с таким расчетом, чтобы был соблюден указанный выше принцип
комплектования новой системы и все свободные строки оказались заполненными.
Для этого необходимо позаботиться, чтобы каждое не использующееся ранее
уравнение попало хотя бы в одну линейную комбинацию, являющейся уравнением
новой системы.
Пример.
A 2 x1  3x2  4 x3  x4  0
Б x1  2 x2  5 x3  x4  2  0
В 5 x1  3x2  x3  4 x4  1  0
Г 10 x1  2 x2  x3  2 x4  4  0
Коэффициент самый большой при х1 , чем сумма всех остальных.
10 x1  2 x2  x3  2 x4  0
x1  5 x2  x3  0 x4  1  0
x1  2 x2  5 x3  x4  2  0
3x1  0 x2  0 x3  9 x4  10  0
Приводим систему к следующему виду
x1  0 x1  0.2 x2  0.1x3  0.4
x2  0.2 x1  0 x2  0.2 x3  0 x4  0.2
x3  0.2 x1  0.4 x2  0 x3  0.2 x4  0.4
x4  0.333x1  0 x2  0 x3  0 x4  1.111
Полученную систему решаем методом итераций.
Все методы решения СЛАУ делятся на прямые и итерационные.
Прямой метод позволяет за конечное число шагов найти решение, причем число
шагов всегда известно заранее.
Итерационные методы теоретически содержат бесконечное число шагов, в этом
смысле они не обладают алгоритмом, но мы его дополняем пунктом, определяющим
10
момент остановки, то есть прерывания бесконечной последовательности. В этом
смысле он обладает алгоритмом.
Итерационный метод Зейделя
Структура уравнений, которые решаются итерационным методом.
n
xi  i    ij x j
(*)
j 1
j i
Мы выбираем начальный вектор х0
 x10 
 0 
 x2 
 
 
 xi01 
x0   0 
 xi 
x0 
 i 1 
 
 0 
 x n 
Вектор x0 подставляем в формулу (*).
(Важна нумерация переменных).
Метод простой итерации состоит в том, что на каждом шаге в правую часть
системы (*) подставляем координаты вектора решения, полученные на предыдущем
шаге.
Зейдель заметил, что можно ускорить процесс за счет использования значений
координат нового приближения уже полученных на данном шаге. В этом случае
итерационная формула будет выглядеть так:
n
 ( k 1)
(k )
x


 1
1  1 j x j
j 1


n
 x ( k 1)     x ( k 1)   x k
 2j j
2
21 1
 2
j 2

......................
(**)
Алг оритм

i 1
n
метода Зейделя
 x ( k 1)     x ( k 1)   x ( k )
 ij j
i  ij j
 i
j 1
j i



n 1
 ( k 1)
x



  nj x (jk 1)   nn xn(k )
n
n


j 1
Обычно метод Зейделя, реализуемый по формулам (**) сходится быстрее, чем
метод простой итерации. Иногда даже он сходится и тогда, когда метод простой
итерации не сходится. Но это бывает не всегда, есть случаи, когда метод Зейделя
сходится хуже, чем метод простой итерации.
Метод Зейделя позволяет использовать информацию о приближении решения
уже на текущем шаге. Эффективность метода зависит от нумерации переменных.
11
Важным вопросом итерационных методов является вопрос об их сходимости.
Нас будут интересовать достаточные условия сходимости. Эти достаточные условия
обосновываются теоретически с помощью одного принципа функционального анализа
(см. дискретная математика!). Этот принцип называется принципом неподвижной
точки или принципом сжимающих отображений.
Повторим некоторое понятие ФА (функционального анализа). Пусть задано
произвольное множество Х, элементы этого множества x1 ,, x n это множество
называется метрическим пространством, если в нем введена метрика, то есть
( x, y ), x  X y  Х
Эта функция не отрицательная и действительная.
1. ( x1 , x2 )  0
1.
2. ( x1 , x2 )  0  x1  x2
3. ( x1 , x2 )  ( x2 , x1 )
4. ( x1 , x2 )  ( x1 , x3 )  ( x3 , x2 )
Введенные метрики позволяют ввести в метрическом пространстве понятие
сходимости последовательности.
xk   последовательность xk , счетное множество.
xk  x, если ( xk , x)  0
k 
Последовательность элементов метрического пространства называется
фундаментальной, если  N , что n  N , m  N( xn , xm )  
Если всякая фундаментальная последовательность данного метрического
пространства сходится к некоторому элементу этого пространства, то пространство это
называется полным.
Способ расширения пространства.
Пространство называется линейным, если выполняются следующие аксиомы:
1) Для любых 2-х элементов пространства существует их «сумма»,
которая так же принадлежит этому пространству. x1  x2  x2  x1
2) ( x1  x2 )  x3  x1  ( x2  x3 ) ассоциативность
 x    x  - это нейтральный элемент пространства.
3)
4) В данном пространстве определена операция умножения
элементов пространства на действительное число. x  Х ,   R, x  R
5) x  ( x), x  ( x)  
1,2,3,5 аксиомы говорят о том, что линейное пространство является
коммутативной группой или абелевой группой.
6) Теорема: 0 * x  
Нормированное пространство
Норма – это обобщение понятия модуля (тогда как метрика обобщение понятия
расстояние между элементами).
Норма вводится в линейном пространстве как функция из этого пространства
LR
12
Аксиомы.
1. x  0  норма х
2.
х  0  х   ( х  нейтральный элемент)
3.
х   * х
4. х  у  х  у
Нормированное пространство может стать метрическим, если положить
( х, у)  х  у
Оператор в линейном пространстве
A
L  L; y  Ax
Оператор называется линейным, если выполняются 2 условия:
1. аддитивность: A( x1  x2 )  Ax1  Ax2
2. однородность: A(x)   * Ax
Оператор называется непрерывным, если xn  x, Axn  Ax
( x, xn )  x  xn  0, Axn  Ax  0
Оператор называется ограниченным, если
x  L Ax  c x , где с некоторое неотрицательное число.
Норма оператора – это линейный оператор в линейном пространстве.
A  sup
Ax
x
xL
Геометрическая интерпретация A
13
норма шара
шар
Пример.
k (t , x)
b
y (t )  f (t )   k (t , z ) x( z )dz
a
max k (t , z )
Принцип сжатых отображений
или принцип неподвижной точки
Оператор А заданный в пространстве L называется сжимающим, если
( Ах, Ау)  ( х, у ) , где  - константа. 0    1 .  характеризует сжимающие свойства
оператора.
Теорема
Если сжимающий оператор А действует в полном метрическом пространстве, то
у него существует одна и только одна неподвижная точка.
При этом решение уравнения Ах=х может быть получено, как предел
последовательности х к  А k x0 , где х 0 - это любая точка пространства, А к - это к-тая
степень оператора А.
хк  х *
хк задается индуктивно
xk  Axk 1
Доказательство:
Последовательность хк является фундаментальной, тогда в силу полноты
пространства эта последовательность сходится, то есть имеет предел. Покажем, что
предел является неподвижной точкой оператора А, а так же что эта точка одна и другой
нет.
14
( Ах, Ау)  ( х, у )
( хк 1 , хk )  ( Axk , Axk 1 )  ( xk , xk 1 )
( хк , хl )  ( хк , хk 1 )  ( хк 1 , хk  2 )    ( хl 1 , хl )  ( k   k 1     l )( х1 , х0 ) 
( k 1   l )
 k 1

( x1 , x0 ) 
( x1 , x0 )
1 
1 
Так как k  l  N , то  k 1  0 , то есть последовательность фундаментальная.
В силу полноты пространства существует предел последовательности.
lim xk  x*
k 
Докажем, что этот предел - неподвижная точка. Рассчитаем расстояние между
Ax* , x *
( Ax* , x* )  ( Ax* , xk )  ( хk , x* )  ( Ax* , Axk 1 )  ( хk , x* )  ( x* , xk 1)  ( xk , x* )
( Ax* , x* )  0
Докажем, что точка единственная.
Пусть есть 2 неподвижные точки х * и х **
Ax*  x*
Ax**  x**
( Ax* , Ax** )  ( x* , x** )  ( Ax* , Ax** )
Вывод: уравнение х=Ах имеет единственное решение, если А – сжимающий
оператор. При этом решение уравнения есть предел последовательности хк
x *  lim
xk
k 
x k  Axk 1
k
(x , x ) 
 ( x1 , x0 ) (!)
1
Формула (!) позволяет при известных  и x 0 определить номер итерации на
k
*
котором выполняется необходимая точность.
k 
(1   )
( x, x0 )
к находим путем логарифмирования.
Практическое значение теоремы.
Если известен оператор А, то принципиально возможно определить величину  .
Если  <1, то можно пользоваться итерационным методом, а по формуле (!)
определить количество итераций.
Пусть мы имеем нормированное линейное пространство и нам известна норма
оператора А.
( Ax, Ay)  Ax  Ay  A( x  y )  A * x  y  A ( x, y )
A 1
Смысл: чтобы справа стоял оператор с нормой <1.
15
Виды норм матриц
1. Сферическая норма

i 1, n
j 1, n
aij2  A
A 1  max  aij
2.
i
j
Достаточные условия сходимости итерационного процесса:
1.  i
a
j 1, n
j i
2. max
i
 aii
ij
aij
a
j 1, n
j i
1
3.   2
i 1, n  aii
1
ii
n
a
j 1
2
ij

 1

Вывод: для применения итерационных методов усилие математика-вычислителя
направлено на то, чтобы привести уравнение к виду х=Ах с сжимающим оператором А.
Корректность постановки задачи
Общие условия постановки задачи сформулированы Адамаром.
Корректность по Адамару
1. Решение задачи существует.
2. Решение задачи единственно.
3. Решение задачи непрерывно зависит от исходных данных.
Применительно
к
СЛАУ
эти
условия
корректности
несколько
трансформируются. 3-е условие для СЛАУ заменяется условием количественного
характера, которое использует понятие обусловленности матрицы. Обусловленность
характеризует, насколько сильно растет погрешность решения при росте погрешности
данных. В случае СЛАУ данными являются коэффициенты матрицы и свободные
члены уравнения.
 - обусловленность.
  A A1  1
Ax  b
A
1

1
A
  100 (результат нормальный)
16
Если   1 , то матрица идеально обусловлена. Чем больше  , тем меньше
обусловловленность.
Обусловленность СЛАУ
Ах  b - уравнение в векторной форме.
b - известный вектор.
А – известная матрица.
Матрица А задана с точностью A , где  - это вариация, играет роль
дифференциала, но для вектора это матрица.
aij  aij0  aij
(Действия с  такие же как с дифференциалами).
b
bi  bi0  bi
Следует выяснить вопрос, как влияют вариации А и b на решение уравнения?
Следует поварьировать данное уравнение.
А х  А х  b
Если det A  0 , тогда уравнение можно решить относительно х.
х  Аb - результат решения уравнения в матричной форме, поварьируем и
это уравнение в результате получим:
 х  А1b  A1b
А * А1  Е
А1   А1 * А  А1А  0
А1   А1А * А1
Получим явное выражение решений через вариации самой матрицы и
правых частей.
А * А1 b  А1b
(*)
1
1
1
 х   А А * А b  А b
Равенство (*) показывает явную зависимость вариации решения СЛАУ и
вариации правых частей уравнения, то есть вариации b .
 x   A1 (A x  b)
 x  A1 ( A * x  b )
x
x
 A1 ( A 
b
x
)  A1 * (
A * A
A

b * A
b

ǽ  A1 * A (! )
ǽ(
A
A

b
b
)
 x  ǽ ( A  b ) (**)
17
ǽ - обусловленность матрицы СЛАУ. Большая ǽ приводит к большим
погрешностям.
Формула (**) показывает, что принципиально СЛАУ при условии det A  0
дает корректно поставленную задачу по Адамару.
Это косвенная погрешность, но нас интересует количественная погрешность, а у
Адамара ее нет. Количественно она может быть не приятна для нас. Это называется
плохой обусловленностью.
Однако это количественное свойство системы для вычислителя важно.
Количественная «корректность» или обусловленность СЛАУ.
Величина ǽ характеризует степень этой количественной не корректности. Если
бы ǽ была мала ( обычно в пределах ста, то есть не больше ста) можно было бы
утверждать на основании (*), что порядок погрешности решения не сильно превышает
порядок погрешности данных. Считается, что если ǽ >1000, то решение СЛАУ
обычными методами недостоверно.
Формула (**) имеет скорее теоретическое, чем практическое значение, так как
для оценки обусловленности по формуле (!) нужно знать норму обратной матрицы, то
есть находить обратную матрицу. Как сейчас было показано найти обратную матрицу,
значит решить многократно, то есть n раз СЛАУ с данной матрицей, а это уже дает
погрешность, получается замкнутый круг.
Решение плохо обусловленных систем
Плохо обусловленные системы решаются следующими методами:
1.
Повышают разрядность представления чисел в компьютере, но
повышение разрядности не может дать во всех случаях правильный ответ.
При этом преодолевается погрешность, связанная с округлениями расчетов, но
погрешность самих данных не устраняется.
2.
Применяют итерационные методы, которые более устойчивые по
отношению к погрешностям.
Происходит это следующим образом. Сначала методом Гаусса находится
приближенное решение, которое используется как начальное приближение для
итерационного метода. А итерационным методом уточняют решение.
3.
Методы регуляризации. Делают не корректную задачу корректной.
Регуляризация – это общий метод перехода от не корректной задачи к
корректной, построенный так чтобы по ее решению можно было судить о
решении некорректной задачи.
Для рассмотрения метода регуляризации СЛАУ необходимо вспомнить понятие
скалярного произведения.
Скалярное произведение – это функция 2-х векторных аргументов, при которой
выполняются следующие свойства:
Рассматриваем действительное векторное пространство. Есть два вектора (х1, х2).
1.
Для ( x1, x2 )  ( x2 , x1)
2.
( x1, x2 )  ( x1, x2 ) ,где  - это действительное число.
3.
( x, x)  0  ((( x, x)  0)  x  )
18
х  ( х, х )
Рассмотрим следующее скалярное произведение ( Ах, у) - билинейная форма.
n
n
i 1
j 1
n
n
( Ах, у)   ( aij x j ) yi   aij x j yi
i 1 j 1
Матрица В, для которой ( Ax, y )  ( x, By ) называется сопряженной и является
транспонированной.
( Ax, y)  ( x, A* y) , где А* для действительного пространства А*=АТ.
Сопряженный оператор
Пусть дан оператор А в Гильбертовом пространстве, тогда если для любых х, y
имеет место равенство ( Ax, y)  ( x, A* y) для какого-либо оператора А*, то этот
оператор эрмитовски сопряженный оператору А (А* или АН).
Если речь идет о вещественном Евклидовом пространстве, а это Гильбертово
пространство, то оператору соответствуют матрицы
А*=АН=АТ
аijH  aij*
Свойства эрмитовски-сопряженного оператора:
А*АН=АН*А
Полученная матрица может быть:
1. Вещественная
2. Симметричная
3. Положительно определенная, то есть не может принимать
отрицательных значений.
Матрица В называется положительно определенной, если x( Bx , x)  0 , причем
равенство достигается тогда, когда ( Bx , x)  0 , то есть ( Bx , x)  0  x  0
( Bx , x) - квадратичная форма.В координатной форме квадратичная форма будет
выглядеть следующим образом:
n
n
i
j 1
( Bx , x)   bij xi x j - квадратичная форма.
Метод регуляризации СЛАУ
Ах  b (1)
Ax  b  0
( Ax  b, Ax  b)  0
( Ax  b, Ax  b)  ( Ax, Ax)  ( Ax, b)  (b, Ax)  (b, b) 
Предположим, что это вещественное пространство, у которого скалярное
произведение коммутирует ( х, у )  ( у, х) , тогда можно сделать перестановку.
2
 ( АН Ах, х)  2( Ах, b)  b  0
19
слагаемые  ( x  x0 , x  x0 ), (причем   0 ) получим
( Ax  b, Ax  b)   ( x  x0 , x  x0 )  0 .
Параметр  выбираем не очень большим, в итоге получим лучше
обусловленную матрицу.
Не большую добавку к уравнению в виде скалярного произведения
 ( x  x0 , x  x0 ) мы сделали с целью «улучшения» матрицы СЛАУ с точки зрения ее
обусловленности в надежде на то, что:
1.
систему уравнений с новой матрицей можно будет решить точно.
2.
благодаря тому, что  -мало, а х 0 удастся выбрать близко к искомому
решению. Решение подправленной системы будет близко к решению исходной.
( х, A H Ax)  2( x, A H b)  (b, b)   ( x, x)  2 ( x, x0 )   ( x, x0 )  min
Продифференцируем уравнение и получим:
( A H A  E ) x  A H b  x0 (2)
Добавим некоторые
A  AH A
Вместо Ах  b (1) мы получили выражение (2). То есть вместо x  
b  A H b  x0
Метод регуляризации основан на переходе от выражения (1) с плохо
обусловленной, не симметричной матрицей к системе (2) с симметричной,
подправленной матрицей.
Замечание. Необходимо разумно выбирать параметр  и вектор x 0 . Если  велико, то мы получим матрицу близкую к диагональной, следовательно, хорошо
обусловленную. Но с другой стороны это совсем другая система уравнений.
Поэтому  следует выбирать достаточно большим, чтобы система СЛАУ (2)
была хорошо обусловлена, но мало бы отличалась от исходной.
Если х0=0, поступают следующим образом: берут произвольно х 0 и решается
система (2). Решение этой системы подставляется в (1) и получают невязку.
r  Ax  b
r  это ошибка.
Смотри норму вектора r ,то есть r
Если выполняется ниже записанное условие, то мы решаем систему уравнений.
r  b  A*
Если ошибка, то решать систему нет смысла. Если условие не выполняется, то
 надо уменьшить, а в качестве х0 взять r .
Аппроксимация функции
На практике значения функций находятся в результате каких то измерений,
экспериментов.
Аппроксимация применяется для того чтобы таблично заданную функцию
представить в аналитическом виде, то есть с помощью элементарных функций.
Виды аппроксимации:
1.
Интерполирование (в том числе с помощью сплайнов).
2.
Среднее квадратичное приближение (частный случай МНК).
20
Равномерное приближение.
3.
Интерполирование
Интерполирование имеет 2 недостатка:
1. При большом количестве узлов N порядок огромен, что иногда приводит к
труднопреодолимым вычислительным сложностям.
2. Так как табличные данные известны с небольшой точностью, то нет смысла
точно воспроизводить эти значения.
f(x)
(x)
Требования интерполяции:
( хi , уi ) (i  0, n)
z  f ( x)
i f ( xi )  y i
Среднее квадратичное приближение
N

i 1
2
i
 min
то есть отклонение должно быть минимальным.
 i   ( xi )  y ( xi )
21
Равномерное приближение
Это приближение, при котором минимизируется Чебышевское расстояние.
Требует близости аппроксимируемой и аппроксимизацией.
f(x)
max
a
b
max ( x )  у( x )
y(x)
максимальное отклонение должно быть минимально.
Интерполяция
Пусть дана сетка
х0 x1  xi  x n
y 0 y1  y i  y n
Следует построить функцию  ( xi )  yi , i  0, n (1).
 ( xi ) должно обладать количеством степеней свободы.
 ( x, a0 , a1 ,, an ) (2) количество параметров должно быть равно количеству
условий.
Сетка задается в виде таблицы, указанные узлы в которой должны выполняться
условия (1). Задача такая неоднозначная, но желательно и целесообразно во-первых,
подбирать ее в удобном для нас классе функций. Во-вторых, так чтобы она зависела от
минимального числа параметров.
Эти параметры определяют степени
свободы, используя которые (то есть, варьируя параметры) мы можем выполнить
условия (1). Ясно, так как этих условий n+1, то число степеней свободы тоже должно
быть n+1.
Таким образом, ищем функцию вида (2). Параметры а0 ,, аn могут входить не
линейно в функцию φ, но в частном случае линейно. В результате мы получаем не
линейную интерполяцию.
n
 ( х, а 0 ,  , а i , a n )   a i  i ( x )
(3)
i 0
Выражение (3) – общий вид линейной интерполяционной функции. Задача
состоит в следующем. Используется равенство (1), найти коэффициенты а0 ,, аn ,
входящие в выражение (3). При этом система функций { i ( x)} заранее выбирается
такой как нам удобно. Остается найти коэффициенты а i .
Условия, накладываемые на систему функций i (x) . Считаем сетку заданной, то
есть хi  x j , при i  j .
22
а0 0 ( х0 )  а11 ( х0 )    а n n ( х0 )  у 0


(4)
а0 0 ( хi )  а11 ( хi )    а n n ( хi )  yi


а0 0 ( х n )  а11 ( х n )    а n n ( х n )  y n
Решим систему (4) относительно коэффициентов. Необходимо и достаточно,
чтобы ее определитель был не равен нулю!
 0 ( x0 )  0 ( x0 )

 0 ( x1 )  n ( x1 )

0
(5)
 0 ( xn )  n ( x n )
Если условие (5) выполняется для решения х-ов, то система (3) называется
Чебышевской.
Выбор Чебышевской системы зависит от предметной области, либо
определяется удобством и привычкой математика.
Система функций i ( x)  x i (i  0, n)
1, x, x

2
,, x n (7)
Возникает вопрос: определитель отличен от нуля или нет?Определим это.
1 x0 x02  x0n

1 x1
x12  x nn
0

1 xn
(6) – определитель Ван дер Монда
x n2  x nn
n
Так как Pn ( x j )  b x j  xi , так как xi  x j , то Pn ( x j )  0
i 1
определитель Ван дер Монда не равен нулю следовательносистема функций (7)
Чебышевская, тогда мы с ней будем работать и можем построить интерполяционный
многочлен.
Замечание. Функция (3) будет представлять собой многочлен или полином
n
 ( x, a0 , a1 ,, ai ,, a n )   ai x i (8)
i 0
Общая задача интерполирования на основе формулы (3) называется Лагранжево
интерполирование.
Ее частным случаем является интерполяционный многочлен Лагранжа.
Пусть есть сетка
x0 x1  x n
(1)
y 0 y1  y n
Существует много методов построения интерполяционного многочлена.
Рассмотрим 2 метода:
1. ИМ Лагранжа
2. ИМ Ньютона
23
ИМ Лагранжа
Решим частную задачу, а именно построим многочлен для Li (x) .
x x  xi  x n
Для сетки 0 1
(1i)
0 0  1 0

x0
x1
xi
xn+1
xn
( x  x0 )( x  x1 ) ( x  xi ) ( x  xn )
( xi  x0 )( xi  x1 ) ( xi  xi )( xi  xn )
Так как скобок n-1, значит многочлен степени n.
j  i Li ( x j )  0
Li ( x) 
Li ( xi )  1
Возвращаемся к исходной сетке (1)
x0 x1  xi  x n
0 0  уi  y n
n
Ln ( x)   Li ( x) y j (1) – Лагранжев многочлен.
i 0
Пример.
х 0 1 2 5
у 1 3 2 5
24
( х  1)( х  2)( х  5)
( х  0)( х  2)( х  5)
( х  0)( х  1)( х  5)
*1 
*3 
*2 
(0  1)(0  2)(0  5)
(1  0)(1  2)(1  5)
(2  0)( 2  1)( 2  5)
( х  0)( х  1)( х  2)

*5 
(5  0)(5  1)(5  2)
( х  1)( х  2)( х  5) 3 х( х  2)( х  5) 2 х( х  1)( х  5) 5 х( х  1)( х  2)




 10
4
6
60
( х  1)( х 2  7 х  10) 3( х 2  7 х  10) х( х 2  6 х  5) х( х 2  3х  2)





 10
4
3
12
х 3  7 х 2  10 х  х 2  7 х  10 3х 3  21х 2  30 х х 3  6 х 2  5 х х 3  3х 2  2 х





 10
4
3
12
х 3  8 х 2  17 х  10 6 х 3  42 х 2  72 х х 3  8 х 2  17 х  10 х 3  7 х 2  12 х





 10
12
 10
2
4 х 3  27 х 2  43 х  10


10
 0.4 х 3  2.7 х 2  4.3 х  1
Достоинство ИМ Лагранжа в простоте построения.
Ln ( x )  2
Разделенные разности.
х
0
1
x
i
у
0
1
j
… x
x
j
y
i
x
k
y
… x
n
… y
y
k
… y
n
Дискретный аналог произведений -
у j  yi
x j  xi
Разделенные разности.
1-ая разделенная разность y ( x j , xi ) 
y ( x j )  y ( xi )
Это аппроксимация 1-ой производной.
2-ая разделенная разность y ( xi , x j , xk ) 
x j  xi
y ( xi , x j )  y ( x j , x k )
3-ая разделенная разность y ( xi , x j , x k , x m ) 
xi  x k
y ( xi , x j , x k )  y ( x j , x k , x m )
xi  x m
ИМ Ньютона
y ( x)  y ( x0 )  y ( x0 , x1 )( x  x0 )  y ( x0 , x1 , x2 )( x  x0 )( x  x1 ) 
 y ( x0 , x1 , x 2 , x3 )( x  x0 )( x  x1 )( x  x2 )  
Составим таблицу, демонстрирующую последовательность вычислений при
построении итерационного многочлена Ньютона:
25
x0
y(x0)
x1
y(x1)
x2
y(x2)
x3
y(x3)
y(x0, x1)
y(x0,x1, x2)
y(x1,x2)
y(x1,x2,x3)
y(x0,x1, x2, x3)
y(x2,x3)
y(x)  N(x)=y(x0)+y(x0, x1)(x- x0)+y(x0, x1, x2)(x- x0)(x- x1)+
+y(x0,x1, x2, x3)(x- x0)(x- x1)(x- x2)
Метод Горнера:
0
1
2
3
(уменьшение погрешностей)
yx 0   x  x 0 yx 0 , x1   x  x1 yx 0 , x1 , x 2   x  x 2 yx 0 , x1 , x 2 , x 3 
Пример.
0.000
0.500
-0.067
0.500
-0.016
3.600
-0.116
0.866
0.134
1.000
Интерполяция сплайнами
y i 1
x0
x1
x2
x i 1
xi
x i 1
yN
x N 1
xN
Главный недостаток интерполяции состоит в том, что с ростом числа узлов
растет порядок многочлена, что вызывает огромные иногда непреодолимые трудности.
Этот недостаток может быть преодолен при использовании интерполирования
сплайном.
Идея сплайна состоит в следующем:
Многочлен подбирается не единым образом для всего диапазона изменения
аргумента от x 0 до x1 , а индивидуально для каждого интервала ( x i 1; x i ). Степень
многочлена выбирается, как правило, либо 3 либо 5, при этом возникают
26
дополнительные степени свободы, поскольку количество условий меньше чем число
неизвестных коэффициентов многочленов. Эта свобода используется для «сшивания»
многочлена в узлах, чтобы в узлах совпадали не только значения самих многочленов,
но и значения первых и вторых производных. Касание второго порядка обеспечивает
гладкость соединений на всей кривой. Чтобы был ясен конечный результат, запишем
многочлен для i интервала.
i x   a i  bi x  x i 1   ci x  x i 1 2  d i x  x i 1 3
где x i 1  x  x i 1 , i  1, N
h i  x i  x i 1  - длинна i отрезка
yi 1  i x i 1   a i
Рассчитаем производные:
(1)
yi  a i  bi h i  ci h i2  d i h 3i
(2)
(3)
bi 1  bi  2ci h i  3di h i
(4)
сi 1  ci  3d i h i
Всего получено уравнений 4N-2.
1
x 0   c1  0;
2
1
N   c N  3d N h N  0.
2
Соединив уравнения воедино, получим систему уравнений, которая распадается;
одно из них - подсистема для определения c i .
c1  0,

(5)
hi 1ci 1  2hi 1  hi ci  hi ci 1  3 yi  yi 1  hi   yi 1  yi  2  hi 1 , 2  i  N
C
 N 1  0.
di 
dN
1  i  N 1
(6)
1 cN

;
3h N
bi 
bN
c i 1  c i
,
3h i
y i  y i 1 1
 h i c i 1  2c i ,
hi
3
y  y N 1 2
 N
 h NcN .
hN
3
1  i  N 1
(7)
Среднеквадратичная аппроксимация
Реализуется аппроксимация таблично заданной функцией, при этом снимается
ограничение на число узлов, а так же допускается совпадение значений аргументов
при разных значениях y.
Задано множество пар x i , y i , где i  1, N .
Если x i  x j  y i  y j i  j , но может быть и x i  x j , а y i  y j
27
Для заданной функции ищем зависимость в виде:
n
y  x    c j x j ,
j 0
где n выбирается удобной исследователю.
Задача состоит в нахождении ci так, что эта функция наиболее близко подходит
к экспериментальным данным.
Найдем погрешность, которая возникает при аппроксимации многочлена
x i , y i i .
 c0 
 
  c1 
С 

 
c 
 n
Требование среднеквадратичного приближения:
N

 С   x i   y i x ik 0

i 1


N  n

 С
  2  с j x ij  y i  x ik  0


С k
i 1  j0

N n

i 1 j0
c j x ij
 x ik
N

i 1
y i x ik
N
 N j k 


   x i c j   y i x ik
j0  i 1
i 1

n
n
 a kjc j  b k
(1)
j 0
N
a kj   x ii  k
i 1
N
bk  
i 1
(2)
y i x ik
Матрица коэффициентов a kj и b k - симметричная.
Решая последовательно систему (1) при коэффициентах (2) находим с j при
j  0, n .
Находим
коэффициенты
аппроксимации
многочлена
который
среднеквадратичным образом приближает таблично заданную функцию, этот метод
еще называется методом наименьших квадратов.
Метод наименьших квадратов – способность при оределенных условиях
устранять случайные погрешности измерений в результате которых получена таблица
данных, правда условия довольно жесткие и необходимо осмотреть статистику ошибок.
Замечание.
Рассмотрен лишь классический вариант метода наименьших квадратов,
существуют его модификации которые позволяют уточнять коэффициенты многочлена
в процессе получения новых данных – коэффициентов в реальном масштабе времени.
28
Численное дифференцирование и интегрирование
Замечание о численном дифференцировании:
Операция дифференцирования вообще технически некорректна, так как
неизбежная помеха измерений будет давать, как правило, преобладающий вклад в
производную.
В вычислительной математике поступают следующим образом:
На основании заданной сетки x i yi  строится интерполяционный многочлен, который
можно дифференцировать, при этом можно считать, что производная
интерполяционного многочлена имеет информацию о самой функции.
Численное интерпретирование
Численное интерпретирование является корректной задачей.
Численное интерпретирование применяется в том случае, когда имеется
таблично заданная функция, а подынтегральная функция не сводится к табличному
интегралу (не может быть проинтегрирована аналитически).
Постановка задачи и ее решение.
b
Пусть необходимо рассчитать интеграл:  f x x dx ,
a
где x  - весовая функция,
0  x ,
a
 x dx 1.
b
Подынтегральную функцию заменим аппроксимирующей функцией:
n
f x  
 f x i i x 
 r x  ,
i
1


обобщенный многочлен
где rx  - погрешность интерполирования.
Общий вид квадратурных функций:
b
n
a
i 1
b
b
 f x x dx   f x i  x i x dx   x rx dx
a 

приближенн ое значение
интегралла
a 

R  погрешность
интегрирования
Таблица распространенных квадратурных формул (при равноотстающих узлах)
Название
Формула
Погрешность R
формулы
29
Трапеции
h  x i 1  x i
1 
1
h  f 0  f1    f N 1  f N  ,
2 
2
b
R
1 2
h f x dx
12 a
где h  x i 1  x i
Симпсона
h
f 0  4f1  2f 2    4f N 1  f N 
3
b
h
R
f IV x dx

180 a
Геометрический смысл: по 3 точкам
строится парабола и берется интеграл от
параболы
Среднего
n
h  f i 1 2 ,
i 1
 x  x i 1 
где f i 1 2  f  i

2


Обобщенная
формула
Эллера
1  1
1
h  f 0  f1    f N 1  f N   h 2 f 0  f N 
2  12
2
b
1
R  h 2  f x dx
24 a
b
R
h4
f IV x dx

720 a
Процесс Эйткена
Методы численного интегрирования, характеризующиеся погрешностью.
Параметр погрешности является порядковым. Метод трапеции и среднего второго
порядка, два других четвертого.
Общий вид погрешности:
R  h p ,
чем меньше p тем лучше метод, так как h<1.
Пусть имеется некоторый метод интегрирования с неизвестным порядком
точности p. Эйткен предлагает 3 раза проинтегрировать функцию численным методом
при шаге интегрирования
h1  h ,
h 2  qh,
h 3  q 2 h.
F  F1    h p

p p
F  F2    q h

F  F1   2  q 2p h p

Полученные функции решают как систему уравнений относительно 3
неизвестных. Точно зная интеграл F1 порядка p т коэффициента  . Fi -значение
интеграла получено при шаге i.
30

F  F1 F  F3   F  F2 2


2  2
F  F1 
Формула для порядка: p  ln q 1 ln
F1  F3 2
2F2  F1  F3
F3  F1
.
F2  F1
Переменные пределы интегрирования
При расчете интеграла с переменным верхним пределом численным методом,
необходимо получить функцию заданную таблично исходя из таблично заданной
подынтегральной функции, которая также не задана таблично (может быть задана и
аналитически).
Есть функция f:
x1
x2
......
xN
f1
f2
......
fN
F1
F2
......
FN

Fx    f d
a
axb
1. Интерполируем f;
~
2. Интегрируем аналитически f, получаем Fx  ~ Fx  ;
3. Табулируем f:
x
~
табулир. ~
f  
 x   Fx    x dx   F
интегр .
a
Если функция f(x) задана аналитически, а не таблично, то интеграл не берется,
т.е. можем сначала табулировать f(x), интерполировать и интегрировать.
Несобственные интегралы
Несобственный интеграл с бесконечным верхним пределом интегрирования
В этом случае функция f(x) задана аналитически и заменой переменной
a
x
 z( t ) .
1 t
Приходим к конечному пределу интегрирования
31
1
 f zt dt .
0
Можно обрезать верхний предел


 f d  xlim
 f d

a
a

b

a
a
b
 f d   f d   f d

 f d  
b
Несобственный интеграл с разрывом функции (с полюсом)
b
Полюс – разрыв II рода в точке  f d ,
a
где f    при   c ( a  c  b )
b
b
a


a 


 d   d
численным
методом
b
  f  d
a
аналитичес ким
методом
a
b
В этом случае воспользуемся одним из методов:
1) Аддитивное выделение области полюса f     
Разбиение делается таким образом, что первый интеграл не содержит полюса, а второй
берется аналитически.
2) Мультипликативное выделение области полюса
Функция  представляется в виде произведения двух функций. x  - ограниченная
функция и она аппроксимируется с помощью обобщенного многочлена
b
b
n
a
a
i 1
 f d   d   a i J i
n
    a i i  
i 1
32
Метод статистических испытаний (Монте-Карло)
Рассмотрим два возможных способа расчета интегралов методом Монте-Карло.
Для этого удобно

 f d
(1)


 f d  1

Так как   0 можем рассматривать как плотность распространения случайной
величины  , тогда интеграл (1) можно рассматривать как мат.ожидание функции f 
распределенной с плотностью  . Такое разбиение неоднозначно.
g  f   f 
Ошибку расчета в данном случае естественно характеризовать дисперсией:
Df  

 f   Mf 
2


2



d  M f     f d  .


 

2
На основании предельной теоремы утверждаем, если  -случайная величина,
следовательно среднее арифметическое испытания случайной величины имеет вид
1 N
 N   i ,
N i 1
 N также является случайной величиной, с тем же мат.ожиданием что и 
MO  MO N  ,
причем при N   дисперсия имеет вид:
1
D N   D .
N
1 N
 f i  , мы все равно получим в
N i 1
результате искомый интеграл, но ошибка расчета будет стремиться к нулю, при
N   , на этом и основан метод Монте-Карло расчета интеграла.
Для реализации этого метода необходимо научиться размещать случайную
величину с заданной плотностью распределения  , используя стандартную
псевдослучайную величину, распределенную равномерно на отрезке (0;1), эту
случайную величину будем обозначать  .
Теорема:
Рассмотрим уравнение:
Вывод: если вместо Mf  искать M N  


   y dy
(2)

Пусть  есть случайная величина, распределенная равномерно на отрезке (0;1),
тогда  ,являющееся решением уравнения (2), так же случайная величина с плотностью
распределения  .
33
Доказательство:
Какова вероятность того, что
~
  
x
, x

dx
   x dx
A
~x  - искомая плотность распределения  .

по теореме
x  dx

о среднем

  dx

PA   P   d,  d    d

d  x dx ,




  x

~
тогда   x, x  dx  x dx  x dx
Вероятность того, что  попадет в отрезок [x,x+dx], то есть вероятность
события A в силу (2) равно вероятности попадания  в интервал
x  dx
x

   d,   d .
 




B
Так как  распределена равномерно с плотностью 1, то вероятность события B имеет
вид:
x  dx
B
   d ,
x
По теореме о среднем B  d , в силу непрерывности  и малости dx есть
x dx , то есть
~
x dx  x dx .
Уменьшение дисперсии
Разбиение подынтегральной функции g(x) на произведение f(x) и  (x)
неоднозначно, поэтому можно поставить задачу найти такое разбиение f x x  , при
котором D f   ,будет минимальна, а следовательно минимальной будет погрешность
расчета интеграла. Теоретически задача решается легче, практически сложнее.



 gx dx  I , где gx   f x x  .

(1)
Df   Mf 2  I  0


Таким образом, будем минимизировать Df 
g 
Mf    f  d  
d

Минимум Df  равносилен минимуму M f 2  .
2

2

2

Ищем вариацию.

2
2
 Df    0


g 2  
 2
 
    d  0
,
(2)
если варьировать
34




   d  1      d  0 .
(3)
Получим задачу условного экстремума,   ? .
Таким образом, нахождение  удовлетворяющему минимальной дисперсии,

следовательно минимальной погрешности расчета интеграла
 gx dx  I , равносильно

решению системы уравнений (2) и (3):
  g 2 
    d  0,
 
2
     
 

     d  0.
 
Решение:
g 2  
(4)
с
 2  
Очевидно решением системы является равенство (4), то есть
1
 2    g 2   ,
c
1
    g 
c
Если ограничения знакопостоянной g(x), то знак модуля можно убрать.
Если c выбрать из соображения нормировки и подставить  в формулу для
дисперсии интеграла (1), получим:


Df   M f  
2

 gx dx  0 .

Df   0 , это означает, что дисперсия не зависит от числа разыгрывания N
случайной величины.
1 N
I   f i  ;
N i
1
с погрешностью равной нулю I  f   .
1
Получается парадоксальная ситуация, оптимальное разбиение позволяет одним
расчетом подынтегральной функции f  абсолютно точно найти интеграл.
Чтобы разыграть  , решим уравнение:

    x dx 

Парадокс
объясняется
тем,
что

1
g  x dx
c 
для
случайной
величины
,

распространяющейся с плотностью  придется считать интеграл
 x dx и решать

уравнение относительно  для случайных  распределенных равномерно на отрезке
35

(0;1). Это требует уменьшения расчета интеграла
 gx dx
с той же подынтегральной

функцией, что и исходный интеграл, что приводит к зацикливанию, то есть задача как
бы не неразрешима.
Как быть?
На практике поступают следующим образом, стараются подобрать x  близкой
функции вида
1
 x  ~
 g x  ,
c

так, чтобы
 x dx
брался аналитически (то есть в квадратурах) и легко решается

относительно  .

  x dx  F ( )


Решаем
1
 x dx , где   F  .

Поскольку g(x) близко к идеальному, то дисперсия будет очень мала,
погрешность мала и мы получим небольшое число разыгрывания.
Уравнение F   легко разрешилось.
Алгоритм расчета интеграла по методу Монте-Карло

 g x dx  I

1. Подынтегральная функция разбивается на производные:
f x  и x  , где  - плотность.
2. Разыгрывается случайная величина  , получается достаточно длинная
последовательность случайных значений:
1 ,  2 ,,  i ,,  n
,
1 , 2 ,, i ,, n
Для каждой i 
i
 x dx , из i получаем i .

~ 1
3. I 
N
N
 f  
i
i
36
2-й способ применения метода Монте-Карло к расчету
определенных интегралов
Преимущество: применим к кратным интегралам и по любой области.
Идея способа основана на том, что вероятность попадания случайной точки
равномерно распределенной в единичном квадрате (в кубе) равна площади (объему)
фигуры в которую целились.
1
f (z)
 2i
 2i 1
1
b
Пусть необходимо рассчитать интеграл
 f x dx
путем замены переменных x и y.
а
Приводим интеграл к виду:
b
1
a
0
 f x dx   f z dz
.
0  f z   1
Следовательно, необходимо найти площадь заштрихованной области.
Генерируем случайную последовательность равномерно распределенную на
отрезке (0;1) случайной величины  ,
1 , 2 ,, 2i 1 , 2i ,, 2 N 1 , 2 N .
Разбиваем эту последовательность на пары, при этом получим точки с
координатами M i   2i 1 ,  2i  , которые равномерно распределены на единичном
квадрате.
Вероятность попадания точки в единичный квадрат – 1, а вероятность попадания
точки в заштрихованную область пропорциональна числу точек для которых
f  2i 1    2i . Поэтому имеем пропорцию:
N I
N

 I  .
N 1
N
Если необходимо рассчитать многомерный  интервал, то последовательность
случайных чисел разбивается на группы  +1.
37
Метод Монте-Карло для решения СЛАУ
СЛАУ приведем к такому виду, к которому стремились при применении
итерационных методов:

 
(1)
X  Ax  b
Будем считать что A  1 .
Достаточное условие сходимости итерационного процесса:
a ij  Pij Vij i, j  1, n ;

i

Vij 
a ij
Pij
.
n
0  Pij  1,  Pij  1 (!)
i 1

P11
P12
 P1n
P1n 1

Pi1

Pi 2
 
 Pin

Pin 1

Pn1
  
Pn 2  Pnn
Pnn 1

1
0
0
0

,
(2)
n
где Pin 1  1   Pij .
j 1
Матрицу П будем интерпретировать следующим образом:
Рассмотрим некоторую блуждающую частицу, которая может находиться в
конечном числе несовместных состояний; состояния назовем:
S1 , S 2 ,, S i ,, S n , Sn 1  Г
Pij - вероятность перехода блуждающей границы из состояния i в j. При этом
величина Pij матрицы П рассматривается как переход частицы из состояния i в j
(частица движется случайным образом).
Наглядное представление в виде графа:
P12
P21
S1
P1i
S2
P1 j
P2i
Si
Pin1
P2 j
Sj
Pjn11
Pin1
P2 n1
Г
38
Подобный процесс называется дискретной цепью Маркова с конечным числом
состояний, числа Pij называются переходными вероятностями, П – матрица переходов
(закон цепи).
Идея алгоритма СЛАУ с помощью цепи Маркова.
Пусть Si некоторое фиксированное состояние отличное от граничного, i>n+1.
Траектория Ti которая начинается на Si является случайной. Свяжем с ней
некоторую случайную величину которая определяется этой траекторией.


Ti  Sk 0 , Sk1, Sk 2 ,, Skm , Skm1  Г
 Ti   bk  Vk k bk  Vk k Vk k bk  Vk k Vk k 
0
0 1
1
0 1
1 2
2
0 1
1 2
,
(3)
 Vk2k3 bk3    Vk0k1Vk1k2 Vkm1km bkm
эта случайная величина однозначно определяется матрицей П и системой
уравнений (1).
Теорема:
Мат.ожидание случайной величины Ti  :
МX i   x i ,
X i  Ti 
Таким образом, идея нахождение некоторой компоненты решения СЛАУ xi
состоит в следующем:
Организуем N случайных блужданий частицы с матрицы П, начинающихся с
состояний Si. Затем по формуле (3) для каждой из N траекторий этого блуждания. Если
эти блуждания организованы таким образом, что случайная величина испытания
Ti  независимы и имеют ограниченную дисперсию, то в силу теоремы Чебышева при
достаточно большом N с вероятностью сколь угодно близкой к 1 будем иметь:
1 N
X i    Ti    ,
N i 1
где  - сколь угодно малая величина.
  0,
 PN , такое что выполняется
0  P 1
Остается выяснить как организовать блуждание частиц с матрицы П
располагающихся процедурой Random.
Pi1
Pi 2

Pij

Pin
Pin 1
Рассмотрим N экземпляров отрезков единичной длинны. Каждый из них,
например, i разобьем на интервалы длинны Pi1, Pi 2 ,, Pin , Pin 1 , это сделать
возможно, так как сумма этих величин равна единице. При разбиении траектории Ti
сначала обратимся к процедуре Random, при этом псевдо - значение случайной
величины попадает в некоторую точку i-го экземпляра. Если точка попала в j-й
интервал отрезка i , то считаем что частица перемещается из состояния Si в Sj .
Следующее значение Random числа будем рассматривать на единичном отрезке i и
при его попадании в интервал с номером M будем считать что из состояния Sj попали в
состояние SМ. так до тех пор пока на каком-либо отрезке не попадем в полученный
интервал. Таким образом, экземпляр Ti построен.
39
РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Начнем с решения одного уравнения.
Среди методов решения нелинейных уравнений простейшим является метод
деления отрезка пополам. Метод применяется если левая часть уравнения f(x)=0
является функцией непрерывно заданной на некотором отрезке, на концах которых
функция применяет значения разных знаков.
Метод Ньютона
f(x)=0
f x  x  x   0
,
f  x   f   x  x   0
где x - корень,  - точка между x и x.
Теперь на этой основе можно сделать метод Ньютона.
Формула Ньютона:
f x n 
x n 1  x n 
f x n 
Если начать приближение далеко от корня, то сходимость медленнее.
Геометрическая интерпретация метода:
F(x)
x
x1
x2
Метод Ньютона является основой для других методов, легко распространяется
на системы уравнений.
Недостатки: требует непрерывности, требует расчета производных.
Преимущества: простота, высокая точность распространяющаяся на систему
других уравнений.
Погрешность метода Ньютона.
Есть оценка xn- x , где xn- n-е приближение.
40
1
xn1  x 2   
2
Если n-1 интервал имеет 3 верных знака, следовательно близко к корню,
следующий имеет 6 знаков корня.
xn  x 
Метод секущих (метод хорд)
Заменим производную разделенной разностью:
f xn   f xn1 
f xn1  
xn  xn1
f x n x n  x n 1 
x n 1  x n 
f x n   f x n 1 
Метод относится к двухточечным.
Сходимость хуже, не линейная и не квадратичная, 1<степень<2.
Рассмотрим пример:
x= а

x2-a=0
По методу Ньютона:
x 2  a 2 xn2  xn2  a 1 
a
xn1  xn  n

  xn   .
2 xn
2 xn
2
xn 
Извлечем корень из 4, то есть a=4:
Приближение Метод
n
Метод
Ньютона секущих
0
1.0000
1.0000
1
2.5000
2.5000
3
2.0500
1.8571
4
2.0001
1.9836
Метод парабол
С его помощью можем находить комплексные корни квадратных
алгебраических уравнений.
Метод секущих можно рассматривать как замена функции f(x)
интерполяционным многочленом первой степени, проведенным по узлам xn и xn-1.
Метод парабол основан на замене интерполяционного многочлена 2-й степени по 3
узлам.
41
x3
x2
x1
x0
Преимущества: парабола точнее приблидает, очередное приближение может
стать комплексным, следовательно уровень нахождения комплексных значений.
Недостатки: линейные уравнения при действительных коэффициентах не могут
дать действительные корни.
Если интерпретация многочлена построена по 3 точкам, то функцию f(x) можем
заменить параболой M, следовательно, заменить решением квадратного уравнения. Это
говорит о том, что мы можем находить не только действительные корни, но и
комплексные.
Точность этого метода не квадратичный, а ниже (1,84), поскольку при его
реализации вместо производных используются 1-е и 2-е разделение разности.
Запишем для функции f(x) интерполяционный многочлен по формуле Ньютона:
f x   f xn   x  xn  f xn , xn1   x  xn x  xn1  f xn , xn1 , xn2  ,
сводится к системе:
az 2  bz  c  0

z  x  x n , c  f x n , a  f x n , x n 1 , x n  2 
b  a x  x   f x , x 
n
n 1
n n 1

Берется корень квадратного уравнения меньший по модулю, что соответствует
геометрической интерпретации.
f x 
x n 1  x 
6f x 
0.42
xn  x
1.84
Корни многочлена.
Метод парабол является исключительно эффективным для нахождения
многочлена высокой степени.
Надо решить уравнение:
a n x n  a n 1 x n 1    a1 x  a0  0
(1)
Известно, что это уравнение в поле комплексных чисел имеет n корней. Все
корни по абсолютной величине находятся в окружности следующего радиуса:
42
max  a0 , a1 , , a n1 
xp  1
an




R
Функцию (1) можно разложить:
n
a n  x  x P 
P 1
При нахождении корней методом парабол необходимо выбрать 3 приближения
x0, x1, x2. После нахождения первого корня необходимо перейти к многочлену меньшей
f x 
степени, т.е. f1 x  
. Эта операция называется операцией удаления найденных
x  x1
корней, что приводит при нахождении следующих корней к меньшим расчетам, т.к.
новый многочлен имеет наименьшую степень.
Замечание_1. Если F(x) многочлен высокой степени, то возникают трудности
связанные с возможным переполнением, поэтому обычно вводят масштабные
множители, которые связаны с диапазоном изменения аргументов.
Замечание_2. Наибольшие по модулю корни многочлена высокой степени очень
чувствительны к погрешности степени при старших степенях, поэтому сначала находят
меньшие по модулю корни (начальные приближения).
Замечание_3.
Чтобы
минимизировать
погрешность
округления
в
коэффициентах, надо стремиться сначала найти наименьшие по модулю корни, после
этого удалить их и получить многочлен меньшей степени (x0=-1, x1=0, x2=1).
Метод квадрирования
Метод позволяет найти все корни многочлена.
Запишем многочлен двумя способами:
n
Pn  x    a k x k
k 0
n
 a n   x  xl 
(1)
l 1
Формулы Виета:
n
 xk  
a n 1
;
an
 xkxl 
a n 2
;
an
k 1
k l

k lm
x k xlx m  
a n 3
;
an
Предположим, что корни упорядочены,
x1  x2  x3    xn ,
тогда формулы можно переписать:
(2)
43
x1  
a n1
;
an
x2  
an2
;
a n 1
xn  
a0
.
a1
(3)
На самом деле условие (2) не выполняется и функциями пользоваться нельзя.
Рассмотрим многочлен с теми же параметрами что (1), но со знаком минус.
n
n
~
(1’)
Pn x    (1) n  l a l x 2  a n  x  x l 
l 1
l 1
Перемножая эти многочлены, получим новый:
n

P2n x   a 2n  x 2  x l 2
l 1

У этого многочлена в большей степени будет выполняться условие (2).
44
Download