Método de Newton

Em análise numérica , o método de Newton ou método de Newton-Raphson é, em sua aplicação mais simples, um algoritmo eficiente para encontrar numericamente uma aproximação precisa de um zero (ou raiz) de uma função real de uma variável real . Este método deve o seu nome aos matemáticos ingleses Isaac Newton (1643-1727) e Joseph Raphson (possivelmente 1648-1715), que foram os primeiros a descrevê-lo para a busca de soluções de uma equação polinomial . Thomas Simpson (1710-1761) amplia consideravelmente o campo de aplicação do algoritmo ao mostrar, graças à noção de derivada, como ele poderia ser usado para calcular uma solução de uma equação não linear , que pode não ser um polinômio, e um sistema formado a partir de tais equações.

Apresentação

Em sua forma moderna, o algoritmo pode ser apresentado resumidamente da seguinte forma: a cada iteração, a função para a qual estamos procurando um zero é linearizada na iteração atual (ou ponto) e a iteração seguinte é considerada igual ao zero do função linearizada. Esta descrição resumida indica que pelo menos duas condições são necessárias para o bom funcionamento do algoritmo: a função deve ser diferenciável nos pontos visitados (para poder linearizar a função ali) e as derivadas não devem ser canceladas (para que o linearizado função tem um zero); Além dessas condições, existe a forte restrição de ter que levar a primeira iteração perto o suficiente de um zero regular da função (ou seja, em que a derivada da função não desaparece), de modo que a convergência do processo seja assegurado.

O principal interesse do algoritmo de Newton é sua convergência quadrática local. Em termos pictóricos, mas imprecisos, isso significa que o número de dígitos significativos corretos das iterações dobra a cada iteração, assintoticamente . Como o número de dígitos significativos que podem ser representados por um computador é de cerca de 15 dígitos decimais (em um computador que está em conformidade com o padrão IEEE-754 ), podemos simplificar as propriedades de convergência do algoritmo de Newton dizendo que ele converge em menos de 10 iterações ou diverge. Na verdade, se a iteração inicial não for tomada suficientemente perto de zero, a sequência de iterações geradas pelo algoritmo tem um comportamento errático, cuja convergência possível só pode ser o resultado do acaso (uma das iterações é felizmente próxima de zero) .

A importância do algoritmo fez com que os numeristas estendessem sua aplicação e encontrassem soluções para suas falhas. Por exemplo, o algoritmo também permite encontrar um zero de uma função de várias variáveis ​​com valores vetoriais, ou mesmo definidas entre espaços vetoriais de dimensão infinita; o método também leva a resultados de existência de zero (usados ​​em certas provas do teorema das funções implícitas , os teoremas de Kantorovitch ). Também pode ser usado quando a função é diferenciável em um sentido mais fraco (diferenciável por partes, B-diferenciável , semi-suave , obliquamente diferenciável, etc. ), bem como para resolver sistemas de desigualdade não lineares, problemas de inclusão funcional , de equações diferenciais ou derivado parcial de desigualdades variacional de complementaridade , etc . Também desenvolvemos técnicas para a globalização do algoritmo, que visam forçar a convergência das sequências geradas a partir de uma iteração inicial arbitrária (não necessariamente próxima de zero), como busca linear e regiões de confiança atuando em uma função de mérito (muitas vezes a função de mínimos quadrados). Nas chamadas versões imprecisas ou truncadas , resolve-se o sistema linear a cada iteração apenas de forma aproximada. Finalmente, a família de algoritmos quase-Newton propõe técnicas que permitem prescindir do cálculo da derivada da função. No entanto, todas essas melhorias não garantem que o algoritmo encontrará um zero existente, independentemente da iteração inicial.

Aplicado à derivada de uma função real, este algoritmo possibilita a obtenção de pontos críticos (ou seja, zeros da função derivada). Esta observação está na origem de seu uso em otimização sem ou com restrições.

Elementos da história

O método de Newton foi descrito pelo matemático inglês Isaac Newton em De analysi per aequationes numero terminorum infinitas , escrito em 1669 e publicado em 1711 por William Jones . Ele foi novamente descrito em De metodis fluxionum et serierum infinitarum ( Sobre o método das fluxões e suítes infinitas ), escrito em 1671 , traduzido e publicado sob o título Métodos de Fluxões em 1736 por John Colson . No entanto, Newton aplicou o método apenas a polinômios. Como a noção de derivada e, portanto, de linearização não estava definida naquela época, sua abordagem difere daquela descrita na introdução: Newton buscou refinar uma aproximação grosseira de um zero de um polinômio por meio de um cálculo polinomial.

