- •Задания и методические указания к выполнению курсовой работы по дисциплине «численные методы»
- •Саратов 2015
- •Теоретическая часть
- •1. Прямые методы решения систем линейных алгебраических уравнений
- •1.1 Метод Гаусса
- •Метод Гаусса с выбором главного элемента
- •Решение системы линейных алгебраических уравнений с помощью lu-разложения
- •1.4 Метод простой итерации решения систем линейных алгебраических уравнений
- •1.5 Метод вращения
- •В матричной форме получаем , где , .
- •1.6 Метод отражения
- •1.1.Метод квадратного корня
- •2. Порядок выполнения курсовой работы на эвм.
- •3. Отчет
- •4. Задания
- •5. Оформление кр
1.5 Метод вращения
Метод вращения, как и метод Гаусса состоит из прямого и обратного ходов.
Прямой
ход метода. Исключаем неизвестное
из всех уравнений, кроме первого. Для
исключения
из 2-го уравнения вычисляют числа
,
,
где
и
такие, что
,
.
Первое
уравнение системы заменяем линейной
комбинацией первого и второго уравнений
с коэффициентами
и
,а
второе уравнение такой же комбинацией
с
и -
.
В результате получим систему
. (17)
Здесь
где
j=
.
Преобразование системы (1) к системе (17) эквивалентно умножению матрицы A и вектора B слева на матрицу С12 вида
.
Аналогично
для исключения
из третьего уравнения вычисляем числа
и
,
такие,
что
.
Затем
первое уравнение системы (17) заменяем
линейной комбинацией первого и третьего
уравнений с коэффициентами
,
,
а третье уравнение системы (17) тоже
заменяем линейной комбинацией с
,–
.
Это преобразование эквивалентно
умножению слева на матрицу
.
Исключая неизвестное х1 из всех последующих уравнений получим систему
А(1) х=В,
где
матрица A(1)=C1m…C13C12A,
, а вектор правых частей
.
Здесь
и далее через Сkj
обозначена
матрица элементарного преобразования,
отличающаяся от единичной матрицы Е
только четырьмя элементами. Действие
матрицы Сkj
на вектор x
эквивалентно повороту вектора x
вокруг оси перпендикулярной плоскости
на угол
такой, что
,
.
Операцию умножения на матрицу Сkj называют плоским вращением или преобразованием Гивенса.
Первый этап состоит из m-1 шагов, в результате чего получается система
(18)
В матричной форме А(1) х=В(1).
На втором этапе, состоящем из m-2 шагов, из уравнений системы (2.7) с номерами 3,4,…,m исключают неизвестное х2. B результате получим систему
В матричной форме получаем , где , .
После завершения (m-1)-го шага придем к системе с верхней треугольной матрицей вида
,
где
.
Обратный ход метода вращения проводится точно также как и для метода Гаусса.
1.6 Метод отражения
Метод отражения основан на преобразованиях Хаусхолдера. Алгоритм Хаусхолдера приводит nn симметричную матрицу к трехдиагональной форме, за n–2 ортогональных преобразований. Каждое преобразование обнуляет необходимые части выбранного столбца и соответствующей строки. В этом методе QR-разложение матрицы A системы уравнений Ax = b
производится при помощи матриц отражения, которые имеют вид
U = E − 2wwT .
Здесь E – единичная матрица; w – n-мерный вектор единичной длины, (w,w) = 1, а wwT – квадратная симметричная матрица:
.
Следовательно, и матрица отражения U является симметричной, U =UT. Более того, матрица U ортогональна, то есть UT =U −1 , действительно:
UUT = (E − 2wwT )(E − 2wwT )T = E − 2wwT − 2wwT + 4wwT wwT = E ,
поскольку wTw = (w,w) = 1.
Так
как U симметрична
и ортогональна, U2
=UUT
= E
, собственные
числа матрицы U
удовлетворяют
условию
,
то есть
,
причем отрицательному собственному
значению λ
= −1
соответствует собственный вектор w:
Uw = λw = Ew − 2wwT w = w − 2w = −w = (−1)w → λ = −1.
Положительному собственному значению λ = 1 соответствуют все векторы, ортогональные вектору w. Если произвольный вектор v ортогонален вектору w, то есть (v,w) = 0, то
Uv = Ev − 2wwT v = v − 2w(w,v) = v .
Рассмотрим действие матрицы U на произвольный вектор y, который представим в виде суммы двух ортогональных компонент: y = z + v . Компонента z направлена вдоль вектора w и является проекцией y на w: z = dw, d = (y,w), а компонента v ортогональна этому вектору: (v,w) = 0, и равна v = y −(y,w)w. Тогда
Uy =U(z + v) = E(z + v) − 2wwT(z + v) = z + v − 2wwT z − 2wwTv =
= z + v − 2wwTdw = z + v − 2z = −z + v .
Таким образом, вектор Uy является зеркальным отражением вектора y относительно плоскости, ортогональной вектору w. Используя это свойство матрицы отражения, можно подобрать вектор w таким, чтобы исходный вектор y ≠ 0 в результате отражения Uy получил направление некоторого заданного единичного вектора e. В результате отражения получается вектор
Uy =αe или Uy = −αe , α = (y,y), (19)
поскольку при ортогональных преобразованиях длины векторов сохраняются (U – ортогональная матрица). Направление, перпендикулярное к плоскости отражения, будет определяться вектором (y −αe) или вектором (y +αe).
Таким образом, векторы
или
,
(20)
где
,
,
являются требуемыми компонентами
матрицы отражения. Если векторы y
и e
параллельны,
то отражения делать не надо (при этом
или
будут равны
нулю).
Покажем, что произвольную квадратную матрицу можно представить в виде произведения ортогональной и правой (верхней) треугольной матриц.
Пусть A – квадратная матрица порядка n.
Приведем ее к правой треугольной форме путем последовательного умножения слева на ортогональные матрицы отражения. На первом шаге приведения в качестве вектора y рассмотрим первый столбец матрицы A:
.
Если
(i=
2,3,…,n),
следует перейти к следующему шагу
приведения, положив A(1)
= A;
U =
E1
и обозначив
.
В противном случае умножим матрицу A
слева на
матрицу отражения U1=En−2w1w1T,
где w1
подбирается
таким образом, чтобы вектор U1y1
стал параллелен вектору e1=
[1, 0, 0, , 0]T,
то есть в соответствии с формулами (19),
(20). Здесь En
– единичная
матрица порядка n,
а e1,
y1
– n–мерные
векторы. В результате такого преобразования
в первом столбце матрицы A(1)
все элементы, кроме первого, станут
равными нулю.
На втором шаге приведения преобразуемым вектором является второй
столбец матрицы A(1) без первого члена
.
Преобразование отражения выполняется умножением матрицу A(1) слева на матрицу
,
где Sn-1=En-1-2wn-1wn-1T – (n −1) -мерный вектор, вычисляющийся по формулам (19), (20). Тем самым обнуляются элементы второго столбца, расположенные ниже главной диагонали матрицы A(2) =U2 A(1).
Последующие
шаги процесса приведения матрицы A
проводятся
аналогично. После выполнения k-го
шага получается матрица A(k),
все элементы которой, находящиеся ниже
главной диагонали вплоть до k-го
столбца матрицы, равны нулю:
при i>j,
j=1,2,…,k.
Для выполнения (k +1) -го шага приведения преобразуем вектор
.
Если
компоненты вектора
для (для i
=(k+2),
(k
+3),…,n),
получаем A(k+1)
= A(k
);
Uk+1
= En
и переходим
к следующему шагу. В противном случае
строим матрицу отражения
Sk+1=En-k-2wk+1wk+1T
(вектор wk+1 и матрица Sk+1 порядка ( n − k )) для преобразования вектора yk+1 в вектор, параллельный вектору ek+1= [1, 0, 0, , 0]T (длины ( n − k )), и переходим от матрицы A(k ) к матрице A(k+1):
A(k+1)
= Uk+1A(k
),
где
Процесс этот всегда осуществим, и после (n −1) -го шага приходим к матрице
,
имеющей
правую треугольную форму. Обозначив
через U
произведение
матриц вращения
,
это выражение можно записать в виде
A(n−1)=UA,
или A =
QR,
где Q =UT
– ортогональная
матрица, а R
= A(n−1)
– правая треугольная матрица.
Решение системы Ax = b посредством метода отражения выполняется следующим образом. Умножив систему слева на последовательность матриц
отражения, сводим ее к виду с верхней треугольной матрицей
UAx =Ub Rx =Ub, или A(n−1)x =Ub.
Если все диагональные элементы матрицы A(n−1) отличны от нуля, то неизвестные xi для i = n, (n −1),…,1 находятся, как и в методе Гаусса, обычным обратным ходом. Если же хотя бы один из диагональных элементов
матрицы равен нулю, то система A(n−1)x =Ub вырождена, и в силу эквивалентности вырождена и исходная система.
Этот метод в настоящее время считается одним из наиболее устойчи-
вых к вычислительной погрешности, но более трудоемок в сравнении с методом Гаусса. Для получения QR-разложения квадратной матрицы A порядка n общего вида требуется около (4 / 3)n3 арифметических операций.
