Quais métodos numéricos preservam a simetria de inversão de tempo?

8

Se eu tenho um sistema físico que contém uma simetria de inversão do tempo (por exemplo, um Hamiltoniano com real) e quero resolver as equações diferenciais que descreva esse sistema, qual solucionador de ODEs devo usar para manter a simetria de inversão de tempo (por exemplo, no mathematica)? Quais solucionadores quebram essa simetria?V ( x )H(x,p)=p2/2m+V(x)V(x)

Edição: Eu quero estender esta pergunta. Vamos considerar um sistema de equações diferenciais de primeira ordem acopladas Qual método de integração é melhor usado se o sistema subjacente contiver uma simetria de reversão de tempo?

a˙1(t)=f1(a1,a2,a3,,an;t)a˙2(t)=f2(a1,a2,a3,,an;t)a˙3(t)=f3(a1,a2,a3,,an;t)
Merlin1896
fonte
5
Eu acho que um integrador Simplético pode fazer o truque. Por exemplo, o integrador Verlet .
nicoguaro
@nicoguaro Como pretendia usar o mathematica: existe um método Verlet incluído?
Merlin1896
Eu mal usei o Mathematica. Você pode verificar esta publicação
nicoguaro
A resposta de @nicoguaro (nos comentários) está correta. Selecione.
Inon 15/12/15
1
@RM está faltando um comentário "não" no seu comentário anterior?
Federico Poloni

Respostas:

9

O que geralmente se quer nessa situação é preservar um analógico discreto da simetria do tempo: a saber, se a discretização do tempo for aplicada para resolver primeiro o avanço e o retrocesso no tempo, a condição inicial é recuperada. Isso ocorre se o método for invariável nas seguintes substituições:

a n + ja n - j

ΔtΔt
an+janj

(aqui é a aproximação numérica da solução , portanto a segunda substituição está implícita na primeira). a ( t n )ana(tn)

Vou dar dois exemplos para ilustrar. O método explícito de Euler não preserva a simetria do tempo; aplicado ao contrário no tempo, torna-se o método implícito de Euler: Por outro lado, o método do ponto médio (ou salto ) preserva a simetria de inversão de tempo. Outros métodos conhecidos que preservam a simetria de reversão de tempo incluem o método trapezoidal e (como mencionado nos comentários) o método Verlet.um n = um n - 1 + Δ t f ( um n ) . a n + 1 = a n - 1 + 2 Δ t f ( a n )

an+1=an+Δtf(an)
an=an1+Δtf(an).
an+1=an1+2Δtf(an)
David Ketcheson
fonte