<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andredv</id>
	<title>Física Computacional - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andredv"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php/Especial:Contribui%C3%A7%C3%B5es/Andredv"/>
	<updated>2026-04-26T06:03:16Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10907</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10907"/>
		<updated>2024-08-27T13:09:59Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t)&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possuem trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em torno dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;br /&gt;
# KOERS, L. Geometric integration of stochastic Lotka-Volterra equations. BSc Thesis Applied Mathematics, 8 ago. 2024.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10906</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10906"/>
		<updated>2024-08-27T13:08:12Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t)&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;br /&gt;
# KOERS, L. Geometric integration of stochastic Lotka-Volterra equations. BSc Thesis Applied Mathematics, 8 ago. 2024.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10905</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10905"/>
		<updated>2024-08-27T13:07:27Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t)&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com 5 condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;br /&gt;
# KOERS, L. Geometric integration of stochastic Lotka-Volterra equations. BSc Thesis Applied Mathematics, 8 ago. 2024.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10899</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10899"/>
		<updated>2024-08-27T13:03:26Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde agora o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com 5 condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;br /&gt;
# KOERS, L. Geometric integration of stochastic Lotka-Volterra equations. BSc Thesis Applied Mathematics, 8 ago. 2024.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10897</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10897"/>
		<updated>2024-08-27T13:03:07Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde agora o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com 5 condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;br /&gt;
&lt;br /&gt;
# KOERS, L. Geometric integration of stochastic Lotka-Volterra equations. BSc Thesis Applied Mathematics, 8 ago. 2024.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10894</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10894"/>
		<updated>2024-08-27T13:00:00Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde agora o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com 5 condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;/math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método em condições iniciais extremas:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10893</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10893"/>
		<updated>2024-08-27T12:58:46Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde agora o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
O modelo com ruído externo foi tratado apenas no sentido de Itô. As simulações foram feitas com o intuito de observar o efeito das condições iniciais, dos parâmetros e da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
===Condições iniciais===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Parâmetros===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intensidade do ruído===&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
Com o objetivo de comparar a influência de diferentes ruídos com mesmos parâmetros, foi realizado o gráfico com 5 condições iniciais iguais ao exemplo de Itô. &lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Percebe-se que as órbitas se distribuem de forma menos espaçada radialmente em relação a simulação de Itô e possui trajetórias menos ruidosas. Em seguida, fez-se o gráfico do comportamento da média e variância das densidades populacionais. Pode-se observar que os valores médios convergem para os valores do ponto fixo e continuam variando em trono dele numa forma de batimento. A amplitude das variações da variância não se estabilizou.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No próximo teste, variou-se o valor do ruído procurando um valo máximo para a simulação não divergir. Encontrou-se o valor &amp;lt;math&amp;gt; \epsilon = 0.00046 &amp;lt;\math&amp;gt;, porém os sistema pode não convergir pra valores de tempo máximo muito grandes. Observou-se que isso independe da condição inicial.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a variação dos parâmetros &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt; pode comprometer a convergência da simulação, como por exemplo para taxa de crescimento do predador muito alta. Simulou-se as equações como parâmetros distintos para evidenciar o comportamento bastante convergente do método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10889</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10889"/>
		<updated>2024-08-27T12:21:36Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir os parâmetros determinísticos do modelo por parâmetros estocásticos. Analisaremos esse modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Para este caso, colocaremos o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. Esse novo modelo descreveria um sistema com populações em níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;, proporcional ao número de presas e predadores. Ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diferentes populações de diferentes espécies.&lt;br /&gt;
&lt;br /&gt;
A nova equação diferencial é dada, então, por:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído também pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde agora o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de diferentes predadores sobre uma mesma presa, considerando que não há competição entre as diferentes espécies. Esse ruído também pode ser pensado como uma variação do efeito da caça de um mesmo predador, ocasionado, por exemplo, a um certo número de presas escaparem à caça.&lt;br /&gt;
&lt;br /&gt;
Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon_i \geq 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wiener independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes, de onde se calcula a média e a variância para cada passo de tempo destas realizações. Assim, pode-se analisar as tendências do sistema de maneira estatística.&lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, serão abordados diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente a estabilidade e o comportamento do sistema conforme a variação dos parâmetros &amp;lt;math&amp;gt;a, \ b, \ c, \ f&amp;lt;/math&amp;gt;, das condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_mapa_vci.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:strato_series_p1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_ruido.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Strato_series_convergencia.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_ruido.png&amp;diff=10888</id>
		<title>Arquivo:Strato series ruido.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_ruido.png&amp;diff=10888"/>
		<updated>2024-08-27T12:18:08Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_convergencia.png&amp;diff=10887</id>
		<title>Arquivo:Strato series convergencia.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_convergencia.png&amp;diff=10887"/>
		<updated>2024-08-27T12:17:39Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_p1.png&amp;diff=10886</id>
		<title>Arquivo:Strato series p1.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_series_p1.png&amp;diff=10886"/>
		<updated>2024-08-27T12:17:04Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_mapa_vci.png&amp;diff=10885</id>
		<title>Arquivo:Strato mapa vci.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Strato_mapa_vci.png&amp;diff=10885"/>
		<updated>2024-08-27T12:16:36Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10867</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10867"/>
		<updated>2024-08-27T02:11:41Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de predadores de um mesmo nicho ecológico sobre uma presa, considerando que não há competição entre as diferentes espécies. Por outro lado, pode ser pensado como uma variação do efeito da caça sobre a população de um mesmo predador. Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon &amp;gt;= 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wigner independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun têm-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= - \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)=  \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10866</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10866"/>
		<updated>2024-08-27T02:10:25Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Itô */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de predadores de um mesmo nicho ecológico sobre uma presa, considerando que não há competição entre as diferentes espécies. Por outro lado, pode ser pensado como uma variação do efeito da caça sobre a população de um mesmo predador. Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon &amp;gt;= 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wigner independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun têm-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10865</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10865"/>
		<updated>2024-08-27T02:09:51Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Ruído nos parâmetros */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de predadores de um mesmo nicho ecológico sobre uma presa, considerando que não há competição entre as diferentes espécies. Por outro lado, pode ser pensado como uma variação do efeito da caça sobre a população de um mesmo predador. Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon &amp;gt;= 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wigner independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun têm-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10864</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10864"/>
		<updated>2024-08-27T02:09:07Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de predadores de um mesmo nicho ecológico sobre uma presa, considerando que não há competição entre as diferentes espécies. Por outro lado, pode ser pensado como uma variação do efeito da caça sobre a população de um mesmo predador. Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon &amp;gt;= 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W_n(t) &amp;lt;/math&amp;gt; um escalar oriundo de processos de Wigner independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun têm-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10863</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10863"/>
		<updated>2024-08-27T02:00:23Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; b \to b + \epsilon_x \xi_x(t))&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d \to d + \epsilon_y \xi_y(t))&amp;lt;/math&amp;gt;, onde o ruído segue a forma de Stratonovich. Essa mudança pode ser interpretada como a predação de predadores de um mesmo nicho ecológico sobre uma presa, considerando que não há competição entre as diferentes espécies. Por outro lado, pode ser pensado como uma variação do efeito da caça sobre a população de um mesmo predador. Dessa forma, a dinâmica populacional se comporta como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) - \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi (t) &amp;lt;/math&amp;gt; é um ruído branco e &amp;lt;math&amp;gt;\epsilon &amp;gt;= 0 &amp;lt;/math&amp;gt;. Considerando que &amp;lt;math&amp;gt; \bullet &amp;lt;/math&amp;gt; denota a integral de Stratonovich e &amp;lt;math&amp;gt; W(t) &amp;lt;/math&amp;gt; um escalar de processos de Wigner independentes, utiliza-se para aplicação no método numérico a seguinte equação diferencial estocástica:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt - \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt + \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilizando o método de Heun têm-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10862</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10862"/>
		<updated>2024-08-27T01:40:07Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
O ruído pode ser adicionado nos parâmetros &amp;lt;math&amp;gt; b &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; d &amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt; d \to d + \epsilon \bullet W(t)&amp;lt;/math&amp;gt; e&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt + \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt - \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10861</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10861"/>
		<updated>2024-08-27T01:29:11Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt + \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt - \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + \sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + \sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10860</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10860"/>
		<updated>2024-08-27T01:22:35Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt + \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt - \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\\\&lt;br /&gt;
&lt;br /&gt;
A(X_1)= X_1(a - b Y_1) \\&lt;br /&gt;
A(Y_1)= Y_1(-c + f X_1)\\\\&lt;br /&gt;
&lt;br /&gt;
B(X_1)= \epsilon_x X_1 Y_1\\&lt;br /&gt;
B(Y_1)= - \epsilon_y X_1 Y_1\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10859</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10859"/>
		<updated>2024-08-27T01:19:52Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY)dt + \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX)dt - \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(A(x_n) + A(X_1))\Delta t + \frac{1}{2}\Delta W_x(B(x_n)+B(X_1)) \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(A(y_n) + A(Y_1))\Delta t +   \frac{1}{2}\Delta W_y(B(y_n)+B(Y_1)) \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
A(x_n)= x_n(a - b y_n) \\&lt;br /&gt;
A(y_n)= y_n(-c + f x_n)\\\\&lt;br /&gt;
&lt;br /&gt;
B(x_n)= \epsilon_x x_n y_n\\&lt;br /&gt;
B(y_n)= - \epsilon_y x_n y_n\\\\&lt;br /&gt;
&lt;br /&gt;
X_1 = x_n + sqrt{\Delta t} A(x_n) + \Delta W_n B(x_n)\\&lt;br /&gt;
Y_1 = y_n + sqrt{\Delta t} A(y_n) + \Delta W_n B(y_n)\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10858</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10858"/>
		<updated>2024-08-27T00:58:28Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Notas=&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10856</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10856"/>
		<updated>2024-08-27T00:54:34Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação. &amp;lt;ref&amp;gt;Nos gráficos e no código que seguem, &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é identificado como &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;, mas aqui optou-se por usar &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; para não confundir com um diferencial.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \bullet dW_x\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t) \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. Um dos problemas mais sérios com relação ao modelo é que mesmo na ausência de presas a população de predadores pode crescer indefinidamente, o que não condiz com a realidade.&lt;br /&gt;
&lt;br /&gt;
As simulações realizadas variando os parâmetros trouxeram pequenas modificações no comportamento do sistema, como a alteração do período, a quantidade de órbitas bem definidas e suas amplitudes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie a3.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os períodos vão diminuindo conforme &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; aumenta enquanto as amplitudes tendem a diminuir. Os ruídos se tornaram mais presentes com grandes variâncias nas simulações com &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; pequenos. Outra tendência observada foi de que o regime ruídoso parece ocorrer mais tarde para valores de &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; maiores. O que provavelmente está associado com o fato de o ruído se tornar mais presente para pequenas oscilações temporais do número de presas, o que ocorre na região próxima do ponto fixo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10853</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10853"/>
		<updated>2024-08-27T00:50:30Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação.&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X\\ Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X\\ Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10852</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10852"/>
		<updated>2024-08-27T00:49:51Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich *&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação.&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x X Y \xi_x(t) \\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y X Y \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10851</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10851"/>
		<updated>2024-08-27T00:45:59Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Stratonovich */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação.&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) \xi_y(t)\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_x(t) \xi_y(t)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10847</id>
		<title>Equações de Lotka-Volterra Estocásticas</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%B5es_de_Lotka-Volterra_Estoc%C3%A1sticas&amp;diff=10847"/>
		<updated>2024-08-27T00:41:08Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