O exemplo que Newton dá é o de calcular a raiz real da equação cúbica

,

tomando como iteração inicial o ponto x 1 = 2 . que difere em menos de 0,1 do valor verdadeiro da raiz única verdadeira. Ele então escreve x = 2 + d 1 , onde d 1 é, portanto, o aumento a ser dado a 2 para obter a raiz x . Ele substitui x por 2 + d 1 na equação, que se torna

e cuja raiz deve ser encontrada para adicioná-lo a 2 . Ele despreza d 1 3 + 6 d 1 2 por causa de sua pequenez (assumimos que | d 1 | << 1 ), de modo que 10 d 1 - 1 = 0 ou d 1 = 0,1 permanecem , o que dá como uma nova aproximação da raiz x 2 = x 1 + d 1 = 2,1 . Ele então escreve d 1 = 0,1 + d 2 , onde d 2 é, portanto, o aumento a ser dado a d 1 para obter a raiz do polinômio precedente. Portanto, substitui d 1 por 0,1 + d 2 no polinômio anterior para obter

.

Obteríamos a mesma equação substituindo x por 2,1 + d 2 no polinômio inicial. Negligenciando os dois primeiros termos, resta 11,23 d 2 + 0,061 = 0 ou d 2 ≈ –0,0054 , o que dá como uma nova aproximação da raiz x 3 = x 2 + d 2 ≈ 2,0946 . Você pode continuar as operações pelo tempo que desejar.

Este método foi tema de publicações anteriores. Em 1685 , John Wallis publicou uma primeira descrição dela em A Treatise of Algebra both Historical and Practical . Em 1690 , Joseph Raphson publicou uma descrição simplificada dele em Analysis aequationum universalis . Raphson considerou o método de Newton ainda como um método puramente algébrico e também restringiu seu uso apenas a polinômios. No entanto, ele destacou o cálculo recursivo de aproximações sucessivas de um zero de um polinômio em vez de considerar uma série de polinômios como Newton.

Foi Thomas Simpson ( 1710 - 1761 ) quem generalizou este método para o cálculo iterativo das soluções de uma equação não linear, usando as derivadas (que chamou de fluxões , como Newton). Simpson aplicou o método de Newton a sistemas de duas equações não lineares com duas incógnitas, seguindo a abordagem usada hoje para sistemas com mais de 2 equações, e a problemas de otimização irrestrita procurando um zero do gradiente. Arthur Cayley foi o primeiro a notar a dificuldade de generalizar o método de Newton para variáveis ​​complexas em 1879 , por exemplo, para polinômios de grau maior que 3.

Pode-se consultar o artigo de Ypma (1995) para outras informações sobre a história do algoritmo. Este autor atribui a falta de reconhecimento aos outros contribuintes do algoritmo ao influente livro de Fourier, intitulado Analysis of Determined Equations (1831), que descreveu o método newtoniano sem referência a Raphson ou Simpson.

Função real de uma variável real

Algoritmo

Buscaremos, portanto, construir uma boa aproximação de um zero da função de uma variável real f ( x ) considerando sua expansão de Taylor de primeira ordem. Para tanto, partindo de um ponto x 0 que se escolhe preferencialmente próximo de zero para encontrar (fazendo estimativas grosseiras, por exemplo), aproxima-se a função de primeira ordem, ou seja, considera-se assintoticamente igual à sua tangente em este ponto:

A partir daí, para encontrar um zero desta função de aproximação, basta calcular a interseção da linha tangente com o eixo x, ou seja, resolver a equação afim:

Obtemos então um ponto x 1 que, em geral, tem uma boa chance de estar mais próximo do zero verdadeiro de f do que o ponto x 0 precedente. Com esta operação, podemos, portanto, esperar melhorar a aproximação por iterações sucessivas (ver ilustração): aproximamos a função novamente por sua tangente para obter um novo ponto x 2 , etc.

Este método requer que a função tenha uma tangente em cada um dos pontos da sequência que construímos por iteração, por exemplo, basta que f seja diferenciável .

Formalmente, partimos de um ponto x 0 pertencente ao conjunto de definição da função e construímos por indução o seguinte:

onde f ' denota a derivada da função f . O ponto x k +1 é de fato a solução da equação afim .

