Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Em revisão
Consideramos o seguinte problema: dada a função encontrar tal que
(2.1) |
Salvo explicitado ao contrário, assumiremos que , i.e. é uma função continuamente diferenciável no domínio computacional .
Vamos, denotar por a matriz jacobiana3131endnote: 31Carl Gustav Jakob Jacobi, 1804 - 1851, matemático alemão. Fonte: Wikipédia: Carl Gustav Jakob Jacobi. da F com
(2.2) |
onde e .
Em revisão
A iteração básica do método de Newton3232endnote: 32Isaac Newton, 1642 - 1727, matemático, físico, astrônomo, teólogo e autor inglês. Fonte: Wikipédia: Isaac Newton. para sistemas de equações consiste em: dada uma aproximação inicial ,
(2.3) | |||
(2.4) |
para até que um critério de parada seja satisfeito.
Para suficientemente próximo da solução , o método de Newton é quadraticamente convergente. Mais precisamente, este resultado de convergência local requer que seja não singular e que seja Lipschitz3333endnote: 33Rudolf Otto Sigismund Lipschitz, 1832 - 1903, matemático alemão. Fonte: Wikipédia. contínua. Consulte [8, Seção 7.1] para mais detalhes.
Consideramos a equação de Burgers3434endnote: 34Jan Burgers, 1895 - 1981, físico neerlandês. Fonte: Wikipédia: Jan Burgers.
(2.5) |
com , condição inicial
(2.6) |
e condições de contorno de Dirichlet3535endnote: 35Johann Peter Gustav Lejeune Dirichlet, 1805 - 1859, matemático alemão. Fonte: Wikipédia: Johann Peter Gustav Lejeune Dirichlet. homogêneas
(2.7) |
Aplicando o método de Rothe3636endnote: 36Erich Hans Rothe, 1895 - 1988, matemático alemão. Fonte: Wikipédia. com aproximação de Euler3737endnote: 37Leonhard Paul Euler, 1707-1783, matemático e físico suíço. Fonte: Wikipédia: Ronald Fisher. implícita, obtemos
(2.8) | ||||
onde é o passo no tempo. Agora, aplicamos diferenças finitas para obter
(2.9) | ||||
onde, , e é o tamanho da malha.
Rearranjando os termos e denotando , , obtemos o seguinte problema discreto
(2.10) | |||
(2.11) | |||
(2.12) |
sendo , e .
Este problema pode ser reescrito como segue: para cada , encontrar , tal que
(2.13) |
onde , e
(2.14) | |||
(2.15) | |||
(2.16) |
A matriz jacobiana associada contém
(2.17) | |||
(2.18) | |||
(2.19) | |||
(2.20) | |||
(2.21) | |||
(2.22) | |||
(2.23) | |||
(2.24) |
Implemente este esquema numérico!
Em revisão
Considere o problema discreto apresentado no Exemplo 2.1.1 para diferentes valores do coeficiente de difusão , . Simule o problema com cada uma das seguintes estratégias e as compare quanto ao desempenho computacional.
Simule-o aplicando o Método de Newton com o solver linear npla.solve.
Observe que a jacobiana é uma matriz tridiagonal. Simule o problema aplicando o Método de Newton com o solver linear npla.solve_banded.
Aloque a jacobiana como uma matriz esparsa. Então, simule o problema aplicando o Método de Newton com solver linear adequado para matrizes esparsas.
Desenvolva um esquema upwind para simular a equação de Burgers do Exemplo 2.1.1.
Em revisão
Existem várias modificações do Método de Newton3838endnote: 38Isaac Newton, 1642 - 1727, matemático, físico, astrônomo, teólogo e autor inglês. Fonte: Wikipédia: Isaac Newton. que buscam reduzir o custo computacional. Há estratégias para simplificar as computações da matriz jacobiana3939endnote: 39Carl Gustav Jakob Jacobi, 1804 - 1851, matemático alemão. Fonte: Wikipédia: Carl Gustav Jakob Jacobi. e para reduzir o custo nas computações das atualizações de Newton.
Em revisão
Geralmente, ao simplificarmos a matriz jacobina ou aproximarmos a atualização de Newton , perdemos a convergência quadrática do método (consulte a Observação 2.1.1). A ideia é, então, buscar uma convergência pelo menos super-linear, i.e.
(2.25) |
com quando . Aqui, . Se a convergência é superlinear, então podemos usar a seguinte aproximação
(2.26) |
ou, equivalentemente,
(2.27) |
Isso mostra que podemos acompanhar a convergência das iterações pelo fator
(2.28) |
Ao garantirmos , deveremos ter uma convergência superlinear.
Vamos, então, propor o seguinte método tipo Newton de atualização cíclica da matriz jacobiana.
Escolha
Para até critério de convergência:
Se :
Implemente uma versão do método tipo Newton apresentado acima e aplique-o para simular o problema discutido no Exemplo 2.1.1 para . Faça uma implementação com suporte para matrizes esparsas.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!