cholupdate

Atualização ou desatualização de posto um de um fator de Cholesky.

Categoria: Mathematics > Linear Algebra

Sintaxe

R1 = cholupdate(R, x)

Retorna o fator de Cholesky de R'*R + x*x'.

R1 = cholupdate(R, x, '-')

Retorna o fator de R'*R - x*x' (uma desatualização).

Descrição

Quando uma matriz muda por um termo de posto um, recalcular seu fator de Cholesky do zero custa da ordem de n^3 operações. cholupdate obtém o novo fator a partir do antigo com rotações planas em ordem de n^2 operações, o que compensa em algoritmos que incorporam uma amostra de cada vez.

A desatualização só é possível quando o resultado continua positivo definido; caso contrário, é gerado um erro.

Argumentos de entrada

R
Fator de Cholesky triangular superior.
x
Vetor coluna com size(R,1) elementos.
'-'
Seleciona a desatualização. O sinal padrão é '+'.

Argumentos de saída

R1
Fator triangular superior atualizado.

Exemplo

Somando x*x' a A = R'*R

A = [4 2; 2 3];
R = chol(A);
x = [1; 1];
R1 = cholupdate(R, x)
disp(norm(R1'*R1 - (A + x*x')) < 1e-12)
Saída
R1 = 2×2

    2.2361    1.3416
         0    1.4832
   1

Veja também

chol qrupdate qr lu