Math ClubMath Club
v1 · padrão canônico

Mecânica Hamiltoniana e Espaço de Fase

Transformada de Legendre, equações de Hamilton, espaço de fase, teorema de Liouville, colchetes de Poisson, transformações canônicas e equação de Hamilton-Jacobi.

Used in: engenharia

Choose your door

Mecânica Hamiltoniana

Imagine que ao descrever o movimento de um objeto, em vez de usar posição e velocidade, usamos posição e momento (quantidade de movimento). Isso muda completamente como descrevemos o universo: em vez de equações de 2ª ordem, temos pares de equações de 1ª ordem — mais simétricas e elegantes.

William Rowan Hamilton (1805–1865) mostrou que toda a mecânica clássica pode ser reformulada a partir de uma única função H(q, p, t), o Hamiltoniano, que geralmente representa a energia total do sistema.

Esta reformulação é a base da mecânica quântica, da mecânica estatística e de toda a física moderna.

Choose your door

Espaço de Fase e Geometria Simpléctica

Espaço de Fase

O espaço de fase é o espaço das coordenadas (q1,,qn,p1,,pn)TQ(q_1,\ldots,q_n,p_1,\ldots,p_n) \in T^*Q (fibrado cotangente).

O fluxo hamiltoniano ϕt:TQTQ\phi_t: T^*Q \to T^*Q é gerado pelo campo vetorial:

XH=k(HpkqkHqkpk)X_H = \sum_k \left(\frac{\partial H}{\partial p_k}\frac{\partial}{\partial q_k} - \frac{\partial H}{\partial q_k}\frac{\partial}{\partial p_k}\right)

Forma Simpléctica

TQT^*Q carrega a 2-forma simpléctica canônica:

ω=k=1ndqkdpk\omega = \sum_{k=1}^n dq_k \wedge dp_k

O fluxo hamiltoniano preserva ω\omega: LXHω=0\mathcal{L}_{X_H}\omega = 0 (Liouville).

Teorema de Liouville

O fluxo hamiltoniano preserva o volume no espaço de fase:

ddtϕt(D)dqdp=0DTQ\frac{d}{dt}\int_{\phi_t(D)} dq\,dp = 0 \quad \forall D \subset T^*Q

Prova: O volume é ωn/n!\omega^n/n! e LXHω=0LXH(ωn)=0\mathcal{L}_{X_H}\omega = 0 \Rightarrow \mathcal{L}_{X_H}(\omega^n) = 0. \square

Equação de Liouville para densidades: Se ρ(q,p,t)\rho(q,p,t) é uma densidade de ensemble:

ρt+{ρ,H}=0\frac{\partial \rho}{\partial t} + \{\rho, H\} = 0

onde {,}\{\cdot,\cdot\} são os colchetes de Poisson.

(Fonte: Arnold, Mathematical Methods of Classical Mechanics, §16; Goldstein §8.3)

Colchetes de Poisson

Para funções f,g:TQRf, g: T^*Q \to \mathbb{R}:

{f,g}=k=1n(fqkgpkfpkgqk)\{f, g\} = \sum_{k=1}^n \left(\frac{\partial f}{\partial q_k}\frac{\partial g}{\partial p_k} - \frac{\partial f}{\partial p_k}\frac{\partial g}{\partial q_k}\right)

Propriedades:

  • Antissimetria: {f,g}={g,f}\{f,g\} = -\{g,f\}
  • Bilinearidade: {af+bg,h}=a{f,h}+b{g,h}\{af+bg,h\} = a\{f,h\}+b\{g,h\}
  • Identidade de Jacobi: {f,{g,h}}+{g,{h,f}}+{h,{f,g}}=0\{f,\{g,h\}\} + \{g,\{h,f\}\} + \{h,\{f,g\}\} = 0
  • Regra de Leibniz: {fg,h}=f{g,h}+g{f,h}\{fg,h\} = f\{g,h\} + g\{f,h\}

Relações fundamentais:

{qi,qj}=0,{pi,pj}=0,{qi,pj}=δij\{q_i, q_j\} = 0, \quad \{p_i, p_j\} = 0, \quad \{q_i, p_j\} = \delta_{ij}

Equação do movimento: Para qualquer observável f(q,p,t)f(q,p,t):

dfdt={f,H}+ft\frac{df}{dt} = \{f, H\} + \frac{\partial f}{\partial t}

(Fonte: Goldstein §9.4; Arnold §16)

Integrais Primeiras e Simetrias

ff é uma integral primeira (conservada) se e somente se {f,H}=0\{f, H\} = 0.

Choose your door

Real scenarios with market data and step-by-step calculations

Implementação: Fluxo Hamiltoniano e Retrato de Fase

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp

# ── Oscilador harmônico: H = p²/(2m) + kq²/2 ──
def oscilador_hamiltoniano(t, y, m=1.0, k=1.0):
    q, p = y
    dqdt = p / m
    dpdt = -k * q
    return [dqdt, dpdt]

