qrdelete

Удалите столбец или строку от QR-факторизации

Синтаксис

[Q1,R1] = qrdelete(Q,R,j)
[Q1,R1] = qrdelete(Q,R,j,'col')
[Q1,R1] = qrdelete(Q,R,j,'row')

Описание

[Q1,R1] = qrdelete(Q,R,j) возвращает QR-факторизацию матричного A1, где A1 isa со столбцом A(:,j) удаленный и [Q,R] = qr(A) QR-факторизация A.

[Q1,R1] = qrdelete(Q,R,j,'col') совпадает с qrdelete(Q,R,j).

[Q1,R1] = qrdelete(Q,R,j,'row') возвращает QR-факторизацию матричного A1, где A1 isa со строкой A(j,:) удаленный и [Q,R] = qr(A) QR-факторизация A.

Примеры

A = magic(5);
[Q,R] = qr(A);
j = 3;
[Q1,R1] = qrdelete(Q,R,j,'row');

Q1 =
    0.5274   -0.5197   -0.6697   -0.0578
    0.7135    0.6911    0.0158    0.1142
    0.3102   -0.1982    0.4675   -0.8037
    0.3413   -0.4616    0.5768    0.5811

R1 =
   32.2335   26.0908   19.9482   21.4063   23.3297
         0  -19.7045  -10.9891    0.4318   -1.4873
         0         0   22.7444    5.8357   -3.1977
         0         0         0  -14.5784    3.7796

возвращает допустимую QR-факторизацию, несмотря на то, что возможно отличающийся от

A2 = A;  
A2(j,:) = [];
[Q2,R2] = qr(A2)

Q2 =
   -0.5274    0.5197    0.6697   -0.0578
   -0.7135   -0.6911   -0.0158    0.1142
   -0.3102    0.1982   -0.4675   -0.8037
   -0.3413    0.4616   -0.5768    0.5811

R2 =
  -32.2335  -26.0908  -19.9482  -21.4063  -23.3297
         0   19.7045   10.9891   -0.4318    1.4873
         0         0  -22.7444   -5.8357    3.1977
         0         0         0  -14.5784    3.7796

Алгоритмы

qrdelete функционируйте использует ряд вращений Givens, чтобы обнулить соответствующие элементы факторизации. [1]

Ссылки

[1] Golub, Джин Х. и Чарльз Ф. ван Лоун. Матричные Расчеты. 4-й редактор Балтимор, MD: Johns Hopkins University Press, 2013, Разделы 6.5.2–6.5.3, стр 335–338.

Смотрите также

| |

Представлено до R2006a