Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания курсовой работе_!.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
584.7 Кб
Скачать

1.5 Метод вращения

Метод вращения, как и метод Гаусса состоит из прямого и обратного ходов.

Прямой ход метода. Исключаем неизвестное из всех уравнений, кроме первого. Для исключения из 2-го уравнения вычисляют числа

, ,

где  и  такие, что , .

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

. (17)

Здесь

где j= .

Преобразование системы (1) к системе (17) эквивалентно умножению матрицы A и вектора B слева на матрицу С12 вида

.

Аналогично для исключения из третьего уравнения вычисляем числа

и ,

такие, что .

Затем первое уравнение системы (17) заменяем линейной комбинацией первого и третьего уравнений с коэффициентами , , а третье уравнение системы (17) тоже заменяем линейной комбинацией с ,– . Это преобразование эквивалентно умножению слева на матрицу

.

Исключая неизвестное х1 из всех последующих уравнений получим систему

А(1) х=В,

где матрица A(1)=C1mC13C12A, , а вектор правых частей .

Здесь и далее через С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=En2w1w1T, где 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(n1)=UA, или A = QR, где Q =UT – ортогональная матрица, а R = A(n1) – правая треугольная матрица.

Решение системы Ax = b посредством метода отражения выполняется следующим образом. Умножив систему слева на последовательность матриц

отражения, сводим ее к виду с верхней треугольной матрицей

UAx =Ub Rx =Ub, или A(n1)x =Ub.

Если все диагональные элементы матрицы A(n1) отличны от нуля, то неизвестные xi для i = n, (n −1),…,1 находятся, как и в методе Гаусса, обычным обратным ходом. Если же хотя бы один из диагональных элементов

матрицы равен нулю, то система A(n1)x =Ub вырождена, и в силу эквивалентности вырождена и исходная система.

Этот метод в настоящее время считается одним из наиболее устойчи-

вых к вычислительной погрешности, но более трудоемок в сравнении с методом Гаусса. Для получения QR-разложения квадратной матрицы A порядка n общего вида требуется около (4 / 3)n3 арифметических операций.