Pode ser que a recorrência deva terminar, se na etapa k , x k não pertencer ao domínio de definição ou se a derivada f ' ( x k ) for zero; nesses casos, o método falha.

Se o desconhecido de zero α é isolado, então existe um bairro de α de tal modo que para todos os valores a partir de x 0 nesta vizinhança, a sequência ( x k ) irá convergir para α . Além disso, se f ' ( α ) for diferente de zero, então a convergência é (pelo menos) quadrática, o que intuitivamente significa que o número de dígitos corretos é aproximadamente dobrado em cada etapa.

Embora o método seja muito eficaz, existem alguns aspectos práticos que devem ser levados em consideração. Em primeiro lugar, o método de Newton requer que a derivada seja efetivamente calculada. Nos casos em que a derivada só é estimada tomando a inclinação entre dois pontos da função, o método leva o nome de método secante , menos eficiente (da ordem de 1,618 que é o número áureo ) e menor que d 'outros algoritmos. Por outro lado, se o valor inicial estiver muito longe do zero verdadeiro, o método de Newton pode entrar em um loop infinito sem produzir uma aproximação melhorada. Por causa disso, qualquer implementação do método de Newton deve incluir um código para controlar o número de iterações.

Exemplo

Para ilustrar o método, vamos encontrar o número positivo x satisfazendo cos ( x ) = x 3 . Vamos reformular a questão para introduzir uma função que deve ser cancelada: procuramos o zero positivo (a raiz) de f ( x ) = cos ( x ) - x 3 . A derivação dá f ' ( x ) = –sin ( x ) - 3 x 2 .

Como com todo x e x 3 > 1 para x > 1 , sabemos que nosso zero está entre 0 e 1. Tentamos um valor inicial de x 0 = 0,5 .

Os primeiros 7 dígitos deste valor coincidem com os primeiros 7 dígitos do zero verdadeiro.

Convergência

A velocidade de convergência de uma seqüência x n obtida pelo método de Newton pode ser obtida com a aplicação da fórmula de Taylor-Lagrange . Isso envolve a avaliação de uma marcação de log | x n - a | .

f é uma função definida na vizinhança de a e duas vezes continuamente diferenciável. Supomos que a passa a ser um zero de f que tentamos abordar pelo método de Newton. Assumimos que a é um zero de ordem 1, ou seja, f ' ( a ) é diferente de zero. A fórmula de Taylor-Lagrange é escrita:

, com ξ entre x e a .

A partir da aproximação x , o método de Newton fornece no final de uma iteração:

.

Para um compacto intervalo I contendo X e um e incluídas no domínio de definição de f , definimos: m 1 = min x ∈ I | f ' ( x ) | bem como M 2 = max x ∈ I | f '' ( x ) | . Então, para todo x ∈ I  :

.

Por recorrência imediata, vem:

onde K =H 2/2 m 1. Passando para o logaritmo  :

A convergência de x n para a é, portanto, quadrática, desde que | x 0 - a | <1 / K .

Exemplos de não convergência

Critério de parada

Os possíveis critérios de parada, determinados relativamente a uma quantidade numericamente insignificante, são:

onde representam erros de aproximação que caracterizam a qualidade da solução digital.

Em todos os casos, é possível que o critério de parada seja verificado em pontos que não correspondem às soluções da equação a ser resolvida.

Outros exemplos

Raiz quadrada

Um caso especial do método de Newton é o método de Heron , também chamado de método babilônico  : para calcular a raiz quadrada de a , é uma questão de aplicar o método de Newton à função f definida por

.

Obtemos então, usando a fórmula da derivada f ' ( x ) = 2 x , um método de aproximação da solução a dada pela seguinte fórmula iterativa:

.

Para todo a ≥ 0 e qualquer ponto inicial x 0 > 0 , este método converge para a .

Podemos estendê-la para o cálculo de qualquer n -simo raiz de uma série um com a fórmula:

.Cruzamento de gráficos

Nós podemos determinar uma intersecção dos gráficos de duas funções deriváveis reais f e g , ou seja, um ponto x tal que f ( x ) = g ( x ) , aplicando o modo de Newton para a função f - g .

Funções holomórficas

