As mais bem conhecidas implementações modernas de propósito geral dos métodos quasi-Newton para a resolução de sistemas não lineares grandes têm base nas fórmulas de correção de posto um como BGM, BBM, COLUM e ICUM. Como essas fórmulas de correção são implementadas?

Passo 1

Estamos tratando de métodos quasi-Newton para resolver F(x)=0 em grandes sistemas não lineares. A cada iteração temos um par
s_k = x_{k+1}-x_k, \quad y_k = F(x_{k+1})-F(x_k)
e queremos atualizar nossa aproximação da jacobiana J_k (ou de sua inversa H_k) de forma a satisfazer a condição de secante
(J_{k+1}-J_k)\,s_k \;=\; y_k - J_k\,s_k
usando correções de posto um, do tipo
J_{k+1} = J_k + \frac{(y_k - J_k s_k)\,v_k^T}{v_k^T s_k}
ou, no caso da aproximação inversa,
H_{k+1} = H_k + \frac{(s_k - H_k y_k)\,w_k^T}{w_k^T y_k}\,.

Passo 2

Broyden “bad” method (BBM) escolhe
v_k = s_k
de modo que
J_{k+1} = J_k + \frac{(y_k - J_k s_k)\,s_k^T}{s_k^T s_k}\,.

Passo 3

Broyden “good” method (BGM) trabalha na inversa e escolhe
w_k = y_k
de modo que
H_{k+1} = H_k + \frac{(s_k - H_k y_k)\,y_k^T}{y_k^T y_k}\,.

Passo 4

Column update method (COLUM) usa a métrica trazida por H_k, escolhendo
v_k = \frac{H_k\,s_k}{s_k^T H_k s_k}
e obtém
J_{k+1} = J_k + \frac{(y_k - J_k s_k)\,(H_k s_k)^T}{s_k^T H_k s_k}\,.

Passo 5

Inverse column update method (ICUM) é o análogo que atualiza H_k usando a métrica de J_k. Define
w_k = \frac{J_k\,y_k}{y_k^T J_k y_k}
e faz
H_{k+1} = H_k + \frac{(s_k - H_k y_k)\,(J_k y_k)^T}{y_k^T J_k y_k}\,.

Resposta

BBM:
J_{k+1} = J_k + \frac{(y_k - J_k s_k)\,s_k^T}{s_k^T s_k}.
BGM:
H_{k+1} = H_k + \frac{(s_k - H_k y_k)\,y_k^T}{y_k^T y_k}.
COLUM:
J_{k+1} = J_k + \frac{(y_k - J_k s_k)\,(H_k s_k)^T}{s_k^T H_k s_k}.
ICUM:
H_{k+1} = H_k + \frac{(s_k - H_k y_k)\,(J_k y_k)^T}{y_k^T J_k y_k}.