Решение системы линейных алгебраических уравнений с помощью LU-разложения

LU-метод основан на том, что если главные миноры матрицы А отличны от нуля, тогда матрицу А можно представить, причем единственным образом, в виде произведения

А=LU,

где L–нижняя треугольная матрица с ненулевыми диагональными элементами и U–верхняя треугольная матрица с единичной диагональю.

Рассмотрим СЛАУ Ax=f.

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

A=LU

где

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

или

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Окончательно запишем

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Полагая Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru получим следующие рекуррентные формулы для вычисления элементов матрицы L и U

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (11)

Если найдены матрицы L и U, то решение исходной системы A=LU сводится к последовательному решению двух систем уравнений с треугольными матрицами

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

LU – метод позволяет вычислить определитель матрицы А

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

В среде MathLab разложение матрицы А на треугольные матрицы L и U осуществляется с помощью команды

[L,U,P]=lu(A),

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

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

Исходную систему (1) преобразуем к виду:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (12)

где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , i=1,2,...,n; Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , aii¹0.

Перепишем систему (12) в виде одного матричного уравнения:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (13)

Первая сумма равна нулю, если верхний предел суммирования меньше нижнего.

Так (12) при i=1 имеет вид

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Итерационный процесс (12) начинается с начальных значений Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , которые в общем случае задаются произвольно, но предпочтительнее, если за Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru взять свободные члены исходной системы, т.е Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . Подставляя начальные значения в правую часть выражения (12) и вычисляя полученное выражение находим первое приближение:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Подставляя приближение Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru в правую часть системы (12) получим:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

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

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ` (14)

В развернутой форме записи формула (14) выглядит так:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Условие окончания счета:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

где i= Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Теорема

Если какая-либо норма матрицы меньше единицы: Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , то уравнение (13) имеет единственное решение ξ, к которому стремится последовательность итераций (14) при любом выборе начального приближения Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Число итераций для достижения заданной точности ε определяется из неравенства:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . (15)

Неравенство (15) обычно дает завышенную оценку числа итераций k.

Условие, позволяющее принять приближение Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru в качестве решения с точностью ε, представляется в следующей форме:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . (16)

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

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

Прямой ход метода. Исключаем неизвестное Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru из всех уравнений, кроме первого. Для исключения Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru из 2-го уравнения вычисляют числа

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

где a и b такие, что Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

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

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . (17)

Здесь

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

где j= Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

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

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Аналогично для исключения Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru из третьего уравнения вычисляем числа

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru и Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

такие, что Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Затем первое уравнение системы (17) заменяем линейной комбинацией первого и третьего уравнений с коэффициентами Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , а третье уравнение системы (17) тоже заменяем линейной комбинацией с Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,– Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . Это преобразование эквивалентно умножению слева на матрицу

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

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

А(1) х=В,

где матрица A(1)=C1m…C13C12A, , а вектор правых частей Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Здесь и далее через Сkj обозначена матрица элементарного преобразования, отличающаяся от единичной матрицы Е только четырьмя элементами. Действие матрицы Сkj на вектор x эквивалентно повороту вектора x вокруг оси перпендикулярной плоскости Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru на угол Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru такой, что

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Операцию умножения на матрицу Сkj называют плоским вращением или преобразованием Гивенса.

Первый этап состоит из m-1 шагов, в результате чего получается система

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (18)

В матричной форме А(1) х=В(1).

На втором этапе, состоящем из m-2 шагов, из уравнений системы (2.7) с номерами 3,4,…,m исключают неизвестное х2. B результате получим систему

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

В матричной форме получаем Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

После завершения (m-1)-го шага придем к системе с верхней треугольной матрицей вида

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Обратный ход метода вращения проводится точно также как и для метода Гаусса.

Метод отражения

Метод отражения основан на преобразованиях Хаусхолдера. Алгоритм Хаусхолдера приводит n´n симметричную матрицу к трехдиагональной форме, за n–2 ортогональных преобразований. Каждое преобразование обнуляет необходимые части выбранного столбца и соответствующей строки. В этом методе QR-разложение матрицы A системы уравнений Ax = b

производится при помощи матриц отражения, которые имеют вид

U = E − 2wwT .

Здесь E – единичная матрица; w – n-мерный вектор единичной длины,
(w,w) = 1, а wwT – квадратная симметричная матрица:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru.

Следовательно, и матрица отражения 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 удовлетворяют условию Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , то есть Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , причем отрицательному собственному значению λ = −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).

Таким образом, векторы

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru или Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , (20)

где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , являются требуемыми компонентами матрицы отражения. Если векторы y и e параллельны, то отражения делать не надо (при этом Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru или Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru будут равны нулю).

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

Пусть A – квадратная матрица порядка n.

Приведем ее к правой треугольной форме путем последовательного умножения слева на ортогональные матрицы отражения. На первом шаге приведения в качестве вектора y рассмотрим первый столбец матрицы A:

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Если Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (i= 2,3,…,n), следует перейти к следующему шагу приведения, положив A(1) = A; U = E1 и обозначив Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru . В противном случае умножим матрицу A слева на матрицу отражения U1=En−2w1w1T, где w1 подбирается таким образом, чтобы вектор U1y1 стал параллелен вектору e1= [1, 0, 0, , 0]T, то есть в соответствии с формулами (19), (20). Здесь En – единичная матрица порядка n, а e1, y1 – n–мерные векторы. В результате такого преобразования в первом столбце матрицы A(1) все элементы, кроме первого, станут равными нулю.

На втором шаге приведения преобразуемым вектором является второй

столбец матрицы A(1) без первого члена

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Преобразование отражения выполняется умножением матрицу A(1) слева на матрицу

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

где Sn-1=En-1-2wn-1wn-1T – (n −1) -мерный вектор, вычисляющийся по формулам (19), (20). Тем самым обнуляются элементы второго столбца, расположенные ниже главной диагонали матрицы A(2) =U2 A(1).

Последующие шаги процесса приведения матрицы A проводятся аналогично. После выполнения k-го шага получается матрица A(k), все элементы которой, находящиеся ниже главной диагонали вплоть до k-го столбца матрицы, равны нулю: Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru при i>j, j=1,2,…,k.

Для выполнения (k +1) -го шага приведения преобразуем вектор

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru .

Если компоненты вектора Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru для (для 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 ), где Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Процесс этот всегда осуществим, и после (n −1) -го шага приходим к матрице

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru ,

имеющей правую треугольную форму. Обозначив через U произведение матриц вращения Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru , это выражение можно записать в виде 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 арифметических операций.

Метод квадратного корня

Метод квадратного корня по своему идейному содержанию близок к LU-методу. Основное отличие в том, что он дает упрощение для симметричных матриц.ID_1

Этот метод основан на разложении матрицы А в произведение

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

где S–верхняя треугольная матрица с положительными элементами на главной Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (22)

Из условия (2) получаются уравнения

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Так как матрица А симметричная, не ограничивая общности, можно считать, что в системе (23) выполняется неравенство i≤j. Тогда (23) можно переписать в виде

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

В частности, при i=j получится

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru (24)

Далее, при i<j получим

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

По формулам (24) и (25) находятся рекуррентно все ненулевые элементы матрицы S.

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

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решения этих систем находятся по рекуррентным формулам

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru

Всего метод квадратного корня при факторизации A=STS требует примерно Решение системы линейных алгебраических уравнений с помощью LU-разложения - student2.ru операций умножения и деления и m операций извлечения квадратного корня.

Наши рекомендации