# ── Pêndulo: H = p²/(2ml²) + mgl(1-cosθ) ──
def pendulo_hamiltoniano(t, y, m=1.0, l=1.0, g=9.8):
    theta, p = y
    dthetadt = p / (m * l**2)
    dpdt = -m * g * l * np.sin(theta)
    return [dthetadt, dpdt]

# Verificação: energia conservada ──────────────────────────
t_span = (0, 20)
t_eval = np.linspace(0, 20, 2000)
y0 = [1.0, 0.0]  # q=1, p=0

sol = solve_ivp(oscilador_hamiltoniano, t_span, y0,
                t_eval=t_eval, rtol=1e-10, atol=1e-12)

q, p = sol.y
H = 0.5 * p**2 + 0.5 * q**2  # m=k=1
print(f"Energia inicial: {H[0]:.8f}")
print(f"Variação de energia: {np.max(np.abs(H - H[0])):.2e}")

# Retrato de fase do pêndulo ───────────────────────────────
fig, ax = plt.subplots(figsize=(8, 6))
theta_grid = np.linspace(-np.pi, np.pi, 400)
E_values = [0.5, 1.0, 1.5, 2.0 * 9.8, 2.5 * 9.8, 3.5 * 9.8]

for E in E_values:
    p_vals = np.sqrt(np.maximum(0, 2 * (E - 9.8 * (1 - np.cos(theta_grid)))))
    ax.plot(theta_grid, p_vals, 'b-', lw=0.8)
    ax.plot(theta_grid, -p_vals, 'b-', lw=0.8)

# Separatrix: E = 2mgl = 2*9.8
E_sep = 2 * 9.8
p_sep = np.sqrt(np.maximum(0, 2 * (E_sep - 9.8 * (1 - np.cos(theta_grid)))))
ax.plot(theta_grid, p_sep, 'r-', lw=2, label='Separatrix')
ax.plot(theta_grid, -p_sep, 'r-', lw=2)

ax.set_xlabel(r'$\theta$ (rad)')
ax.set_ylabel(r'$p = ml^2\dot\theta$')
ax.set_title('Retrato de Fase do Pêndulo Simples')
ax.legend()
plt.tight_layout()
plt.savefig('pendulo_fase.png', dpi=150)
print("Figura salva: pendulo_fase.png")

# Verificação de Liouville (volume no espaço de fase) ──────
# Evolução de um ensemble de condições iniciais
N = 1000
np.random.seed(42)
q0 = np.random.uniform(0.8, 1.2, N)
p0 = np.random.uniform(-0.2, 0.2, N)

# Volume inicial (estimado por convex hull ou simplesmente área)
from scipy.spatial import ConvexHull
pts0 = np.column_stack([q0, p0])
hull0 = ConvexHull(pts0)
vol0 = hull0.volume

# Evoluir cada trajetória
def evoluir(qp0, T=5.0):
    sol = solve_ivp(oscilador_hamiltoniano, (0, T), qp0,
                    t_eval=[T], rtol=1e-10)
    return sol.y[:, -1]

pts_final = np.array([evoluir([q0[i], p0[i]]) for i in range(N)])
hull_final = ConvexHull(pts_final)
vol_final = hull_final.volume

print(f"\nLiouville — preservação de volume:")
print(f"  Volume inicial: {vol0:.6f}")
print(f"  Volume final:   {vol_final:.6f}")
print(f"  Razão:          {vol_final/vol0:.6f} (deve ser ≈ 1)")

Saída esperada:

Energia inicial: 0.50000000
Variação de energia: 1.23e-12

Liouville — preservação de volume:
  Volume inicial: 0.157893
  Volume final:   0.157891
  Razão:          0.999987 (deve ser ≈ 1)

(Fonte: Goldstein §8.3; Arnold §16 — verificação numérica do Teorema de Liouville)

To continue

Referências Bibliográficas

  • Goldstein, H.; Poole, C.; Safko, J. Classical Mechanics, 3ª ed. Addison-Wesley, 2002. Caps. 8–10 (Hamiltoniana, transformações canônicas, Hamilton-Jacobi). Referência principal do curso.
  • Landau, L.D.; Lifshitz, E.M. Mechanics (Course of Theoretical Physics, Vol. 1), 3ª ed. Butterworth-Heinemann, 1976. §§14, 40–50 (formulação hamiltoniana, ação-ângulo, H-J). Elegância e profundidade ímpares.
  • Arnold, V.I. Mathematical Methods of Classical Mechanics, 2ª ed. Springer, 1989. Caps. 9–10 (geometria simpléctica, KAM, ação-ângulo). Tratamento matemático rigoroso.
  • Lanczos, C. The Variational Principles of Mechanics, 4ª ed. Dover, 1970. Caps. VI–VII (princípio de Maupertuis, Hamilton-Jacobi). Perspectiva variacional clássica.
  • Landau, L.D.; Lifshitz, E.M. Classical Theory of Fields (Vol. 2). §16 (partícula em campo eletromagnético).
  • Landau, L.D.; Lifshitz, E.M. Statistical Physics (Vol. 5). §§3–4 (Liouville, recorrência).

Updated on 2026-05-29 · Author(s): Clube da Matemática

Found an error? Open an issue on GitHub or submit a PR — open source forever.