O método também pode ser usado para encontrar zeros de funções holomórficas . Neste framework, conhece-se bem os comportamentos que podem ter a continuação das iterações de Newton. Podemos citar:

  • convergência para zero;
  • limite infinito;
  • a sequência admite um ciclo limite, ou seja, a sequência pode ser dividida em p subsequências disjuntas da forma ( z n 0 + kp ) k que convergem para pontos distintos (que não são zeros de f ) formando um ciclo periódico para o função z -f ( z )/f ' ( z ) ;
  • a sequência se aproxima de todos os zeros da função sem que haja nenhum ciclo limite, e a cada passo da iteração, nos encontramos próximos de um zero diferente dos anteriores;
  • o resto tem um comportamento caótico , etc.

O conjunto de pontos a partir dos quais se obtém uma seqüência que converge para um zero fixo é denominado bacia de atração desse zero. Para muitas funções complexas, a bacia de atração é um fractal .

O estudo do método de Newton para polinômios com variáveis ​​complexas encontra naturalmente seu lugar no estudo dinâmico de frações racionais e tem sido uma das motivações recentes para o estudo da dinâmica holomórfica .

Generalizações / variantes

Sistemas de equações com diversas variáveis

Também podemos usar o método de Newton para resolver um sistema de n equações (não lineares) com n incógnitas x = ( x 1 , ..., x n ) , o que equivale a encontrar um zero de uma função F de in , que deve ser diferenciável . Na formulação dada acima, multiplique pelo inverso da matriz Jacobiana F ' ( x k ) em vez de dividir por f' ( x k ) . Obviamente, para economizar tempo de computação, não calcularemos o inverso do Jacobiano, mas resolveremos o sistema de equações lineares seguindo

no desconhecido x k +1 - x k . Novamente, esse método funciona apenas para um valor inicial x 0 suficientemente próximo a um F zero .

Método de Newton aproximado

Às vezes acontece que a derivada (ou a matriz Jacobiana para um sistema de equações com várias variáveis) da função f é cara de calcular. A derivada pode então ser aproximada por meio de diferenças finitas . Por exemplo, aproximando a derivada f ' ( x k ) por

obtemos o método secante . A convergência deste método não é mais quadrática, mas permanece sobre-linear (na verdade, da ordem φ =1 + 5/2≈ 1,618 ).

Método de Newton não suave

Quando a função para a qual estamos procurando uma raiz não é diferenciável, mas apenas semi-suave , o método de Newton não gera necessariamente uma sequência convergente { x k } , mesmo que as iterações sejam pontos de diferenciabilidade de f , arbitrariamente próximos de d um zero F . Um contra-exemplo é fornecido por Kummer (1988).

Um algoritmo análogo ainda é possível assumindo um pouco mais do que a Lipschitzianidade de F , mas sua semi-suavidade. O algoritmo de Newton para uma função semi-suave f consiste então em gerar uma sequência , onde a nova iteração x k +1 é calculada a partir da iteração atual x k pela seguinte recorrência

onde J k é um Jacobiano invertível do diferencial de Clarke ∂ CF ( x k ) , que se presume existir.

Como o método de Newton clássico, o algoritmo newtoniano semi-suave converge sob duas condições. A primeira especifica que a função para a qual estamos procurando um zero x * é suficientemente suave: ela deve ser semissuave . Também é necessário que neste zero a função tenha suas "inclinações" que não se cancelam em x *  ; isso é expresso pela hipótese de C-regularidade igual a zero. Também se trata de um resultado de convergência local , o que significa que a primeira iteração deve ser escolhida suficientemente perto de um zero que satisfaça as condições acima para que a convergência ocorra.

Convergência local do algoritmo semi-suave de Newton  -  Suponha que f é semi-suave em uma solução C-regular x * da equação f ( x ) = 0 . Então,

  • existe uma vizinhança V de x * tal que se o primeiro iterou x 1 ∈ V , o algoritmo de Newton semi-suave é bem definido e gera uma sequência { x k } em V , que converge superlinearmente para x * ,
  • a convergência é quadrática se f for fortemente semi-suave em x * .

O estado da arte é fornecido por Izmailov e Solodov.

Método de intervalo de Newton

Em alguns casos, às vezes queremos evitar a condição de proximidade entre nosso valor inicial e o zero da função. Uma solução é usar o método de Newton por intervalos.

Consideramos , com X um intervalo real, e supomos que temos uma extensão por intervalos F ' de f' , ou seja, uma função F ' tomando como entrada um intervalo YX e retornando um intervalo F' ( Y ) tal que:

.