O modelo de Lotka-Volterra foi desenvolvido originalmente na década de 1920, de maneira independente por Vito Volterra e Alfred Lotka, e é utilizado para descrever a dinâmica de populações com relações de predatismo. Em sua forma mais simples, as equações de Lotka-Volterra podem ser escritas como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{x} = x(a - by)\\ &lt;br /&gt;
&lt;br /&gt;
\dot{y} = y(-c + fx)&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; denotam, respectivamente, a densidade populacional de presas e de predadores, e &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; são constantes positivas.&lt;br /&gt;
&lt;br /&gt;
Pode-se interpretar os parâmetros da seguinte maneira:&lt;br /&gt;
*&amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt;: taxa de crescimento livre da presa;&lt;br /&gt;
*&amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;: taxa de predação;&lt;br /&gt;
*&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;: taxa de mortalidade livre do predador;&lt;br /&gt;
*&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;: taxa de crescimento do predador devido à predação.&lt;br /&gt;
&lt;br /&gt;
É interessante notar que o sistema apresenta um ponto fixo não trivial em &amp;lt;math&amp;gt;(x^\ast, y^\ast) = \left(\frac{c}{f},\frac{a}{b}\right)&amp;lt;/math&amp;gt;. Pode-se mostrar também que as demais soluções (além da trivial) são órbitas fechadas no espaço de fase.&lt;br /&gt;
&lt;br /&gt;
Nesse modelo simples, não há competição entre indivíduos de uma mesma espécie e não há limite ecológico para o sustento das populações; ou seja, a população de presas cresce exponencialmente na ausência de predadores. A fim de tornar esse modelo mais realista, pretendemos estudar versões estocásticas do mesmo, que podem ser construídas de diferentes maneiras, e analisar o efeito do ruído sobre o comportamento dinâmico.&lt;br /&gt;
&lt;br /&gt;
=Modelo estocástico=&lt;br /&gt;
Buscamos construir um modelo estocástico de Lotka-Volterra utilizando um processo de Wiener; contudo, a adição de ruído branco nas equações diferenciais pode ser feita de várias maneiras. Consideraremos, aqui, duas delas: ruído adicionado nos parâmetros e ruído externo ao sistema.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
Como primeiro modelo, simplesmente adicionaremos um ruído externo nas equações diferenciais. Esse ruído pode ser interpretado como fatores ambientais independentes das populações, causando tanto benefícios (abundância de alimento, condições climáticas favoráveis para reprodução etc.) como prejuízos (escassez, condições climáticas desfavoráveis etc.). Como as equações tratam de densidades populacionais, devemos utilizar um ruído _multiplicativo_, pois os efeitos dos fatores externos sentidos pelas populações devem ser proporcionais ao tamanho dela. Assim, escrevemos o modelo como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x X\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) + \epsilon_y \xi_y Y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde os &amp;lt;math&amp;gt;\xi_i&amp;lt;/math&amp;gt; são os ruídos brancos de cada variável, e &amp;lt;math&amp;gt;\epsilon_i&amp;lt;/math&amp;gt;, a intensidade dos mesmos.&lt;br /&gt;
&lt;br /&gt;
Ao escrever o diferencial total, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY)dt + \epsilon_x X \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX)dt + \epsilon_y Y \bullet dW_y&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
Transformando as equações acima para equações diferenciais estocásticas no sentido de Itô, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + \frac{1}{2} {\epsilon_x}^2)dt + \epsilon_x X dW_x \\&lt;br /&gt;
dY = Y(-c + fX + \frac{1}{2} {\epsilon_y}^2)dt + \epsilon_y Y dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observa-se que, além de um incremento de Wiener proporcional a &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt;, obtém-se parâmetros determinísticos &amp;quot;efetivos&amp;quot; &amp;lt;math&amp;gt;a \to a + \frac{1}{2}{\epsilon_x}^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c \to c - \frac{1}{2}{\epsilon_y}^2&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
&lt;br /&gt;
Analisaremos o modelo proposto no sentido de Itô e no sentido de Stratonovich.&lt;br /&gt;
&lt;br /&gt;
===Itô===&lt;br /&gt;
&lt;br /&gt;
Uma outra maneira de explorar o ruído nas equações de Lotka-Volterra é substituir o ruído de tal maneira que &amp;lt;math&amp;gt; a \to a + {\epsilon_x}X\xi_x(t)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c \to c + {\epsilon_y}Y\xi_y(t)&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;\epsilon_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\epsilon_y&amp;lt;/math&amp;gt; são constantes e &amp;lt;math&amp;gt;\xi_i(t)&amp;lt;/math&amp;gt; é o ruído branco definido pelo processo de Wiener. O que modelaria um sistema que relaciona as populações entre dois níveis vizinhos da cadeia alimentar, abrangendo uma biodiversidade representada por parâmetros efetivos estocásticos nas taxas  &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; proporcional ao número de presas e predadores, ou seja, há uma diversidade de taxas de reprodutibilidade das presas e mortalidades dos predadores, o que representaria diversas populações de especíes diferentes. Dessa maneira, obtém-se a seguinte equação diferencial:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\dot{X} = X(a - bY) + \epsilon_x \xi_x(t) X^2\\&lt;br /&gt;
\dot{Y} = Y(-c + fX) - \epsilon_y \xi_y(t) Y^2&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seja &amp;lt;math&amp;gt;A_x(X(t), Y(t)) = X(a - bY)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;A_y(X(t), Y(t))=Y(-c + fX)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; B_x(X(t)) = \epsilon_x X^2&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;B_y(Y(t)) = \epsilon_x Y^2&amp;lt;/math&amp;gt;. Integra-se essa equação em ambos os lados&lt;br /&gt;
de tal forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
\int _t ^{t + \Delta t}{dX}  = \int _t ^{t + \Delta t}{X(a - bY)dt'} + \epsilon_x \int _t ^{t + \Delta t} {X^2 \xi_x(t')dt'} \\&lt;br /&gt;
\int _t ^{t + \Delta t}{dY}  = \int _t ^{t + \Delta t}{Y(-c + fX)dt'} + \epsilon_y \int _t ^{t + \Delta t} {Y^2 \xi_y(t')dt'}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A parte determinista é integrada trivialmente, porém para integrar o segundo termo das equações é necessário aproximar &amp;lt;math&amp;gt;B_x(X(t)) \to B_x \left(X + \frac{1}{2}\Delta X \right)&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, e o mesmo para &amp;lt;math&amp;gt;B_y(Y(t))&amp;lt;/math&amp;gt;. Expande-se &amp;lt;math&amp;gt;B_i&amp;lt;/math&amp;gt; em série de Taylor, conforme o cálculo de Itô, e então obtém-se as equações diferenciais estocásticas ao tomar o limite &amp;lt;math&amp;gt;\Delta t \to dt&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
dX = X(a - bY + {\epsilon_x}^2 X^2)dt + \epsilon_x X^2 \bullet dW_x \\&lt;br /&gt;
dY = Y(-c + fX +{\epsilon_y}^2 Y^2)dt - \epsilon_y Y^2 \bullet dW_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao integrá-las de &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; a &amp;lt;math&amp;gt;t + \Delta t&amp;lt;/math&amp;gt; obtém-se o método numérico utilizado para fazer as simulações computacionais. Nota-se que a integral dos segundos termos são aproximadas para &amp;lt;math&amp;gt;B_i\Delta W_i&amp;lt;/math&amp;gt; no intervalo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Então, é utilizado o método de Heun para integrar a parte determinística da equação, obtendo portanto o seguinte método:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
X_{n+1} = X_n + \frac{1}{2}(k_{1x} + k_{2x})\Delta t + \epsilon_x X_n^2 \Delta W_x \\&lt;br /&gt;
Y_{n+1} = Y_n +\frac{1}{2}(k_{1y} + k_{2y})\Delta t - \epsilon_y Y_n^2 \Delta W_y \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
&lt;br /&gt;
k_{1x} = X_n(a - bY_n + {\epsilon_x}^2 X_n^2)\\&lt;br /&gt;
k_{2x} = (X_n + k_{1x}\Delta t)(a - b(Y_n + k_{1y}\Delta t) + {\epsilon_x}^2 (X_n + k_{1x}\Delta t)^2)\\&lt;br /&gt;
k_{1y} = Y_n(-c + dX_n + {\epsilon_y}^2 Y_n^2)\\&lt;br /&gt;
k_{2x} = (Y_n + k_{1y}\Delta t)(-c + d(X_n + k_{1x}\Delta t) + {\epsilon_y}^2 (Y_n + k_{1y}\Delta t)^2)\\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O índice &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; representa o passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; na iteração do método.&lt;br /&gt;
&lt;br /&gt;
===Stratonovich===&lt;br /&gt;
&lt;br /&gt;
=Código=&lt;br /&gt;
A estrutura do código foi a mesma para os três casos considerados, mudando apenas os detalhes da equação diferencial utilizada. A integração numérica da parte determinística foi feita pelo Método de Heun. Todas as análises foram realizadas a partir de um número N de realizações independentes e então calcula-se a média e/ou variância para cada passo de tempo destas realizações. Podendo analisar fielmente as tendências do sistema estatisticamente. &lt;br /&gt;
&lt;br /&gt;
=Resultados=&lt;br /&gt;
Nesta seção, abordará-se-a diversos aspectos sobre o comportamento numérico dos sistemas simulados. Avalia-se qualitativamente estabilidade e o comportamento do sistema conforme variação dos parâmetros a, b, c, f, condições iniciais e também da intensidade do ruído.&lt;br /&gt;
&lt;br /&gt;
==Ruído externo==&lt;br /&gt;
&lt;br /&gt;
==Ruído nos parâmetros==&lt;br /&gt;
Primeiramente realizou-se simulações variando o número de presas iniciais para um número fixo de predadores, representando-o em um mapa de fase da média de 50 realizações:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Mapacondiniciais.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento característico de atratores, onde o ponto fixo das equações de Lotka-Volterra determinística é o mesmo (ponto vermelho). Evidencia-se que esse ponto fixo não depende das condições iniciais.&lt;br /&gt;
&lt;br /&gt;
O comportamento atrativo fica claro ao analisar a média e a variância em função do tempo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie1.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As amplitudes para os predadores e as presas diminuem conforme o tempo, porém nota-se que o ruído passa a se tornar mais evidente quando as amplitudes das órbitas são menores.&lt;br /&gt;
&lt;br /&gt;
Com a finalidade de testar a coerência do sistema com o determinístico, integrou-se as equações para um ruído da ordem de &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie4.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostrando, portanto, que o sistema estocástico se reduz ao determinístico no limite em que o ruído é muito pequeno, dado que observa-se órbitas fechadas. Espera-se que a variância seja nula em um sistema determinístico, porém numericamente obteve-se oscilações que são da ordem do ruído ou menor, corroborando para a convergência do sistema estocástico para o determinístico para pequenos ruídos. &lt;br /&gt;
&lt;br /&gt;
Ao realizar as simulações notou-se que o sistema é bastante sensível ao ruído, convergindo para valores bem estritos para os parâmetros, ruído e condição inicial. Mostrando, portanto, que embora esse sistema modele uma interação entre dois níveis da cadeia alimentar, ele possui alguns graves problemas, como a fácil divergência, devido, provavelmente, aos termos cúbicos das equações. Porém também houve resultados interessantes como os atratores, que podem representar uma espécie de equilíbrio ecológico, onde não há extinções com o passar do tempo. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# BRAUER, F.; CASTILLO-CHAVEZ, C. Mathematical Models in Population Biology and Epidemiology. New York, NY: Springer New York, 2012. v. 40&lt;br /&gt;
# COELHO, P. J. de O. Equações de Lotka–Volterra Estocásticas: Simulações com o Matlab. 25 de junho de 2015. Disponível em https://www.academia.edu/52185574/Sistema_de_competi%C3%A7%C3%A3o_Lotka_Volterra_sob_ru%C3%ADdo_branco. Acesso em ago. 2024.&lt;br /&gt;
# SCHERER, C. Métodos computacionais da física. 2. ed ed. São Paulo: Liv. da Física, 2010. &lt;br /&gt;
# KHASMINSKII, R. Z.; KLEBANER, F. C. Long term behavior of solutions of the Lotka-Volterra system under small random perturbations. The Annals of Applied Probability, v. 11, n. 3, 1 ago. 2001.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10531</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10531"/>
		<updated>2024-05-16T18:18:03Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Equação 2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, contendo apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao caso de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como &amp;lt;math&amp;gt;t_n=t0+n\Delta t&amp;lt;/math&amp;gt; na dimensão &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; na forma &amp;lt;math&amp;gt;y_j=y_0+jh&amp;lt;/math&amp;gt; e na dimensão &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; como &amp;lt;math&amp;gt;x_i=x_0+ih&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao substituir as derivadas pela forma discreta, e isolar o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10530</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10530"/>
		<updated>2024-05-16T18:16:03Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Método Leap-frog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, contendo apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao caso de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como &amp;lt;math&amp;gt;t_n=t0+n\Delta t&amp;lt;/math&amp;gt; na dimensão &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; na forma &amp;lt;math&amp;gt;y_j=y_0+jh&amp;lt;/math&amp;gt; e na dimensão &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; como &amp;lt;math&amp;gt;x_i=x_0+ih&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao substituir as derivadas pela forma discreta, e isolar o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10529</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10529"/>
		<updated>2024-05-16T18:15:26Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Método Leap-frog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, contendo apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao caso de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como &amp;lt;math&amp;gt;t_n=t0+n\delta t&amp;lt;/math&amp;gt; na dimensão &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; na forma &amp;lt;math&amp;gt;y_j=y_0+jh&amp;lt;/math&amp;gt; e na dimensão &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; como &amp;lt;math&amp;gt;x_i=x_0+ih&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;i&amp;lt;/math&amp;gt; são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao substituir as derivadas pela forma discreta, e isolar o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10528</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10528"/>
		<updated>2024-05-16T18:13:35Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Método Leap-frog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, contendo apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao substituir as derivadas pela forma discreta, e isolar o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10527</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10527"/>
		<updated>2024-05-16T18:10:52Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Coulombiano */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10526</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10526"/>
		<updated>2024-05-16T18:10:17Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10525</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10525"/>
		<updated>2024-05-16T18:09:40Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;\mathbf{|\Phi|^2}&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10524</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10524"/>
		<updated>2024-05-16T18:09:09Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;mathbf{|\Phi|^2}&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10523</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10523"/>
		<updated>2024-05-16T18:07:53Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Estabilidade do Método Leap-frog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(3)]]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\phi|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10522</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10522"/>
		<updated>2024-05-16T18:07:01Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em [[Equação_de_Dirac#Referências|(3)]], onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade &amp;lt;math&amp;gt;|\phi|^2&amp;lt;/math&amp;gt; forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10521</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10521"/>
		<updated>2024-05-16T18:05:43Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em ([[Equação_de_Dirac#Referências|(3)]]), onde recebe o nome de &amp;quot;honeycomb potential&amp;quot;. Observa-se, no período de tempo exibido, o espalhamento da função potencial no plano cartesiano e que a função densidade de probabilidade forma um contorno de curva que se assemelha um favo de mel.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10520</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10520"/>
		<updated>2024-05-16T17:56:34Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado em . Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10519</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10519"/>
		<updated>2024-05-16T17:54:02Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Equação 2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
tmax=8.&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,tmax,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0;&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi1,psi4,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi1)&lt;br /&gt;
		prob = abs2.(psi1[i])+abs2.(psi4[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-0.5,1.75),clim=(0, maximum(prob)))&lt;br /&gt;
		i+=5&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;psi_coulomb.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=15)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,anim_psi4,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10518</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10518"/>
		<updated>2024-05-16T17:51:10Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Coulombiano */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se a dispersão para o infinito no momento inicial e o movimento semelhante a uma órbita que a curva de densidade de probabilidade realiza em torno do centro do sistema de coordenadas, pois o potencial escolhido varia radialmente de forma positiva. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas, nesse caso, é exclusivo de pontos próximos ao ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10517</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10517"/>
		<updated>2024-05-16T17:38:37Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Cossenoide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
[[Arquivo:Psi_cosin.gif]]&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10516</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10516"/>
		<updated>2024-05-16T17:37:59Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Coulombiano */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
[[Arquivo:Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Psi_cosin.gif&amp;diff=10515</id>
		<title>Arquivo:Psi cosin.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Psi_cosin.gif&amp;diff=10515"/>
		<updated>2024-05-16T17:36:36Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10514</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10514"/>
		<updated>2024-05-16T17:34:08Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Potencial Coulombiano */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
[[Psi_coulomb.gif]]&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Psi_coulomb.gif&amp;diff=10513</id>
		<title>Arquivo:Psi coulomb.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Psi_coulomb.gif&amp;diff=10513"/>
		<updated>2024-05-16T17:30:03Z</updated>

		<summary type="html">&lt;p&gt;Andredv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10500</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10500"/>
		<updated>2024-05-12T21:41:52Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Estabilidade do Método Leap-frog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt; [[Equação_de_Dirac#Referências|(2)]&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10499</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10499"/>
		<updated>2024-05-12T21:38:34Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10498</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10498"/>
		<updated>2024-05-12T21:38:06Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Referências */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;br /&gt;
# Bao, W.; Cai, Y.; Jia, X.; Tang, Q. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134. (2017).&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10482</id>
		<title>Equação de Dirac</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Equa%C3%A7%C3%A3o_de_Dirac&amp;diff=10482"/>
		<updated>2024-05-08T01:20:21Z</updated>

		<summary type="html">&lt;p&gt;Andredv: /* Simulações em Julia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Grupo:''' André Luis Della Valentina, Lucas dos Santos Assmann, Vinícius Bayne Müller&lt;br /&gt;
&lt;br /&gt;
=Introdução=&lt;br /&gt;
A equação de Dirac descreve uma partícula relativística de spin &amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;, como o elétron, com estrutura análoga a da equação de Schrödinger. Ela surgiu inicialmente como tentativa de explicar discrepâncias entre experimentos e teoria para o espectro do átomo de hidrogênio, possibilitando correções para o cálculo da energia do elétron em diferentes níveis (as chamadas correções de ''estrutura fina''). Além disso, por meio dela foi possível prever a existência de antimatéria: descrevendo o elétron, ela também descreve o pósitron.&lt;br /&gt;
&lt;br /&gt;
A fim de compatibilizar a Mecânica Quântica com a Relatividade Especial, a equação diferencial parcial é de ''primeira'' ordem tanto no tempo quanto no espaço (diferentemente da equação de Schrödinger, que é de ''segunda'' ordem no espaço). A equação de Dirac pode ser escrita de diversas formas; aqui, apresentamo-la explicitamente como um sistema de EDPs acopladas, mais conveniente para os propósitos do trabalho.&lt;br /&gt;
&lt;br /&gt;
Assim como a equação de Schrödinger, a construção da equação de Dirac vem a partir do operador Hamiltoniano, que descreve a evolução temporal do estado quântico em questão:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar\frac{\partial}{\partial t} \Psi(\boldsymbol{x},t) = H \Psi(\boldsymbol{x},t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde, como anteriormente, os autovalores de &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; correspondem aos valores possíveis de energia que o sistema pode assumir.&lt;br /&gt;
&lt;br /&gt;
A mudança com relação à Mecânica Quântica não relativística acontece quando consideramos a energia relativística da partícula:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
E^2 = p^2c^2 + m^2c^4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, o Hamiltoniano é modificado para representar a medida da energia relativística total.&lt;br /&gt;
&lt;br /&gt;
Diferentemente da equação de Schrödinger, aqui &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; não representa apenas uma função de onda, mas sim um conjunto de ''quatro'' delas. Usando a notação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Psi = \begin{bmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
as componentes de &amp;lt;math&amp;gt;\Psi&amp;lt;/math&amp;gt; representam as funções de onda associadas ao elétron e ao pósitron: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt;) representa a função de onda do elétron com spin up (down), e &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;) representa a função de onda do pósitron com spin up (down). O objeto &amp;lt;math&amp;gt;\Psi(\boldsymbol{x},t)&amp;lt;/math&amp;gt; é chamado de ''spinor''.&lt;br /&gt;
&lt;br /&gt;
=Dedução da equação de Dirac em uma e duas dimensões=&lt;br /&gt;
Consideraremos neste trabalho a equação de Dirac em uma e duas dimensões, &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;. A escolha dessas coordenadas se dá pela conveniência do acoplamento das EDPs: nesse caso, as quatro equações acopladas passam a ser acopladas duas a duas, facilitando o estudo do sistema. A dedução aqui apresentada é baseada em [[Equação_de_Dirac#Referências|(1)]] e [[Equação_de_Dirac#Referências|(2)]].&lt;br /&gt;
&lt;br /&gt;
==Construção do Hamiltoniano completo==&lt;br /&gt;
Consideremos uma partícula sob ação de um potencial &amp;lt;math&amp;gt;V(\boldsymbol{x};t)&amp;lt;/math&amp;gt; (onde &amp;lt;math&amp;gt;\boldsymbol{x} = (x, y, z)^{T}&amp;lt;/math&amp;gt;), que afeta a energia potencial da partícula, e de um potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}(\boldsymbol{x};t)&amp;lt;/math&amp;gt;, que afeta a massa de repouso da mesma. Seguindo uma das propostas possíveis para o Hamiltoniano, temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = c \boldsymbol{\alpha} \cdot \boldsymbol{p} + \beta(mc^2 + V_{sc}) + VI_4&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\boldsymbol{\alpha} = \alpha_x \hat{i} + \alpha_y \hat{j} + \alpha_z \hat{k}&amp;lt;/math&amp;gt;; &amp;lt;math&amp;gt;\alpha_i&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; são matrizes 4x4 adimensionais e &amp;lt;math&amp;gt;\boldsymbol{p}&amp;lt;/math&amp;gt; é o vetor momento linear da partícula. &lt;br /&gt;
&lt;br /&gt;
Pode-se mostrar que &amp;lt;math&amp;gt;\boldsymbol{\alpha}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; devem satisfazer certos vínculos, limitando as escolhas possíveis para essas matrizes. A escolha mais simples e usualmente adotada consiste em tomar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\beta = \begin{pmatrix} I_2 &amp;amp; 0 \\ 0 &amp;amp; -I_2 \end{pmatrix} = \begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; -1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_x = \begin{pmatrix} 0 &amp;amp; \sigma_x \\ \sigma_x &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_y = \begin{pmatrix} 0 &amp;amp; \sigma_y \\ \sigma_y &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -i \\ 0 &amp;amp; 0 &amp;amp; i &amp;amp; 0 \\ 0 &amp;amp; -i &amp;amp; 0 &amp;amp; 0 \\ i &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\alpha_z = \begin{pmatrix} 0 &amp;amp; \sigma_z \\ \sigma_z &amp;amp; 0 \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; -1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; -1 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;\boldsymbol{p} = -i\hbar\nabla&amp;lt;/math&amp;gt;, podemos escrever o produto escalar &amp;lt;math&amp;gt;\boldsymbol{\alpha} \cdot \boldsymbol{p}&amp;lt;/math&amp;gt; como&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; \boldsymbol{\alpha} \cdot \boldsymbol{p} = -i\hbar\left(\alpha_x \frac{\partial}{\partial x} + \alpha_y \frac{\partial}{\partial y} + \alpha_z \frac{\partial}{\partial z}\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Portanto, em notação matricial o Hamiltoniano &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt; pode ser escrito como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = -i \hbar c&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; \frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} \\&lt;br /&gt;
\frac{\partial}{\partial z} &amp;amp; \frac{\partial}{\partial x} - i\frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\frac{\partial}{\partial x} + i\frac{\partial}{\partial y} &amp;amp; -\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix} + &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + mc^2 + V_{sc} &amp;amp; 0 &amp;amp; -i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + mc^2 + V_{sc} &amp;amp; -i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial z} &amp;amp; -i\hbar c\frac{\partial}{\partial x} - \hbar c\frac{\partial}{\partial y} &amp;amp; V - mc^2 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\hbar c\frac{\partial}{\partial x} + \hbar c\frac{\partial}{\partial y} &amp;amp; i\hbar c\frac{\partial}{\partial z} &amp;amp; 0 &amp;amp; V - mc^2 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unidades naturais e redução para duas dimensões==&lt;br /&gt;
A fim de simplificar o formalismo, adotamos as chamadas &amp;quot;unidades naturais&amp;quot;, onde &amp;lt;math&amp;gt; \hbar = c = m = 1 &amp;lt;/math&amp;gt;. Note que isso equivale a reescalar as quantidades físicas do problema por um fator adequado. Ao fazer &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, também assumimos que a partícula está no limite relativístico.&lt;br /&gt;
&lt;br /&gt;
Além disso, queremos estudar o problema em duas dimensões. Observamos que &amp;lt;math&amp;gt;\Psi(x,y,z) = \Psi(x,y)&amp;lt;/math&amp;gt;; logo, &amp;lt;math&amp;gt;\frac{\partial \Psi}{\partial z} = 0&amp;lt;/math&amp;gt;. Portanto, temos o Hamiltoniano simplificado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
H = \begin{pmatrix}&lt;br /&gt;
V + 1+ V_{sc} &amp;amp; 0 &amp;amp; 0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; V + 1 + V_{sc} &amp;amp; -i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; -i\frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; V - 1 - V_{sc} &amp;amp; 0 \\&lt;br /&gt;
-i\frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; V - 1 - V_{sc} \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Forma explícita final==&lt;br /&gt;
Retornando ao problema original, queremos resolver&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i\hbar \frac{\partial}{\partial t} \Psi = H\Psi \to \left[iI_4\frac{\partial}{\partial t} - H\right]\Psi = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Novamente utilizando a notação matricial, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial t} - V - V_{sc} - 1 &amp;amp; i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; i \frac{\partial}{\partial x} + \frac{\partial}{\partial y} &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1 &amp;amp; 0 \\&lt;br /&gt;
i \frac{\partial}{\partial x} - \frac{\partial}{\partial y} &amp;amp; 0 &amp;amp; 0 &amp;amp; i \frac{\partial}{\partial t} - V + V_{sc} + 1&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
\begin{pmatrix} \Phi_1 \\ \Phi_2 \\ \Phi_3 \\ \Phi_4 \end{pmatrix}&lt;br /&gt;
= 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Realizando a multiplicação matricial, pode-se ver que se obtém dois sistemas acoplados: &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\Phi_2&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_3&amp;lt;/math&amp;gt;. Escolhendo o sistema de &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; com &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\left(i \dfrac{\partial}{\partial t} - V - V_{sc} - 1\right) \Phi_1 + \left(i \dfrac{\partial}{\partial x} + \dfrac{\partial}{\partial y}\right) \Phi_4 = 0 \\&lt;br /&gt;
\left(i \dfrac{\partial}{\partial x} - \dfrac{\partial}{\partial y}\right) \Phi_1 + \left(i \dfrac{\partial}{\partial t} - V + V_{sc} + 1\right) \Phi_4 = 0&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simplificando e isolando a derivada temporal, obtemos por fim&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} + i\dfrac{\partial \Phi_4}{\partial y} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x} - i\dfrac{\partial \Phi_1}{\partial y}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, a equação em uma dimensão (&amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;) é facilmente obtida: basta fazer &amp;lt;math&amp;gt;\dfrac{\partial \Phi_1}{\partial y} = \dfrac{\partial \Phi_4}{\partial y} = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial \Phi_1}{\partial t} = -i(V + V_{sc} + 1) \Phi_1 -\dfrac{\partial \Phi_4}{\partial x} \\&lt;br /&gt;
\dfrac{\partial \Phi_4}{\partial t} = -i(V - V_{sc} - 1) \Phi_4 -\dfrac{\partial \Phi_1}{\partial x}&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, serão considerados principalmente problemas apenas com o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;; assim, caso indicado o contrário, será assumido &amp;lt;math&amp;gt;V_{sc}=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Discretização=&lt;br /&gt;
&lt;br /&gt;
A equação de Dirac 1D pode ser escrita, na forma matricial, como &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-i\sigma_1\partial_x + \sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\mathbf{\Phi} = (\phi_1, \phi_4)^T&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; é matriz identidade de dimensão 2. As matrizes de Pauli &amp;lt;math&amp;gt;\vec{\sigma}&amp;lt;/math&amp;gt; são escritas, aqui, como &amp;lt;math&amp;gt;\sigma_1 = \sigma_x&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\sigma_3 = \sigma_z&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para discretizar uma equação diferencial parcial como essa, é necessário discretizar o espaço e o tempo. Convenciona-se &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; como um passo finito de tempo e &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt; como um passo finito no espaço, de tal forma que &amp;lt;math&amp;gt;x_j = x_0 + jh, t_n = t_0 + n\Delta t&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;j,n&amp;lt;/math&amp;gt; são números inteiros. Define-se a notação &amp;lt;math&amp;gt;\mathbf{\Phi}(t_n, x_j) = \mathbf{\Phi}_j ^n&amp;lt;/math&amp;gt; e também &amp;lt;math&amp;gt;V(t_n,x_n) = V^n _j&amp;lt;/math&amp;gt;. Discretiza-se as derivadas parciais explicitamente com uma expansão em série de taylor da própria função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
	\mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \partial_t \mathbf{\Phi^n _j} \Delta t + \mathcal{O}(\Delta t ^2)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando uma derivada discretizada &amp;lt;math&amp;gt;\delta_t \approx \partial_t&amp;lt;/math&amp;gt; e truncando na primeira ordem:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O processo é completamente análogo para a derivada espacial, porém para facilitar a aplicação do método mantém-se o espaço centrado em &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;, em outras palavras faz-se uma expansão em torno de &amp;lt;math&amp;gt;x_{j-1}&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_x\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com isso, obtém-se uma equação para um método explícito no tempo da equação de Dirac 1D.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + [V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^n _j} + \Delta t[V^n _jI_2] \mathbf{\Phi^n _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pode-se também desenvolver um método implícito no tempo fazendo a expansão de &amp;lt;math&amp;gt;\mathbf{\Phi^{n-1} _j}&amp;lt;/math&amp;gt; em torno de &amp;lt;math&amp;gt;t_n&amp;lt;/math&amp;gt;, obtendo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			\delta_t\mathbf{\Phi^n _j} = \frac{\mathbf{\Phi^{n} _j} - \mathbf{\Phi^{n-1} _j}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ao aplicar esta aproximação na equação discretizada basta dar um passo a frente em todos os elementos, obtendo um método implícito no tempo, já que há dependência com &amp;lt;math&amp;gt;t_{n+1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
			i \mathbf{\Phi^{n+1} _j} = \mathbf{\Phi^n _j} + \Delta t[-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1} _j} + \Delta t[V^{n+1} _jI_2] \mathbf{\Phi^{n+1} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste trabalho, foram utilizados dois métodos de integração numérica diferentes: o de Crank-Nicolson, para a equação de Dirac em uma dimensão, e o de Leap-Frog, para a equação em duas dimensões. Deixamos [[Equação_de_Dirac#Referências|(3)]] como referência para estes e outros métodos numéricos aplicados ao problema.&lt;br /&gt;
&lt;br /&gt;
==Método de Crank-Nicolson==&lt;br /&gt;
&lt;br /&gt;
O método de Crank-Nicolson (CN) consiste em uma média entre um método explícito e outro implícito no espaço. Utilizar-se-á a notação &amp;lt;math&amp;gt;\mathbf{\Phi^{n+1/2} _j}&amp;lt;/math&amp;gt; para representar justamente a média entre ambos os métodos, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		\mathbf{\Phi^{n+1/2} _j} = \frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Define-se a notação:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
V^{n+1/2} _j\mathbf{\Phi^{n+1/2} _j} = \frac{ V^{n+1} _j\mathbf{\Phi^{n+1} _j} + V^{n} _j\mathbf{\Phi^n _j}}{2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa maneira, enuncia-se o método CN para a equação de Dirac 1D como: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \delta_t \mathbf{\Phi^n _j} = [-i\sigma_1\delta_x + \sigma_3] \mathbf{\Phi^{n+1/2} _j} + [V^{n+1/2} _jI_2] \mathbf{\Phi^{n+1/2} _j}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;\delta_t, \delta_x &amp;lt;/math&amp;gt; são as discretizações explícitas das derivadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para que seja possível aplicar e estudar o método, é necessário passar da notação matricial para escalar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \delta_t \mathbf{\Phi^n _j} = -i\sigma_1\delta_x\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
		i \frac{\mathbf{\Phi^{n+1} _j} - \mathbf{\Phi^n _j}}{\Delta t} = -\frac{i}{2}\sigma_1\left[\frac{\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}}{2h} + \frac{\mathbf{\Phi^n _{j+1}} - \mathbf{\Phi^n _{j-1}}}{2h} \right]   + \sigma_3\left(\frac{\mathbf{\Phi^{n+1} _j} + \mathbf{\Phi^n _j}}{2}\right)  + I_2 \left(\frac{V^{n+1} _j \mathbf{\Phi^{n+1} _j} + V^n _j\mathbf{\Phi^n _j}}{2}\right) &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isolando cada tempo em um lado da igualdade:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{\Phi^{n+1} _j} + \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n+1} _{j+1}} - \mathbf{\Phi^{n+1} _{j-1}}\right] = &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _j I_2\right]\mathbf{\Phi^{n} _j} - \frac{\Delta t}{4h}\sigma_1\left[\mathbf{\Phi^{n} _{j+1}} - \mathbf{\Phi^{n} _{j-1}}\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Abrindo as matrizes &amp;lt;math&amp;gt;\sigma_1, \sigma_3&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;I_2&amp;lt;/math&amp;gt; e operando-as sobre o vetor &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt; na equação, tem-se:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; 1 \\	&lt;br /&gt;
	\end{bmatrix} &lt;br /&gt;
	+\frac{i\Delta t}{2}&lt;br /&gt;
	  \begin{bmatrix}&lt;br /&gt;
		1 &amp;amp; 0 \\&lt;br /&gt;
		0 &amp;amp; -1 \\&lt;br /&gt;
	  \end{bmatrix}&lt;br /&gt;
  	+ \frac{i}{2}\Delta t V^{n+1} _j&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			1 &amp;amp; 0 \\&lt;br /&gt;
  			0 &amp;amp; 1 \\&lt;br /&gt;
  		\end{bmatrix}\right)&lt;br /&gt;
  		\begin{bmatrix}&lt;br /&gt;
  			\psi^{n+1} _{1,j} \\&lt;br /&gt;
  			\psi^{n+1} _{4,j} \\&lt;br /&gt;
  		\end{bmatrix}&lt;br /&gt;
  	+\frac{\Delta t}{4h}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		0 &amp;amp; 1 \\&lt;br /&gt;
  		1 &amp;amp; 0 \\&lt;br /&gt;
  	\end{bmatrix}&lt;br /&gt;
  	\begin{bmatrix}&lt;br /&gt;
  		\psi^{n+1} _{1,j+1} - \psi^{n+1} _{1,j-1} \\&lt;br /&gt;
  		\psi^{n+1} _{4,j+1} - \psi^{n+1} _{4,j-1} \\&lt;br /&gt;
  	\end{bmatrix}  = &lt;br /&gt;
\left(\begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\	&lt;br /&gt;
  \end{bmatrix} &lt;br /&gt;
  -\frac{i\Delta t}{2}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; -1 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{i}{2}\Delta t V^{n} _j&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  \end{bmatrix}\right)&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j} \\&lt;br /&gt;
  	\psi^{n} _{4,j} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  -\frac{\Delta t}{4h}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	0 &amp;amp; 1 \\&lt;br /&gt;
  	1 &amp;amp; 0 \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
  \begin{bmatrix}&lt;br /&gt;
  	\psi^{n} _{1,j+1} - \psi^{n} _{1,j-1} \\&lt;br /&gt;
  	\psi^{n} _{4,j+1} - \psi^{n} _{4,j-1} \\&lt;br /&gt;
  \end{bmatrix}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pode-se realizar as operações matriciais e escrever duas equações escalares. Para facilitar a notação, utiliza-se &amp;lt;math&amp;gt;f^n _j = \psi^n _{1,j}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;g^n _j = \psi^n _{4,j}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 \begin{cases}&lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)\right]f^{n+1} _j + \frac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j + 1)\right]f^{n} _j - \frac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1}) \\ &lt;br /&gt;
\left[1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)\right]g^{n+1} _j + \frac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) = \left[1 - \frac{i \Delta t}{2}(V^{n} _j - 1)\right]g^{n} _j - \frac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
 \end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tem-se então um número &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; de equações onde &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; é o número de elementos do espaço discretizado. Portanto o primeiro termo das duas equações gera uma matriz diagonal, pois multiplica os termos espaciais dependentes de &amp;lt;math&amp;gt;x_j&amp;lt;/math&amp;gt;; já o segundo termo gera uma matriz tridiagonal com diagonal principal nula. Nota-se que os primeiros termos dos dois lados da igualdade são o conjugado um do outro: define-se, portanto, &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^{n+1} _j + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta = 1 + \frac{i \Delta t}{2}(V^{n+1} _j - 1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	\alpha^{n+1}f^{n+1} _j + \dfrac{\Delta t}{4h}(g^{n+1}_{j+1} - g^{n+1}_{j-1}) =&lt;br /&gt;
	\alpha^{n^*}f^{n} _j - \dfrac{\Delta t}{4h}(g^{n}_{j+1} - g^{n}_{j-1} ) \\&lt;br /&gt;
	&lt;br /&gt;
	\beta^{n+1}g^{n+1} _j + \dfrac{\Delta t}{4h}(f^{n+1}_{j+1} - f^{n+1}_{j-1} ) =&lt;br /&gt;
	\beta^{n^*}g^{n} _j - \dfrac{\Delta t}{4h}(f^{n}_{j+1} - f^{n}_{j-1}) &lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Considerando que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é só função da posição, escreve-se o método como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	Af^{n+1} + Bg^{n+1} = A^*f^n - Bg^n \\&lt;br /&gt;
	Cg^{n+1} + Bf^{n+1} = C^*g^n - Bf^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A = \begin{bmatrix}&lt;br /&gt;
		\alpha &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
		0      &amp;amp; \alpha &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		0      &amp;amp; 0 &amp;amp; \alpha &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
		\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
		0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \alpha \\&lt;br /&gt;
	\end{bmatrix}; \quad&lt;br /&gt;
B = \begin{bmatrix}&lt;br /&gt;
	0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	-\frac{\Delta t}{4h}    &amp;amp; 0 &amp;amp; \frac{\Delta t}{4h} &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; -\frac{\Delta t}{4h} &amp;amp; 0 \\&lt;br /&gt;
\end{bmatrix}; \quad&lt;br /&gt;
C = \begin{bmatrix}&lt;br /&gt;
	\beta &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0\\&lt;br /&gt;
	0      &amp;amp; \beta &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	0      &amp;amp; 0 &amp;amp; \beta &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;
	\vdots      &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;
	0      &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \cdots &amp;amp; \beta \\&lt;br /&gt;
\end{bmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, pode-se escrever o método resolvendo o sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{cases}&lt;br /&gt;
	f^{n+1}  = F^{-1}D f^n -F^{-1}E g^n \\&lt;br /&gt;
	g^{n+1} = J^{-1}G f^n - J^{-1}H g^n \\&lt;br /&gt;
\end{cases}&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;D = (B^{-1}A^* + C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;E = (I + C^{-1}C^*)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;F = (B^{-1}A - C^{-1}B)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;G = (A^{-1}A^* + I)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;H = (A^{-1}B + B^{-1}C^*)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;J= (A^{-1}B - B^{-1}C)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com isso, e com condições iniciais e de contorno bem estabelecidas, já é possível aplicar o método, dado que todas essas matrizes dependem somente dos parâmetros do sistema.&lt;br /&gt;
&lt;br /&gt;
===Estabilidade Crank-Nicolson===&lt;br /&gt;
&lt;br /&gt;
Utilizar-se-á o método de von Neumann para analisar a estabilidade do método de Crank-Nicolson para a equação de Dirac unidimensional. Para tanto, supõe-se que a função &amp;lt;math&amp;gt;\mathbf{\Phi^{n} _j}&amp;lt;/math&amp;gt; pode ser dada pela série de Fourier&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi^{n} _j} = \sum_{k=0}^{\inf} \mathbf{A}^{n}e^{ikqjh}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devido à independência linear de cada termo do somatório, ao substituir na equação do método haverá uma equação para cada ente do somatório. Se &amp;lt;math&amp;gt;\left|\frac{\mathbf{A}^{n+1}}{\mathbf{A}^{n}}\right| \le 1&amp;lt;/math&amp;gt;, então pode-se dizer que o método estável, já que dessa forma garante-se uma não divergência.&lt;br /&gt;
&lt;br /&gt;
Aplica-se um termo geral da série de índice &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; no método CN para a equação de Dirac 1D:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2\right]\mathbf{A}^{n+1}e^{ikqjh} + \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n+1}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] =&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2\right]\mathbf{A}^{n}e^{ikqjh} - \frac{\Delta t}{4h}\sigma_1\mathbf{A}^{n}\left[e^{ikq(j+1)h} - e^{ikq(j-1)h}\right] &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Divide-se tudo por &amp;lt;math&amp;gt;e^{ikqjh}&amp;lt;/math&amp;gt; e isola-se &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(e^{ikqh} - e^{-ikqh}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 + \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 - \frac{\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2i}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left[I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n+1}=&lt;br /&gt;
\left[I_2 - \frac{i}{2}\Delta t\sigma_3  - \frac{i}{2}\Delta t V^{n} _jI_2 + \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)\right]\mathbf{A}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nota-se que os termos que multiplicam o fator &amp;lt;math&amp;gt;\mathbf{A}&amp;lt;/math&amp;gt; são o conjugado um do outro. Define-se &amp;lt;math&amp;gt;z_l&amp;lt;/math&amp;gt; como a componente l escalarda multiplicação da matriz &amp;lt;math&amp;gt;I_2 + \frac{i}{2}\Delta t\sigma_3  + \frac{i}{2}\Delta t V^{n+1} _j I_2 - \frac{i\Delta t}{4h}\sigma_1\left(\frac{\sin (kqh)}{2}\right)&amp;lt;/math&amp;gt; pelo vetor &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{{A_l}^{n+1}}{{A_l}^{n}} = \frac{z^*}{z}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left|\frac{{A_l}^{n+1}}{{A_l}^{n}}\right| = \left|\frac{z^*}{z}\right| = \frac{|z^*|}{|z|} = 1&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; é sempre diferente de zero, visto que a parte real é dada por uma matriz identidade constante.&lt;br /&gt;
&lt;br /&gt;
Mostra-se, portanto, que a razão entre os coeficientes da série de Fourier nunca diverge, ou seja, o método é incondicionalmente estável.&lt;br /&gt;
&lt;br /&gt;
==Método Leap-frog==&lt;br /&gt;
&lt;br /&gt;
O método de Leap-frog (LF) é um método explicito, utilizando apenas termos em um mesmo instante do tempo para calcular as derivadas espaciais. Na simulação realizada, utilizou-se a equação de Dirac em duas dimensões com potencial magnético nulo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi} + [V(t,x)I_2] \mathbf{\Phi}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dessa forma, enuncia-se o método LF como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t \mathbf{\Phi}_{i,j}^{n} = [-\frac{i}{\varepsilon}(\sigma_1\partial_x+\sigma_2\partial_y) + \frac{1}{\varepsilon^2}\sigma_3] \mathbf{\Phi}_{i,j}^{n} + [V(t,x)I_2] \mathbf{\Phi}_{i,j}^{n}   &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De forma análoga ao cada de uma dimensão, é feita a discretização temporal e espacial. Utiliza-se a discretização temporal como $t_n=t0+n\delta t$ na dimensão $y$ na forma $y_j=y_0+jh$ e na dimensão $x$ como $x_i=x_0+ih$, onde $j$ e $i$ são números inteiros. Em adição, discretiza-se as derivadas espaciais e temporal da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_t\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n+1} _{i,j}} - \mathbf{\Phi^{n-1} _{i,j}}}{2\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_x\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i+1,j}} - \mathbf{\Phi^{n} _{i-1,j}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\delta_y\mathbf{\Phi^n _{i,j}} = \frac{\mathbf{\Phi^{n} _{i,j+1}} - \mathbf{\Phi^{n} _{i,j-1}}}{2h}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Primeiramente, reescreve-se o método na forma escalar como:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_1}_{i,j}^{ n} = -\frac{i}{\varepsilon}(\partial_x-i\partial_y) {\Phi_4}_{i,j}^{n} + \frac{1}{\varepsilon^2}{\Phi_1}_{i,j}^{n} + V(t,x){\Phi_1}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
i \partial_t {\Phi_4}_{i,j}^{n} = -\frac{i}{\varepsilon}(\partial_x+i\partial_y) {\Phi_1}_{i,j}^{n} - \frac{1}{\varepsilon^2}{\Phi_4}_{i,j}^{n} + V(t,x){\Phi_4}_{i,j}^{n}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substituindo-se as derivadas pela forma discreta, e isolando-se o termo do passo termoral posterior, obtêm-se a forma final como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_1}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_4}_{i+1,j}^{n}-{\Phi_4}_{i-1,j}^{n})-i({\Phi_4}_{i,j+1}^{n}-{\Phi_4}_{i,j-1}^{n})]-2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_1}_{i,j}^{n}+{\Phi_1}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
{\Phi_4}_{i,j}^{n+1}=-\frac{\Delta t}{h\varepsilon}[({\Phi_1}_{i+1,j}^{n}-{\Phi_1}_{i-1,j}^{n})+i({\Phi_1}_{i,j+1}^{n}-{\Phi_1}_{i,j-1}^{n})]+2i\Delta t[\frac{1}{\varepsilon^2}+V_{i,j}^{n}]{\Phi_4}_{i,j}^{n}+{\Phi_4}_{i,j}^{n-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Estabilidade do Método Leap-frog===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Assumindo que o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; é independente do tempo, pode-se provar via método de von Neumann que o método de Leap-frog é estável sobre as condições:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
    0 &amp;lt; \Delta t \leq \frac{\varepsilon^2 h}{|V|\varepsilon^2h+\sqrt{h^2+\varepsilon^2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt; h&amp;gt;0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; 0&amp;lt;\varepsilon \leq 1. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Simulações em Julia=&lt;br /&gt;
&lt;br /&gt;
==Equação 1D==&lt;br /&gt;
&lt;br /&gt;
Fez-se simulações do método de Crank-Nicolson para a equação de Dirac unidimensional em três configurações de potenciais diferentes: Nulo (Partícula Livre), Poço Infinito e Oscilador Harmônico Simples.&lt;br /&gt;
Para todos os casos utilizou-se uma condição inicial de um pacote gaussiano de desvio padrão &amp;lt;math&amp;gt;\sigma&amp;lt;/math&amp;gt; para uma das componentes de &amp;lt;math&amp;gt;\mathbf{\Phi}&amp;lt;/math&amp;gt;, sendo a outra componente nula. O módulo quadrado do pacote gaussiano deve ter área unitária dentro da malha utilizada (de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt; até &amp;lt;math&amp;gt;x=50&amp;lt;/math&amp;gt;), por isso a constante de normalização deve ser &amp;lt;math&amp;gt;\frac{1}{\sqrt{\sigma\sqrt{\pi}}}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Segue trecho do código comum a todos as simulações realizadas; a única diferença é que em um caso do OHS o pacote gaussiano é deslocado do meio da malha para a posição &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
	arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
	arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
	return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function OHS(V,x, k)&lt;br /&gt;
	V = @. 0.5*k*(x-25)^2&lt;br /&gt;
	return V&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
	&lt;br /&gt;
	#Quero colocar nas posições 18 e 32&lt;br /&gt;
	V[round(Int64, 18/h)] = 100000&lt;br /&gt;
	V[round(Int64, 32/h)] = 100000&lt;br /&gt;
	&lt;br /&gt;
	return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V)&lt;br /&gt;
&lt;br /&gt;
	A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.+1)))  &lt;br /&gt;
	B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
	C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V.-1)))&lt;br /&gt;
	&lt;br /&gt;
	A = Array(A)&lt;br /&gt;
	B = Array(B)&lt;br /&gt;
	C = Array(C)&lt;br /&gt;
	&lt;br /&gt;
	A_i = inv(A) &lt;br /&gt;
	B_i = inv(B)&lt;br /&gt;
	C_i = inv(C)&lt;br /&gt;
	AiB = A_i*B&lt;br /&gt;
	CiB = C_i*B&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	D = B_i*conj(A) + CiB&lt;br /&gt;
	E = I(L) + C_i*conj(C)&lt;br /&gt;
	F = B_i*A -CiB&lt;br /&gt;
	G = A_i*conj(A) + I(L)&lt;br /&gt;
	H = AiB + B_i*conj(C)&lt;br /&gt;
	J = AiB - B_i*conj(C)&lt;br /&gt;
	&lt;br /&gt;
	F_i = inv(F)&lt;br /&gt;
	J_i = inv(J)&lt;br /&gt;
	&lt;br /&gt;
	K = F_i*D&lt;br /&gt;
	L = F_i*E&lt;br /&gt;
	&lt;br /&gt;
	M = J_i*G&lt;br /&gt;
	N = J_i*H&lt;br /&gt;
	&lt;br /&gt;
	return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, dt, ci)&lt;br /&gt;
&lt;br /&gt;
	f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
	g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
	&lt;br /&gt;
	A, B, C, D = matriz(dt, h, size, V) #Matrizes do método Crank-Nicholson&lt;br /&gt;
	&lt;br /&gt;
	f[1, :] = ci ##Condição Inicial&lt;br /&gt;
	g[1, :] = zeros(size)&lt;br /&gt;
	&lt;br /&gt;
	##Condições de Contorno&lt;br /&gt;
	f[:, 1] = zeros(tsize)&lt;br /&gt;
	f[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	g[:, 1] = zeros(tsize)&lt;br /&gt;
	g[:, end] = zeros(tsize)&lt;br /&gt;
	&lt;br /&gt;
	i=2 #Não interfiro nos contornos&lt;br /&gt;
	while i&amp;lt;tsize&lt;br /&gt;
		&lt;br /&gt;
		f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
		g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
		i+=1&lt;br /&gt;
		&lt;br /&gt;
	end&lt;br /&gt;
	return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Partícula Livre===&lt;br /&gt;
&lt;br /&gt;
Aplicou-se o código demonstrado com potencial nulo para simular o caso da partícula livre. Segue abaixo código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracfree.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que mesmo que &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt; seja nula no início, a existência da partícula &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; (neste caso, o elétron com spin up) gera a outra (pósitron com spin down). O comportamento é de dispersão, ou seja, a tendência é que a posição fique cada vez menos definida: a partícula livre, por estar fora da ação de um potencial, apresenta momento bem definido; pelo Princípio da Incerteza, a posição torna-se incerta. Nota-se também que as bordas estão longe o suficiente na escala de tempo utilizada, de maneira que as condições de contorno não afetam a simulação.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 15&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		titulo = &amp;quot;Partícula Livre&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracfree.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
O poço infinito foi simulado colocando dois potenciais muito grandes em &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;x=32&amp;lt;/math&amp;gt;. Abaixo está reproduzida a animação.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Diracpoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se que a função simulada é a soma dos quadrados dos módulos de cada função de onda (elétron e pósitron); é a integral de &amp;lt;math&amp;gt;|\Phi|^2 = |\phi_1|^2+|\phi_4|^2&amp;lt;/math&amp;gt; que deve sempre ser unitária, o que concorda com o obtido. Na animação é possível perceber um comportamento semelhante ao de uma onda estacionária, onde tem-se vários &amp;quot;harmônicos&amp;quot; associados ao pacote de ondas: como esperado, a função de onda é uma combinação linear dos autoestados do poço infinito.&lt;br /&gt;
&lt;br /&gt;
Segue trecho do código utilizado para gerar a animação:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.05 #Passo temporal&lt;br /&gt;
	size= 30*L #Utilizado para definir o passo espacial&lt;br /&gt;
	h = L/size #Passo espacial&lt;br /&gt;
	tmax = 30 #&lt;br /&gt;
	tsize = round(Int64, tmax/dt) tamanho do vetor tempo.&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size) &lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial de pacote gaussiano centralizado em x=25&lt;br /&gt;
	#V = OHS(V,x,k)&lt;br /&gt;
	V = poco(V, h) #Inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi) #Obtém as funções de onda e sua respectiva evolução temporal&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	##Produz-se a animação&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) #Resolve a integral em cada tempo, calculando a área e mostrando na animação&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		&lt;br /&gt;
		integral = round(integral[1]; digits=3) #Arredonda.&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		titulo = &amp;quot;Poço Infinito&amp;quot;*&amp;quot;, &amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(15,35),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,0.6),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		i+=2 ##O passo é dado de 2 em 2 para deixar gif mais leve.&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracpoco.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Oscilador Harmônico Simples===&lt;br /&gt;
&lt;br /&gt;
Inicialmente, realizou-se a simulação deslocando o pacote gaussiano para a posição inicial &amp;lt;math&amp;gt;x=18&amp;lt;/math&amp;gt;, com a finalidade de observar a oscilação. Testou-se a simulação com diferentes &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;'s; escolheu-se o que está mostrado abaixo pois facilita a visualização do comportamento oscilatório. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHS.gif]]&lt;br /&gt;
&lt;br /&gt;
Nota-se um comportamento análogo ao caso clássico; porém, em alguns momentos é possível observar certos harmônicos do pacote de onda. Além disso, nota-se nas extremidades um valor máximo para &amp;lt;math&amp;gt;|\mathbf{\Phi}|^2&amp;lt;/math&amp;gt;, também condizente com o caso clássico.&lt;br /&gt;
&lt;br /&gt;
Durante testes nas simulações, notou-se que a área sob a curva possui variações quando se utiliza um passo &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt; muito alto. Nesse caso, a convergência do método de Crank-Nicolson para os valores teóricos depende da malha utilizada, embora a estabilidade dele seja incondicional. A diferença pode ser vista comparando-se a animação abaixo com a anterior:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHSdtalto.gif]]&lt;br /&gt;
&lt;br /&gt;
Em seguida, passou-se para uma condição inicial com um pacote gaussiano centralizado:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracOHScentral.gif]]&lt;br /&gt;
&lt;br /&gt;
Mesmo que a posição inicial esteja no centro, devido ao fato da posição não estar bem definida ocorrem pequenas oscilações em torno do ponto de equilíbrio.&lt;br /&gt;
&lt;br /&gt;
Por fim, segue o código utilizado para o oscilador harmônico simples (a diferença entre cada caso é só as constantes e a condição inicial).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
	L = 50 #Dimensão espacial matriz&lt;br /&gt;
	k=0.1 #&amp;quot;Constante Elástica&amp;quot; do oscilador harmônico&lt;br /&gt;
	sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
	dt = 0.02&lt;br /&gt;
	size= 10*L&lt;br /&gt;
	h = L/size ##Passo espacial&lt;br /&gt;
	tmax = 50&lt;br /&gt;
	tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
	&lt;br /&gt;
	t = LinRange(0, tmax, tsize)&lt;br /&gt;
	x = LinRange(0, L, size)&lt;br /&gt;
	V = zeros(size)&lt;br /&gt;
&lt;br /&gt;
	xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
	V = OHS(V,x,k) ##inicializa o potencial&lt;br /&gt;
&lt;br /&gt;
	f,g =CN(size,h,tsize, V, dt,xi)&lt;br /&gt;
&lt;br /&gt;
	i=1&lt;br /&gt;
	#Faz o gif&lt;br /&gt;
	anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
	&lt;br /&gt;
		f_real = real(f[i, :])&lt;br /&gt;
		f_imag = imag(f[i, :])&lt;br /&gt;
		g_real = real(g[i, :])&lt;br /&gt;
		g_imag = imag(g[i, :])&lt;br /&gt;
		probf = abs2.(f[i, :])&lt;br /&gt;
		probg = abs2.(g[i, :])&lt;br /&gt;
		prob = probf + probg&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
		method = TrapezoidalRule()&lt;br /&gt;
		integral = solve(problem, method)&lt;br /&gt;
		integral = round(integral[1]; digits=3)&lt;br /&gt;
		integral = string(integral)&lt;br /&gt;
		&lt;br /&gt;
		p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
		&lt;br /&gt;
		#=&lt;br /&gt;
		p=plot(x, probf, label=L&amp;quot;$|\phi_1|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(x, probg, label=L&amp;quot;$|\phi_4|^2$&amp;quot;, legendfont=font(15))&lt;br /&gt;
		=#&lt;br /&gt;
		&lt;br /&gt;
		titulo = &amp;quot;OHS&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$k=$&amp;quot;*string(k)*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
		plot!(x,V, label=&amp;quot;Potencial&amp;quot;, legendfont=font(15))&lt;br /&gt;
		plot!(title=titulo, &lt;br /&gt;
		xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
		xlim=(0,50),&lt;br /&gt;
		xticksfont = font(13),&lt;br /&gt;
		ticksfontsize = 10,&lt;br /&gt;
		ylim=(0,1),&lt;br /&gt;
		yticksfont=font(13),&lt;br /&gt;
		)&lt;br /&gt;
		i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	arquivo = &amp;quot;diracOHS.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Equação 1D com potencial &amp;quot;escalar&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Por fim, consideraremos o problema com o potencial &amp;quot;escalar&amp;quot; &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. Dentro do formalismo da relatividade, os potenciais podem ser classificados de acordo com o seu comportamento frente a uma transformação de Poincaré: o potencial &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; se transforma como um vetor (por isso chamado de potencial &amp;quot;vetor&amp;quot;), e o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;, como um escalar (potencial &amp;quot;escalar&amp;quot;). Como exemplo de potencial do tipo vetor, temos os potenciais eletromagnéticos; e de potencial do tipo escalar, pode-se citar modelos de confinamento. Na prática, pode-se dizer que o potencial &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt; altera a massa de repouso &amp;quot;efetiva&amp;quot; da partícula. Para este assunto, deixamos [[Equação_de_Dirac#Referências|(4)]] e [[Equação_de_Dirac#Referências|(5)]] como referências.&lt;br /&gt;
&lt;br /&gt;
Por ser um tópico bastante especializado, será considerado aqui apenas o caso do poço infinito. O problema é apenas uma extensão do que foi exposto [[Equação_de_Dirac#Poço Infinito|nessa seção]]; a [[Equação_de_Dirac#Método_de_Crank-Nicolson|discretização]] e a estabilidade do método de Crank-Nicolson são análogas, bastando apenas fazer &amp;lt;math&amp;gt;\alpha^n = 1 + \frac{i \Delta t}{2}(V^n _j + V_{{sc}_j}^n + 1)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\beta^n = 1 + \frac{i \Delta t}{2}(V^n _j - V_{{sc}_j}^n -1)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Poço Infinito===&lt;br /&gt;
&lt;br /&gt;
Fez-se uma simulação completamente análoga à anterior, mas usando &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; e definindo o poço infinito em &amp;lt;math&amp;gt;V_{sc}&amp;lt;/math&amp;gt;. A animação está reproduzida abaixo. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Não há diferença notável com relação ao poço infinito em &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;: o confinamento da partícula não muda, mesmo que a sua massa de repouso &amp;quot;efetiva&amp;quot; sim. No entanto, ressalta-se que esse é o comportamento conjunto das duas componentes &amp;lt;math&amp;gt;\phi_1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\phi_4&amp;lt;/math&amp;gt;; o comportamento individual de cada uma pode ser diferente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em seguida, foi feita uma simulação colocando o poço infinito nos dois potenciais, ou seja, fazendo &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;, conforme animação abaixo.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:DiracVscVPoco.gif]]&lt;br /&gt;
&lt;br /&gt;
Dessa vez, o comportamento é bastante diferente: a partícula fica apenas parcialmente confinada no poço, sendo parte da função de onda transmitida. Assim, observa-se um fenômeno que não ocorre na formulação não relativística da Mecânica Quântica: o de tunelamento em uma barreira infinita.&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para produzir as animações, adaptado do código utilizado [[Equação_de_Dirac#Poço Infinito|aqui]]. A diferença entre as duas animações é de apenas uma linha, definindo &amp;lt;math&amp;gt;V=0&amp;lt;/math&amp;gt; ou &amp;lt;math&amp;gt;V=V_{sc}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
using Integrals&lt;br /&gt;
&lt;br /&gt;
function init(x, sigma)&lt;br /&gt;
    arg1 = @. ((-(x-25)^2)/(2*sigma^2))&lt;br /&gt;
    arg2 = 1/sqrt(sqrt(pi)*sigma)&lt;br /&gt;
    return arg2*exp.(arg1) ##Inicializo com um pacote gaussiano&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function poco(V, h)&lt;br /&gt;
    &lt;br /&gt;
    #Quero colocar nas posições 18 e 32&lt;br /&gt;
    V[round(Int64, 18/h)] = 100000&lt;br /&gt;
    V[round(Int64, 32/h)] = 100000&lt;br /&gt;
    &lt;br /&gt;
    return V&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
##Matrizes do método de Crank-Nicholson&lt;br /&gt;
&lt;br /&gt;
function matriz(dt,h,L, V, Sc)&lt;br /&gt;
&lt;br /&gt;
    A = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V+Sc.+1)))  &lt;br /&gt;
    B = LinearAlgebra.Tridiagonal(ones(L-1).*(-dt/(4*h)), zeros(L), ones(L-1).*(dt/(4*h)))&lt;br /&gt;
    C = Diagonal(ones(L).*(1 .+ im*dt*0.5.*(V-Sc.-1)))&lt;br /&gt;
    &lt;br /&gt;
    A = Array(A)&lt;br /&gt;
    B = Array(B)&lt;br /&gt;
    C = Array(C)&lt;br /&gt;
    &lt;br /&gt;
    A_i = inv(A) &lt;br /&gt;
    B_i = inv(B)&lt;br /&gt;
    C_i = inv(C)&lt;br /&gt;
    AiB = A_i*B&lt;br /&gt;
    CiB = C_i*B&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    D = B_i*conj(A) + CiB&lt;br /&gt;
    E = I(L) + C_i*conj(C)&lt;br /&gt;
    F = B_i*A -CiB&lt;br /&gt;
    G = A_i*conj(A) + I(L)&lt;br /&gt;
    H = AiB + B_i*conj(C)&lt;br /&gt;
    J = AiB - B_i*conj(C)&lt;br /&gt;
    &lt;br /&gt;
    F_i = inv(F)&lt;br /&gt;
    J_i = inv(J)&lt;br /&gt;
    &lt;br /&gt;
    K = F_i*D&lt;br /&gt;
    L = F_i*E&lt;br /&gt;
    &lt;br /&gt;
    M = J_i*G&lt;br /&gt;
    N = J_i*H&lt;br /&gt;
    &lt;br /&gt;
    return K, L, M, N&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function CN(size, h, tsize, V, Sc, dt, ci)&lt;br /&gt;
&lt;br /&gt;
    f = zeros(Complex, tsize, size) #Cada linha representa vetor posição em um tempo diferente. ## phi 1&lt;br /&gt;
    g = zeros(Complex, tsize, size) ##phi 4&lt;br /&gt;
    &lt;br /&gt;
    A, B, C, D = matriz(dt, h, size, V, Sc) #Matrizes do método Crank-Nicholson&lt;br /&gt;
    &lt;br /&gt;
    f[1, :] = ci ##Condição Inicial&lt;br /&gt;
    g[1, :] = zeros(size)&lt;br /&gt;
    &lt;br /&gt;
    ##Condições de Contorno&lt;br /&gt;
    f[:, 1] = zeros(tsize)&lt;br /&gt;
    f[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    g[:, 1] = zeros(tsize)&lt;br /&gt;
    g[:, end] = zeros(tsize)&lt;br /&gt;
    &lt;br /&gt;
    i=2 #Não interfiro nos contornos&lt;br /&gt;
    while i&amp;lt;tsize&lt;br /&gt;
        &lt;br /&gt;
        f[i, :] = A*f[i-1, :] - B*g[i-1, :]&lt;br /&gt;
        g[i, :] = C*f[i-1, :] - D*g[i-1, :]&lt;br /&gt;
        i+=1&lt;br /&gt;
        &lt;br /&gt;
    end&lt;br /&gt;
    return f, g&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    L = 50 #Dimensão espacial matriz&lt;br /&gt;
    sigma = 1 #Largura do pacote gaussiano&lt;br /&gt;
    dt = 0.02&lt;br /&gt;
    size= 10*L&lt;br /&gt;
    h = L/size ##Passo espacial&lt;br /&gt;
    tmax = 50&lt;br /&gt;
    tsize = round(Int64, tmax/dt) #Tamanho do vetor tempo&lt;br /&gt;
    &lt;br /&gt;
    t = LinRange(0, tmax, tsize)&lt;br /&gt;
    x = LinRange(0, L, size)&lt;br /&gt;
    V = zeros(size)&lt;br /&gt;
    Sc = copy(V)&lt;br /&gt;
&lt;br /&gt;
    xi = init(LinRange(0, L, size), sigma) #Condição inicial pacote gaussiano&lt;br /&gt;
    Sc = poco(Sc,h) ##potencial &amp;quot;escalar&amp;quot;&lt;br /&gt;
    V = copy(Sc) ##potencial &amp;quot;vetor&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    f,g = CN(size,h,tsize,V,Sc,dt,xi)&lt;br /&gt;
&lt;br /&gt;
    i=1&lt;br /&gt;
    #Faz o gif&lt;br /&gt;
    anim = @animate while i&amp;lt;=tsize&lt;br /&gt;
    &lt;br /&gt;
        f_real = real(f[i, :])&lt;br /&gt;
        f_imag = imag(f[i, :])&lt;br /&gt;
        g_real = real(g[i, :])&lt;br /&gt;
        g_imag = imag(g[i, :])&lt;br /&gt;
        probf = abs2.(f[i, :])&lt;br /&gt;
        probg = abs2.(g[i, :])&lt;br /&gt;
        prob = probf + probg&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        problem = SampledIntegralProblem(prob, x) ##Calcula a área sob a curva&lt;br /&gt;
        method = TrapezoidalRule()&lt;br /&gt;
        integral = solve(problem, method)&lt;br /&gt;
        integral = round(integral[1]; digits=3)&lt;br /&gt;
        integral = string(integral)&lt;br /&gt;
        &lt;br /&gt;
        p = plot(x, prob,label=L&amp;quot;$|\Phi|^2$&amp;quot;, legendfont=font(15), fill=true, fillalpha=0.2)&lt;br /&gt;
        &lt;br /&gt;
        titulo = &amp;quot;Poço&amp;quot;*&amp;quot;, &amp;quot;*L&amp;quot;$\sigma=$&amp;quot;*string(sigma)*&amp;quot;, &amp;quot;* L&amp;quot;$dt=$&amp;quot;*string(dt)* &amp;quot;, &amp;quot; *L&amp;quot;$t=$&amp;quot; * string(round(t[i], digits=3))*&amp;quot;, Área=&amp;quot;*integral&lt;br /&gt;
        plot!(x,Sc, label=L&amp;quot;$V=V_{sc}$&amp;quot;, legendfont=font(15))&lt;br /&gt;
        plot!(title=titulo, &lt;br /&gt;
        xlabel = &amp;quot;x&amp;quot;, &lt;br /&gt;
        xlim=(0,50),&lt;br /&gt;
        xticksfont = font(13),&lt;br /&gt;
        ticksfontsize = 10,&lt;br /&gt;
        ylim=(0,1),&lt;br /&gt;
        yticksfont=font(13),&lt;br /&gt;
        )&lt;br /&gt;
        i+=5 ##Feito de 5 em 5 para deixar .gif mais leve&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    arquivo = &amp;quot;diracVscVPoco.gif&amp;quot;&lt;br /&gt;
    gif(anim, arquivo, fps=30)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Equação 2D==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizou-se o método de Leap-Frog para simulação da equação de Dirac bidimensional em um potencial Coulombiano central e em um potencial cossenoide. Em ambos casos, o potencial não depende do tempo e a condição inicial constituiu-se de um pacote gaussiano, centralizado em &amp;lt;math&amp;gt;(0,0)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_1&amp;lt;/math&amp;gt; e em &amp;lt;math&amp;gt;(1,1)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;\Phi_4&amp;lt;/math&amp;gt;. De forma aproximada, atribuiu-se para o passo temporal seguinte: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\mathbf{\Phi}_{i,j}^{1}=\mathbf{\Phi}_{i,j}^{0} -sin(\frac{\Delta t }{\varepsilon})\sigma_1(\delta_x+\delta_y)\mathbf{\Phi}_{i,j}^{0}-i(sin(\frac{\Delta t }{\varepsilon^2})\sigma_3+\Delta t V_{i,j}^{0} I_2)\mathbf{\Phi}_{i,j}^{0}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue abaixo o código utilizado para ambos potenciais, o qual seu uso difere apenas em qual potencial foi comentado:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using Plots&lt;br /&gt;
using LinearAlgebra&lt;br /&gt;
&lt;br /&gt;
function initial_values()&lt;br /&gt;
&lt;br /&gt;
L=10 #Malha de 4*(L/h)² de -L a L nas duas dimensões&lt;br /&gt;
h=1/16 #dx,dy=h&lt;br /&gt;
dt=0.01&lt;br /&gt;
ep=0.8 #0&amp;lt;ep&amp;lt;=1 -&amp;gt; := v/c&lt;br /&gt;
&lt;br /&gt;
x=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
y=LinRange(-L,L,2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
#Potencial Coulombiano&lt;br /&gt;
V= zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
Qe=1.&lt;br /&gt;
K=1 #K=9*10^9&lt;br /&gt;
V = [ -K*Qe/sqrt((x[i]^2 + y[j]^2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#Potencial Cossenoide&lt;br /&gt;
#V = [ cos((-4*pi/sqrt(3))*x[i])+cos((2*pi/sqrt(3))*x[i]+2*pi*y[j])+cos((2*pi/sqrt(3))*x[i]-2*pi*y[j]) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#psi 1 inicial (t=0)&lt;br /&gt;
psi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi1 = [ (exp(-((x[i])^2+(y[j])^2)/2)) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#psi4 iniciall (t=0)&lt;br /&gt;
psi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
psi4 = [ exp(-((x[i] -1 )^2+(y[j] -1)^2)/2) for i in 1:2*Int(L/h), j in 1:2*Int(L/h) ]&lt;br /&gt;
&lt;br /&gt;
#próximo psi1 (t=0+dt)&lt;br /&gt;
nextpsi1 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi1[i,j] = psi1[i,j]-sin(dt/ep)*((psi4[i+1,j]-psi4[i-1,j]) + (psi4[i,j+1]-psi4[i,j-1]))/(2*h)-im*(-im*sin(dt/(ep^2))*psi4[i,j]+h*V[i,j]*psi1[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
#próximo psi4 (t=0+dt)&lt;br /&gt;
nextpsi4 =zeros(ComplexF64,2*Int(L/h),2*Int(L/h))&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
	i=2&lt;br /&gt;
	while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
		nextpsi4[i,j]= psi4[i,j]-sin(dt/ep)*((psi1[i+1,j]-psi1[i-1,j]) + (psi1[i,j+1]-psi1[i,j-1]))/(2*h)-im*(im*sin(dt/(ep^2))*psi1[i,j]+h*V[i,j]*psi4[i,j])&lt;br /&gt;
		i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
return L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L,h,dt,ep,x,y,V,psi1,psi4,nextpsi1,nextpsi4=initial_values()&lt;br /&gt;
&lt;br /&gt;
#listas para salvar os frames do gif&lt;br /&gt;
anim_psi1=[]&lt;br /&gt;
anim_psi4=[]&lt;br /&gt;
&lt;br /&gt;
#cópia para manipulação&lt;br /&gt;
uu=deepcopy(psi1)&lt;br /&gt;
vv=deepcopy(psi4)&lt;br /&gt;
&lt;br /&gt;
t=0; tmax=5&lt;br /&gt;
while t &amp;lt; tmax&lt;br /&gt;
&lt;br /&gt;
global j&lt;br /&gt;
global uu; global vv;&lt;br /&gt;
global u; global v;&lt;br /&gt;
u=deepcopy(nextpsi1)&lt;br /&gt;
v=deepcopy(nextpsi4)&lt;br /&gt;
&lt;br /&gt;
j=2&lt;br /&gt;
	while j &amp;lt; 2*Int(L/h)&lt;br /&gt;
		global i=2&lt;br /&gt;
&lt;br /&gt;
		while i &amp;lt; 2*Int(L/h)&lt;br /&gt;
			global i&lt;br /&gt;
&lt;br /&gt;
			nextpsi1[i,j]= -(dt/(ep*h))*(v[i+1,j]-v[i-1,j])+((im*dt)/(ep*h))*(v[i,j+1]-v[i,j-1])-((2*im*dt)/(ep^2))*u[i,j]-(2*dt*im)*V[i,j]*u[i,j]+uu[i,j]&lt;br /&gt;
			nextpsi4[i,j]= -(dt/(ep*h))*(u[i+1,j]-u[i-1,j])-((im*dt)/(ep*h))*(u[i,j+1]-u[i,j-1])+((2*im*dt)/(ep^2))*v[i,j]+(2*dt*im)*V[i,j]*v[i,j]+vv[i,j]&lt;br /&gt;
			i+=1&lt;br /&gt;
		end&lt;br /&gt;
	j+=1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
uu=deepcopy(u)&lt;br /&gt;
vv=deepcopy(v)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
global t+=dt&lt;br /&gt;
&lt;br /&gt;
push!(anim_psi1,deepcopy(nextpsi1))&lt;br /&gt;
push!(anim_psi4,deepcopy(nextpsi4))&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
using LaTeXStrings&lt;br /&gt;
using Printf&lt;br /&gt;
&lt;br /&gt;
#montagem do gif&lt;br /&gt;
function psi_anim(x,y,psi,tmax)&lt;br /&gt;
	i=1&lt;br /&gt;
	anim = @animate while i&amp;lt;=length(psi)&lt;br /&gt;
		psi_real = real.(psi[i])&lt;br /&gt;
		psi_imag = imag.(psi[i])&lt;br /&gt;
		prob = abs2.(psi[i])&lt;br /&gt;
&lt;br /&gt;
    t=0.01*i&lt;br /&gt;
    titulo=&amp;quot;Potencial Coulombiano, &amp;quot;*L&amp;quot;| \Phi |^{2}&amp;quot;*@sprintf(&amp;quot;em t=%0.2f&amp;quot;,t)&lt;br /&gt;
    #titulo=@sprintf(&amp;quot;| \Phi |^{2}em t = %f&amp;quot;,&lt;br /&gt;
    u=2*L/h #exibe a malha de forma reduzida&lt;br /&gt;
		p = surface(x[Int(u/4):Int(3*u/4)],y[Int(u/4):Int(3*u/4)],prob[Int(u/4):Int(3*u/4),Int(u/4):Int(3*u/4)],title=titulo, xlabel = &amp;quot;x&amp;quot;,ylabel=&amp;quot;y&amp;quot;,zlabel=&amp;quot;Densidade de Probabilidade&amp;quot; ,zlim=(-1,1),clim=(0, maximum(psi_real)))&lt;br /&gt;
		i+=1&lt;br /&gt;
	end&lt;br /&gt;
	arquivo = &amp;quot;dirac2D.gif&amp;quot;&lt;br /&gt;
	gif(anim, arquivo, fps=30)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
psi_anim(x,y,anim_psi1,tmax)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Coulombiano===&lt;br /&gt;
&lt;br /&gt;
Na animação gerada, nota-se o padrão de dispersão para o infinito, pois o potencial escolhido varia de positivamente no caso escolhido. Observa-se um padrão de ruído na parte central, o qual não foi estudado afundo, mas é exclusivo de pontos próximos à um ponto de divergência da função potencial.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Potencial Cossenoide===&lt;br /&gt;
&lt;br /&gt;
Reproduziu-se o potencial estudado para representações do grafeno em um único plano. Observa-se, no período de tempo exibido, que padrões de ruído não são encontrados e a tendência para o infinito permanece.&lt;br /&gt;
&lt;br /&gt;
=Referências=&lt;br /&gt;
# The quantum theory of the electron. Proceedings of the Royal Society of London A, v. 117, n. 778, p. 610–624, fev. 1928.&lt;br /&gt;
# SAKURAI, J. J. Mecânica quântica moderna. 2. ed. Porto Alegre: Bookman, 2012.&lt;br /&gt;
# BAO, W. et al. Numerical Methods and Comparison for the Dirac Equation in the Nonrelativistic Limit Regime. Journal of Scientific Computing, v. 71, n. 3, p. 1094–1134, jun. 2017.&lt;br /&gt;
# SOFF, G. et al. Solution of the Dirac Equation for Scalar Potentials and its Implications in Atomic Physics. Zeitschrift für Naturforschung A, v. 28, n. 9, p. 1389–1396, 1 set. 1973. &lt;br /&gt;
# THALLER, B. The Dirac equation. Berlin: Springer, 2010.&lt;/div&gt;</summary>
		<author><name>Andredv</name></author>
	</entry>
</feed>