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

Так называемые LU- и QR-разложения реализуются следующими матричными функциями:

Функция выражает любую квадратную матрицу X как произведение двух треугольных матриц, одна из которых (возможно, с перестановками) — нижняя треугольная матрица, а другая — верхняя треугольная матрица[ В MATLAB 6 аргументом (входным аргументом) функции lu может быть и полная прямоугольная матрица. — Примеч. ред. ]. Иногда эту операцию называют LR-разложением. Для выполнения этой операции служит следующая функция:

Функция qr выполняет QR-разложепие матрицы. Эта операция полезна для квадратных и треугольных матриц. Она выполняет QR-разложение, вычисляя произведение унитарной [ Квадратная матрица с комплексными элементами, обладающая тем свойством, что обратная матрица ее комплексно сопряженной матрицы равна транспонированной, т. е. (А*)''-А'. — Примеч. ред. ] матрицы и верхней треугольной матрицы. Функция используется в следующих формах: [ Квадратная матрица с комплексными элементами, обладающая тем свойством, что обратная матрица ее комплексно сопряженной матрицы равна транспонированной, т. е. (А*)''-А'. — Примеч. ред. ]

» C=rand(5.4)

С=

0.8381 0.5028 0.1934 0.6979

0.0196 0.7095 0.6822 0.3784

0.6813 0.4289 0.3028 0.8600 

0.3795 0.3046 0.5417 0.8537

0.8318 0.1897 0.1509 0.5936 

» [Q.R]=qr(C) 

Q=

-0.5922-0.11140.5197 0.0743 -0.6011

-0.0139-0.9278 -0.0011 -0.34480.1420

-0.4814-0.11730.0699 0.5940 0.6299

-0.2681-0.1525-0.82680.2632 -0.3898

-0.58770.2997 -0.2036-0.67340.2643 

R =

-1.4152    -0.7072    -0.5037    -1.4103

0     -0.7541    -0.7274    -0.4819

0     0     -0.3577    -0.4043

0    0    0     0.2573

0    0    0    0

Примеры:

» C=rand(3.3) 

С =

0.0164 0.0576 0.7176

0.1901 0.3676 0.6927

0.5869 0.6315 0.0841

» [Q.R]=qr(C) 

Q=

-0.0265-0.2416-0.9700

-0.3080-0.92120.2378

-0.95100.3051 -0.0500 

R =

-0.6171-0.7153-0.3123

0 -0.1599-0.7858

0 0 -0.5356 

» [Q1.R1]=qrdelete(Q.R.2) 

Q1 =

-0.02650.7459 0.6655

-0.30800.6272 -0.7153

-0.9510-0.22390.2131 

R1 =

-0.6171-0.3123

0     0.9510 

0     0

Примеры:

» C=rand(3.3) 

С =

0.1210 0.8928 0.8656

0.4508 0.2731 0.2324

0.7159 0.2548 0.8049 

» [Q,R]-qr(c)

 Q =

-0.14160.9835 0.1126

-0.52750.0213 -0.8493

-0.8377-0.17970.5157 

R =

-0.8546-0.4839-0.9194

0  0.8381 0.7116

0  0 0.3152 

» x=[0.5.-0.3.0.2];[Q2.R2]=qrinsert(Q.R.2,x') 

Q2 =

-0.14160.7995 -0.5838

-0.5275-0.5600-0.6389

-0.83770.2174 0.5010 

R2 =

-0.8546-0.0801-0.4839-0.9194

0 0.6112 0.6163 0.7369

0 0 -0.5681-0.2505