Assume-se também que , de modo especialmente f tem no máximo um zero X . Agora podemos definir o operador:

para qualquer intervalo y com centro m . Observe que a hipótese em F ' implica que N ( Y ) é bem definido e é um intervalo (consulte aritmética de intervalo para mais detalhes sobre isso). Agora podemos criar a seguinte série de intervalos:

.

O teorema do incremento finito certifica que se houver um zero de f em X k , então ele ainda está em X k +1 . Além disso, a hipótese de positividade em F ' implica que o tamanho de X k uma é, no máximo, a metade de X k , de modo que os converge de sequência para o Singleton { x * } , onde X * representa o zero do f em X .

Apêndices

Notas

  1. Joseph Louis Lagrange e Louis Poinsot, Tratado sobre a resolução de equações numéricas de todos os graus .
  2. Em Methodus fluxionum et serierum infinitorum de acordo com J.-L. Chabert et al. (1994). Ypma (1995) refere-se às páginas 219-220 do volume II em Whiteside (1967-1976).
  3. (em) Eric W. Weisstein , Wallis's Constant  " on MathWorld .
  4. Ver Simpson (1740), páginas 83-84, de acordo com Ypma (1995).
  5. Ver Simpson (1740), página 82, de acordo com Ypma (1995).
  6. (em) T. Simpson (1737), A New Treatise of fluxions .
  7. (em) Arthur Cayley (1789). O problema imaginário de Newton-Fourier .
  8. (en) B. Kummer (1988). Método de Newton para funções não diferenciáveis . Em (en) J. Guddat, B. Bank, H. Hollatz, P. Kall, D. Klatte, B. Kummer, K. Lommatzsch, L. Tammer, M. Vlach e K. Zimmerman, Advances in Mathematical Optimization , Berlin , Akademie-Verlag, 114-125  p..
  9. (in) AF Izmailov e MV Solodov, "  Métodos do tipo Newton para Otimização e Problemas Variacionais  " , Springer Series in Operations Research and Financial Engineering , Springer,2014.
  10. (em) RE Moore, Methods and Applications of interval analysis , vol.  2, Sião,1979
  11. (em) E. Hansen, "  formas de intervalo do método de Newton  " , Computing , vol.  2, n o  20,1978, p.  153-163

Artigos relacionados

links externos

Referências

  • (en) DP Bertsekas (1995), Nonlinear Programming . Athena Scientific. ( ISBN  978-1-886529-14-4 ) .
  • (en) JF Bonnans, J. Ch. Gilbert, C. Lemaréchal, C. Sagastizábal (2006), Numerical Optimization - Theoretical and Practical Aspects [ detalhe das edições ] .
  • J.-L. Chabert, É. Barbin, M. Guillemot, A. Michel-Pajus, J. Borowczyk, A. Djebbar, J.-C. Martzloff (1994). História dos Algoritmos - Do Pebble to Chip . Insights on Science. Belin, Paris.
  • J.-P. Dedieu (2006). Pontos fixos, zeros e método de Newton . Matemática e Aplicações 54. Springer Verlag, Berlin.
  • (en) P. Deuflhard (2004). Métodos de Newton para problemas não lineares. Invariância afim e algoritmos adaptativos . Springer Series in Computational Mathematics, vol. 35. Springer, Berlin, ( ISBN  3-540-21099-7 ) .
  • (en) AF Izmailov, MV Solodov (2014). Métodos do tipo Newton para problemas de otimização e variação . Série Springer em Pesquisa Operacional e Engenharia Financeira. Springer.
  • (en) J. Nocedal, SJ Wright (2006), Numerical Optimization , Springer. ( ISBN  978-0-387-30303-1 ) .
  • (en) JM Ortega, WC Rheinboldt (2000). Solução iterativa de equações não lineares em várias variáveis . Clássicos em Matemática Aplicada. Society for Industrial and Applied Mathematics. ( ISBN  0-89871-461-3 ) .
  • (en) T. Simpson (1740). Ensaios sobre vários assuntos curiosos e úteis em matemática especulativa e mista, ilustrados por uma variedade de exemplos . Londres.
  • (pt) DT Whiteside, editor (1967-1976) The Mathematical Papers of Isaac Newton , Volumes I-VII, Cambridge University Press, Cambridge.
  • (en) TJ Ypma (1995). Desenvolvimento histórico do método Newton-Raphson. Revisão SIAM , 37, 531–551.
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">