MÉTODOS NUMÉRICOS PARA EQUAÇÕES DIFERENCIAIS PARCIAIS 2- Resolução de Sistemas Não-lineares. 2.1- Método de Newton. 2.2- Método da Iteração. 3.3- Método do Gradiente. 2- Sistemas Não Lineares de Equações Considere um sistema não linear de n equações com n incógnitas. f1 ( x1, x2 ,L , xn ) = 0 f1 x1 f x f ( x , x , L , x ) = 0 2 1 2 n 2 2 f(x) 0 f x ou = com = e = (1) M M LLLLLLLL f n ( x1, x2 ,L , xn ) = 0 fn xn Note que como caso particular podemos ter um sistema linear de equações algébricas: f1 ( x1 , x2 ,L , xn ) = a11 x1 + a12 x2 + L a1n xn − b1 = 0 f 2 ( x1 , x2 ,L , xn ) = a21 x1 + a22 x2 + L a2 n xn − b2 = 0 ou Ax − b = 0 LLLLLLLLLLLLLLLLLLL f n ( x1 , x2 ,L , xn ) = an1 x1 + an 2 x2 + L ann xn − bn = 0 2.1- Método de Newton Considere um sistema não linear de n equações com n incógnitas. f1 ( x1, x2 ,L , xn ) = 0 f1 x1 f x L f ( x , x , , x ) = 0 2 1 2 n 2 2 ou f(x) 0 com f e x (1) = = = M M LLLLLLLL f n ( x1, x2 ,L , xn ) = 0 fn xn Resolveremos este problema com aproximações sucessivas. k k k k Seja a aproximação k com x = ( x1 , x2 ,L , xn ) sendo uma das k k k k k k raízes de x com erro ∆x = ( ∆x1 , ∆x2 ,L , ∆xn ). Logo x = x + ∆x . f(x k + ∆x k ) = 0 (2) Supondo que f(x) é continuamente diferenciável num domínio k convexo que contem x e x podemos expandir a função em k série de potencia entorno do ponto x e desprezamos as potencias maiores que 1 (termos não lineares). 2.1- Método de Newton Linearização do sistema (2). f(x) = f(xk + ∆xk ) ≈ f(xk ) + f '(xk )∆xk = 0 (3) ou ∂f1 ∂f1 ∂f1 k k k k k k f ( x ) ≈ f ( x , x , L , x ) + ∆ x + ∆ x + L + ∆ x 1 1 1 2 n 1 2 n =0 ∂x1 xk ∂x2 xk ∂xn xk f (x) ≈ f ( x k , x k ,L , x k ) + ∂f 2 ∆x k + ∂f 2 ∆x k + L + ∂f 2 ∆x k = 0 n n 2 1 2 1 2 2 ∂ x ∂ x ∂ x 1 xk 2 xk n xk LLLLLLLLLLLLLLLLLLLLLLLLLLLL ∂f n ∂f n ∂f n k k k k k f n (x) ≈ f n ( x1 , x2 ,L , xn ) + ∆x1 + ∆x2 + L + ∆xnk = 0 ∂x1 xk ∂x2 xk ∂xn xk Devemos entender f '(x) como sendo a matriz Jacobiana das funções f1 , f 2 ,L, f n com respeito as variáveis x1 , x2 ,L, xn . 2.1- Método de Newton ∂ f1 ∂x 1 ∂f 2 f '(x) = W (x) = ∂ x1 L ∂f n ∂ x1 ∂ f1 ∂x2 L ∂f 2 ∂x2 L L ∂f n ∂x2 L L ∂ f1 ∂xn ∂f 2 ∂xn L ∂f n ∂ x n O sistema (3) é um sistema linear da forma: ∂ f1 f1 ( x ) ∂ x1 x k f ( x k ) ∂f 2 2 + ∂ x1 x k M L f n ( x k ) ∂ f n ∂ x1 x k k ∂ f1 ∂ x2 ∂f 2 ∂ x2 L xk L xk L ∂f n ∂ x2 L L xk ∆ x1k xk ∂f 2 k ∆ x2 = 0 ou f(x k ) + W (x k ) ∆ x k = 0 ∂xn x k L M ∂f n k ∆ xn ∂ x n x k ∂ f1 ∂xn 2.1- Método de Newton k W(x ) é não singular, então possui inversa e segue Se a matriz W(x k ) −1[f(x k ) + W(x k )∆x k ] = 0 ⇒ ∆x k = − W(x k ) −1 f(x k ) logo x k +1 = x k + ∆x k = x k − W(x k ) −1 f(x k ) com k = 0,1,2,... Para a aproximação zero podemos escolher x 0 como um valor estimado grotescamente para a raiz procurada. Este é o Método de Newton e note que devemos calcular a matriz inversa em cada passo: x k +1 = x k − W(x k ) −1 f(x k ) . Se a matriz inversa W(x) −1 é continua na vizinhança da solução procurada x* e a aproximação inicial x 0 é suficientemente perto de x*, então podemos fazer a seguinte aproximação para obter o Método de Newton Modificado: W(x k ) −1 ≈ W(x 0 ) −1 x k +1 = x k − W(x 0 ) −1 f(x k ) 2.1.1- Existência de Raiz do Sistema e Convergência do Método de Newton Teorema 1: Seja um sistema não linear de equações com coeficientes reais, onde as funções f(x) são definidas e continuas junto com suas derivadas parciais de primeira e segunda ordem num domínio Ω . Ou seja, f(x) ∈ C 2 (Ω) . f1 x1 f x f(x) = 0 com f = 2 e x = 2 M M fn xn 0 0 Suponha x 0 e o fecho de sua vizinhança V (x ) = x − x m ≤ ∆x ⊂ Ω serem pontos de Ω, onde m é a m-norma e as seguintes condições serem válidas: { } 0 1) A matriz Jacobiana W(x) em x tem inversa W(x 0 ) −1 e 0 −1 W(x ) ≤ A0 , com W(x ) 0 m m 1 = max i det( W(x 0 )) n ∑W j =1 ij , W ij são os cofatores do elemento Wij 2.1.1- Existência de Raiz do Sistema e Convergência do Método de Newton 2) W(x 0 )−1 f(x 0 ) ≤ B0 ≤ ∆x , m 2 n 3) ∑ k =1 ∂ 2 fi (x) ≤ C com (i, j = 1,L , n ) e x ∈ V (x 0 ), ∂ x j ∂ xk 4) as constantes A0 , B0 e C satisfazem a desigualdade µ 0 = 2nA0 B0C ≤ 1. p +1 p p −1 p x = x − W(x ) f(x ), p = 0,1, 2,... Então o Método de Newton converge para esta escolha de aproximação inicial x 0 e x* = lim x p é a solução do sistema f(x) = 0 tal que p →∞ x* − x 0 m ≤ 2B0 ≤ ∆x. Note que, sempre que sejam verificadas todas as hipóteses do teorema o método * de Newton converge para uma solução x 0 que é raiz do sistema na vizinhança de x . 2.1.1- Existência de Raiz do Sistema e Convergência do Método de Newton 2 Note que, se f(x) ∈ C (Ω) e o sistema f(x) = 0 tem em Ω uma * solução x segue que f(x* ) = 0 e W(x* ) ≠ 0 e as condições do teorema são válidas para qualquer ponto x 0 suficientemente perto de x*. Por outro lado, para que a condição 2) seja válida é importante observar que B0 fornece uma estimativa da diferença entre as aproximações primeira e inicial. Desta forma podemos verificar rapidamente se esta desigualdade é verificada assim que a primeira aproximação seja calculada: 2) 0 −1 0 W(x ) f(x ) = x −x 1 m 0 m ∆x ≤ B0 ≤ . 2 Também, podem ser obtidos resultados de convergência análogos aos anteriores para o caso em que a norma ou . considerada é l k 2.1.1- Existência de Raiz do Sistema e Convergência do Método de Newton Definição de Taxa de Convergência para os Métodos iterativos: * Dizemos que um método iterativo converge para a solução x com taxa de convergência de ordem Q se a seguinte desigualdade se verifica ∀ k > k x k +1 − x * específica onde c não depende de Taxa de Convergência Computacional ρ = ln ln ≤ c x k − x * Q específica x k. k + 1 x x x k x k k −1 − x − x * − x * * específica específica − x específica * específica 2.1.2- Unicidade da Solução do Método de Newton e Taxa de Convergência e Estabilidade. Teorema 2: Se as condições 1) a 4) do Teorema 1 são verificadas, então existirá no domínio x − x 0 m ≤ 2B0 ≤ ∆x uma única solução do sistema f(x) = 0 . Teorema 3: Se as condições 1) a 4) do Teorema 1 são verificadas, então a seguinte desigualdade se verifica para as p x aproximações sucessivas x* − x p m 1 ≤ 2 p −1 ( µ 0 ) 2 p −1 ( B0 ) * * onde x é a solução do sistema f(x ) = 0 e µ 0 = 2nA0 B0C ≤ 1. Falta algum resultado que garanta a estabilidade da convergência do Método de Newton quando varia a escolha da aproximação inicial! 2.1.2- Unicidade da Solução do Método de Newton e Taxa de Convergência e Estabilidade. Teorema 4: Se as condições 1) a 4) do Teorema 1 são verificadas e 2 B 0 C ≤ ∆x onde µ 0 = 2nA0 B0C < 1, então o Método µ0 * de Newton converge para sua única solução x do sistema f(x) = 0 no domínio x − x 0 m ≤ 2B0 ≤ ∆x para qualquer escolha da aproximação inicial x 0 que pertença ao domínio x% 0 − x 0 ≤ 1 − µ 0 B0 . 2µ 0 m Note que se 2B0 < ∆x e µ 0 < 1 então para a aproximação inicial x 0 sempre há uma vizinhança e qualquer ponto desta vizinhança pode ser escolhido como aproximação inicial para que o Método * de Newton seja convergente para a solução procurada x . Suponha 2 B0 < 2qB0 = ∆x com q > 1 fixe µ 0* = max( µ 0 ,1/ q ) logo pelo 0 % teorema 1 e 4 o Método de Newton para qualquer aproximação inicial x 0 que verifique a condição x% − x 0 m 1 − µ 0* ≤ B0 será convergente para x* . 2 µ0 2.1.3- Exemplo 2 pag. 462 do Demidovich Use o Método de Newton para encontrar a solução aproximada positiva do sistema de equações: x 2 + y 2 + z 2 = 1 2 2 2 x + y − 4z = 0 3x 2 − 4 y + z 2 = 0 começando com a aproximação inicial x0 = y0 = z0 = 0.5. 2 2 2 f ( x , y , z ) = x + y + z −1 = 0 1 Solução: Nosso sistema é 2 2 f ( x , y , z ) x y = 2 + − 4z = 0 M é to d o d e N e w to n 2 2 2 x k +1 = x k − W (x k ) −1 f (x k ) f ( x , y , z ) 3 x 4 y z = − + =0 3 W (x) = ∂ f1 ∂x ∂f2 ∂x ∂f3 ∂x ∂ f1 ∂y ∂f2 ∂y ∂f3 ∂y ∂ f1 ∂z ∂f2 ∂z ∂f3 ∂z Para executar cada aproximação devemos calcular em cada passo f (x k ), W (x k ) e W (x k ) −1 2.1.3- Exemplo 2 pag. 462 do Demidovich 2 2 2 f ( x , y , z ) = x + y + z −1 = 0 Solução: Nosso sistema é 1 2 2 f ( x , y , z ) = 2 x + y − 4z = 0 x0 = y0 = z0 = 0.5. 2 2 2 = − + =0 f ( x , y , z ) 3 x 4 y z 3 0 0 0 2 2 2 f ( x , y , z ) = (0.5) + (0.5) + ( 0.5) − 1 = −0.25 −0.25 1 0 f (x ) = −1.25 = f 2 ( x 0 , y 0 , z 0 ) = 2(0.5) 2 + (0.5)2 − 4(0.5) = −1.25 −1.00 f 3 ( x 0 , y 0 , z 0 ) = 3(0.5) 2 − 4(0.5) + (0.5) 2 = −1.00 2 x W (x) = 4 x 6 x W (x 0 ) − 1 2z 1 2 y − 4 logo W (x 0 ) = 2 3 − 4 2 z − 15 − 5 − 5 1 e x1 = x 0 =− − 14 − 2 6 40 − 11 7 − 1 2y 1 1 −4 1 − 4 e det( W (x 0 )) = − 40 1 0.875 − W (x 0 ) −1 f(x 0 ) = 0.500 0.375 2.1.3- Exemplo 2 pag. 462 do Demidovich Para a iteração 2 devemos calcular 1 1 1 2 2 2 f ( x , y , z ) = (0.875) + (0.500) + (0.375) −1 = 0.15625 0.15625 1 1 f (x ) = 0.28125 = f2 (x1, y1, z1) = 2(0.875)2 + (0.500)2 − 4(0.375) = 0.28125 0.43750 f3 (x1, y1, z1) = 3(0.875)2 − 4(0.500) + (0.375)2 = 0.43750 2 x 2 y 2 z 1.750 1 0.750 W(x) = 4x 2 y −4 logo W(x1 ) = 3.500 1 −4 e det(W(x1 )) = −64.75 6x −4 2z 5.250 −4 0.750 −3.75 −4.75 −15.25 0.78981 1 e x2 = x1 − W(x1 )−1 f(x1 ) = 0.49662 1 −1 W(x ) = − − 23.625 − 2.6250 9.62 5 64.75 −19.25 0.36993 12.25 −1.75 e assim sucessivamente, 0.78521 0.00001 0.007279 note que a medida que 0.49662 f(x3 ) = 0.00004 f(x2 ) = 0.014511 3 x = aumenta o número de 0.36992 0.00005 0.021767 k iterações f(x ) → 0 2.1.3- Exemplo 2 pag. 462 do Demidovich Visualização gráfica do problema Frase do Dia “True Laws of Nature cannot be linear.” Albert Einstein