qrupdate

Atualiza uma fatoração QR após uma modificação de posto 1 da matriz.

Categoria: Mathematics > Linear Algebra

Sintaxe

[Q1, R1] = qrupdate(Q, R, u, v)

Retorna a fatoração de A + u*v', onde A = Q*R.

Descrição

Uma modificação de posto 1 u*v' pode ser absorvida na fatoração existente por uma sequência de rotações de Givens, em ordem de n^2 operações em vez de n^3 para uma nova fatoração.

O resultado é uma fatoração QR válida da nova matriz, mas seus sinais podem diferir de qr(A + u*v').

Argumentos de entrada

Q, R
Fatores de uma fatoração QR A = Q*R.
u, v
Vetores coluna; u tem tantas linhas quanto A e v tantas entradas quanto A tem colunas.

Argumentos de saída

Q1, R1
Fatores da matriz modificada A + u*v'.

Exemplo

Atualização de posto 1

A = magic(3);
[Q, R] = qr(A);
u = [1; 0; 0];
v = [0; 1; 0];
[Q1, R1] = qrupdate(Q, R, u, v);
norm(Q1*R1 - (A + u*v')) < 1e-10
Saída
ans = logical
   1

Veja também

qr qrinsert qrdelete cholupdate