Iteração de Ponto Fixo
Objetivos de Aprendizagem
- Reescrever como de mais de uma forma e rodar a iteração .
- Enunciar o teorema da contração com todas as hipóteses, provar a convergência com o Teorema do Valor Médio e mostrar com exemplos o que cada hipótese garante.
- Prever a taxa linear , medi-la e classificar um ponto fixo como atrator, repulsor ou indefinido.
- Explicar por que reescrever a mesma equação muda o resultado, e usar relaxação para consertar uma iteração que falha.
- Transformar o tamanho do passo numa estimativa de erro, e reconhecer o ponto em que o arredondamento para a iteração.
Contexto e Motivação
bisection-and-convergence-rate compra um bit por avaliação e pede apenas uma troca de sinal, e esse teste de sinal não tem análogo direto para um sistema de equações. Um padrão mais amplo está por trás de boa parte da computação iterativa: transformar o problema em e aplicar repetidamente. newtons-method é uma dessas . iterative-methods-jacobi-and-gauss-seidel aplica o padrão a sistemas lineares. A atualização em value-iteration-and-policy-iteration é outra: com desconto , a atualização de Bellman é uma contração de fator na norma do máximo, e é por isso que os valores se estabilizam.
O assunto inteiro gira em torno de um número. Perto de uma solução, se comporta como uma reta de inclinação , e cada passo multiplica o erro por essa inclinação. Inclinação menor que em módulo significa convergência, maior que significa fuga, e a inclinação depende de como a equação foi escrita, não só de qual equação ela é.
Teoria Central
De raízes a pontos fixos
Um ponto fixo de é um número com . No gráfico, é um cruzamento de com . Qualquer equação pode ser escrita assim, por exemplo como com , cujos pontos fixos são exatamente as raízes de . Outros rearranjos também são possíveis, e podem mudar o domínio.
O teorema da contração
Seja contínua em e derivável em .
Existência. Se leva em si mesmo, tem um ponto fixo ali. Seja . Então e , e o Teorema do Valor Intermediário se aplica.
Unicidade e convergência. Se além disso em , o ponto fixo é único e todo gera uma sequência com
A prova é o Teorema do Valor Médio (the-mean-value-theorem-and-monotonicity): , e a hipótese de levar o intervalo em si mesmo mantém todo dentro dele. As outras duas cotas saem da desigualdade triangular.
Retirar uma hipótese tem um custo específico:
- Continuidade. para e para leva em si mesmo e não tem ponto fixo. A partir de as iterações alternam entre e .
- Levar o intervalo em si mesmo. em tem e nenhum ponto fixo ali, porque seu ponto fixo está fora.
- Uma cota para a inclinação. em leva o intervalo em si mesmo, mas chega a , e tanto quanto são fixos, então a unicidade se perde.
- Um uniforme. Num limitado, pedir só em cada ponto ainda dá unicidade e convergência. O que some é a taxa . em tem em , mas em , então nenhum serve, e a partir de ela chega só a , acompanhando . Num intervalo ilimitado até a existência pode falhar. em leva o intervalo em si mesmo com e não tem ponto fixo. A partir de , , acompanhando .
- Derivabilidade. Esta é uma conveniência. A prova usa só , que em satisfaz com apesar do bico em .
- Global contra local. tem um ponto fixo atrator em e um repulsor em . A partir de as iterações chegam a em 8 passos. A partir de chegam a .
Comportamento perto de um ponto fixo
Se é contínua perto de e , algum intervalo em torno de satisfaz o teorema, então a iteração converge para perto o bastante. Se além disso e nenhuma iteração cai em , então
A convergência é linear com taxa , o que dá bits por iteração. Por avaliação, isso supera o bit único da bisseção só quando . Inclinação positiva se aproxima por um lado, e inclinação negativa alterna em torno de . Os outros casos:
- : repulsor. A sequência não pode convergir para , a menos que caia exatamente nele. Ela não precisa explodir: tem com , e as iterações a partir de se acomodam no ciclo de período 2 entre e .
- : este teste não decide nada. converge para bem devagar, enquanto foge de (a partir de passa de no passo 57).
- com contínua: pelo menos segunda ordem, .
Reescrita e relaxação
Dois rearranjos da mesma equação compartilham raízes, mas em geral não inclinações. Se tem inversa perto de , então tem o mesmo ponto fixo com inclinação , então inverter troca atrator por repulsor. A relaxação ajusta a inclinação diretamente:
mantém os pontos fixos e tem , que se anula em quando .
Parada e arredondamento
Perto de , linearizar dá
Uma inclinação perto de torna esse fator grande, então passo pequeno não quer dizer erro pequeno, enquanto uma inclinação perto de o deixa em torno de . A razão entre passos sucessivos estima a inclinação. Um ruído de tamanho ao avaliar desloca o ponto fixo em cerca de , que é o condicionamento do problema de ponto fixo.
Exemplos Resolvidos
Exemplo 1: uma equação, três iterações
Resolva , com raiz .
(a) . Ela leva em , com ali, então o teorema se aplica. A taxa prevista é . A partir de :
textn x_n e_n e_n/e_(n-1) 0 0.5 6.71e-02 1 0.6065306597126334 3.94e-02 0.5866 2 0.545239211892605 2.19e-02 0.5561 5 0.5711721489772151 4.03e-03 0.5692 10 0.5669072129354714 2.36e-04 0.5670 20 0.5671424775509449 8.13e-07 0.5671 30 0.5671432876111684 2.80e-09 0.5671 50 0.5671432904097508 3.31e-14 0.5663 62 0.5671432904097838 3.29e-17
O erro cai abaixo de pela primeira vez em , como prevê. Em a iteração para de mudar. A taxa dá bit por iteração contra da bisseção, e aqui os dois empatam mais ou menos: a bisseção em chega à largura em 34 iterações mais 2 avaliações dos extremos, partindo de mais longe. As grandezas de parada são diferentes, então a comparação é só aproximada. Em float32 a iteração nunca se assenta num valor: de em diante ela alterna entre os floats vizinhos e , com erro em torno de .
(b) . É a inversa de , com inclinação , e exige . A partir de ela dá , , , , e o passo seguinte sai do domínio. Partindo bem mais perto, de , o erro cresce por um fator medido de a cada passo, e falha do mesmo jeito.
(c) relaxada. Tome , de modo que . Os erros são , , , , . As razões são , , , contra . Escolher assim exige conhecer . Com a inclinação é , e a mesma iteração é apenas linear. Recalcular a partir do atual em cada passo dá o método de Newton em , assunto de newtons-method.
Exemplo 2: a equação de Kepler
A posição de um corpo numa órbita elíptica vem de , com excentricidade e anomalia média . Tome . Ela leva em si mesmo, e , então o teorema se aplica com a partir de .
texte M E* g'(E*) taxa medida iterações até 1e-10 cota a priori 0.1 1.0 1.088598 +0.0464 0.0464 7 9 0.5 1.0 1.498701 +0.0360 0.0360 8 33 0.9 1.0 1.862087 -0.2585 0.2585 17 238 0.97 0.2 1.033148 +0.4968 0.4968 36 818
A cota a priori é o menor com . Ela vale em toda linha e é bem pessimista para grande, porque é a pior inclinação possível em qualquer ponto, enquanto a taxa depende da inclinação na raiz. Uma execução de scipy.optimize.brentq em concorda com cada a menos de .
Exemplo 3: um passo pequeno, um erro grande
Tome e , de modo que e . Parar quando o passo fica abaixo de termina em com passo e erro verdadeiro , que é 39 vezes o passo. O fator da teoria é . Usando a razão dos dois últimos passos como estimativa , o valor vezes o passo dá , então a própria iteração forneceu uma estimativa confiável.
Deixada rodar, a iteração para de mudar em com erro . Para , ela para em com erro . A amplificação é no primeiro caso e no segundo.
Equívocos Comuns e Armadilhas
- "Qualquer rearranjo serve, já que as raízes são as mesmas." O Exemplo 1 tem um que converge, um que falha e um que é quadrático.
- " significa convergência de qualquer ponto." É uma afirmação local, como a partir de mostra. A convergência global exige o teorema completo.
- " em toda parte garante um ponto fixo." Num intervalo ilimitado, não: em não tem nenhum. Num limitado, o ponto fixo vem da continuidade e de levar o intervalo em si mesmo, não da inclinação.
- "Passo pequeno quer dizer erro pequeno." Com a partir de , depois de passos o passo é e o erro é . Inclinação na raiz não deixa fator finito entre os dois.
- "Não convergir é divergir." A aplicação logística acima fica limitada num ciclo de período 2.
- "Pare quando
x_new == x." A execução em float32 do Exemplo 1 alterna para sempre e nunca pararia. Use uma tolerância e um limite de iterações. - "
scipy.optimize.fixed_pointroda a iteração desta lição." Seu padrãomethod='del2'usa o método de Steffensen com aceleração de Aitken. O laço simples émethod='iteration'.
Resumo
A iteração de ponto fixo reescreve como e repete . Se é contínua em , leva o intervalo em si mesmo e satisfaz , o ponto fixo é único, todo início no intervalo converge e o erro encolhe pelo menos como . Perto de um ponto fixo a taxa observada tende a , então uma inclinação abaixo de em módulo supera a bisseção, inclinação dá segunda ordem, inclinação acima de repele, e inclinação exatamente pede um exame mais de perto. A inclinação é da reescrita, e é por isso que inverter ou relaxar pode transformar falha em convergência rápida. O erro é cerca de vezes o passo, o que pesa quando a inclinação está perto de , e o arredondamento para a iteração perto de .