\documentclass[11pt,a4paper,dvipsnames]{article}
\usepackage[utf8]{inputenc}

\usepackage[catalan]{babel}
\input{../../../hw_preamble.tex}

\title{Entrega 1 de problemes\\Electrodinàmica}
\author{Adrià Vilanova Martínez}
\date{18 de setembre, 2021}

\showcorrectionsfalse % Change "true" to "false" in order to show corrections as
                      % if they weren't corrections (in black instead of red).

\begin{document}

\maketitle

\begin{Problem}
  En un sistema de referència inercial $\mathbf{S}$, dos esdeveniments tenen lloc al mateix punt de l'espai, però a temps diferents. Demostreu que:

  \begin{enumerate}[(a)]
    \item L'ordre temporal és el mateix en tot sistema de referència inercial (SRI).

    \item La separació temporal en SRI diferents no té fita superior, i és mínima en el sistema $\mathbf{S}$.

    \item La separació espacial no té fita superior ni inferior.
  \end{enumerate}
\end{Problem}

Tenim 2 esdeveniments, $\mathbf{E}_0 = (c t_0, x, y, z)_\mathbf{S}$ i $\mathbf{E}_1 = (c t_1, x, y, z)_\mathbf{S}$, on $t_0 < t_1$ ja que al sistema de referència $\mathbf{S}$ el primer experiment passa abans que el segon, però al mateix punt de l'espai.

Sigui $\mathbf{S}'$ un altre SRI qualsevol. A aquest segon SRI anomenem els esdeveniments per $\mathbf{E}_0'$ i $\mathbf{E}_1'$, per fer èmfasi que els expressarem/representarem en les coordenades d'aquest segon SRI, tot i que formalment es tracta dels mateixos esdeveniments ($\mathbf{E}_i \equiv \mathbf{E}_i'$).

Suposarem que, tal com hem vist a classe, tots els sistemes de referència inercials es poden obtenir a partir d'un fixat a través del grup de transformacions de Poincaré. Aquest grup ve generat per les translacions d'espai, les translacions en el temps, les rotacions pròpies d'espai i els boosts en configuració estàndard (és a dir, qualsevol element del grup de Poincaré ve donat per la composició de diverses d'aquestes transformacions).

\hrulefill

\textbf{Solució per a):}

Per demostrar aquest apartat, només fa falta comprovar que els generadors del grup compleixen la propietat de deixar l'ordre temporal invariant.

És evident que sota les transformacions que només modifiquen l'espai (translacions i rotacions) l'ordre temporal es manté, ja que les coordenades temporals es mantenen invariants.

Sota translacions temporals, l'ordre temporal (i, de fet, la separació temporal) també es manté, per la propietat bàsica
\[ ct_0 < ct_1 \implies ct_0 + a < ct_1 + a. \]

Així doncs, només fa falta comprovar que els boosts en configuració estàndard tenen aquesta propietat. Efectivament, això també passa, ja que la transformació de la coordenada temporal, tal com hem vist a classe, és:
\[ ct' = \gamma \left( ct - \beta x \right), \]
on $\beta = v/c$, i per tant obtenim:
\[ ct_0' = \gamma \left( ct - \beta x \right) t_0 \notate[X]{{}<{}}{1}{t_0 < t_1} \gamma \left( ct - \beta x \right) t_1 = ct_1'. \]

\textbf{Solució per b):}

Prenem un sistema de referència $\mathbf{S}'$ que provingui d'un boost de Lorentz aplicat sobre el sistema de referència $\mathbf{S}$. Aleshores, tal com hem vist a classe els esdeveniments $\mathbf{E}_i' = (ct'_i, x', y', z')_{\mathbf{S}'}$ tindran coordenada temporal (llevat del ``factor de conversió''):
\[ c t'_i = \gamma (c t_i - \beta x), \]
i la diferència temporal entre els 2 esdeveniments a $\mathbf{S}'$ serà:
\[ \Delta (ct') = ct'_1 - ct'_0 = \gamma c (t_1 - t_0) \lnotate[X]{{}={}}{1}{\scriptstyle \gamma = \frac{1}{\sqrt{1 - v^2/c^2}}} \frac{c}{\sqrt{1 - \frac{v^2}{c^2}}} (t_1 - t_0). \]

El nostre objectiu és veure si podem fer $\Delta (ct')$ tant gran com volguem. Vegem què passa quan la velocitat s'apropa a $c$:
\[ \lim_{v \to c^{-}} \Delta (ct) = \lim_{v \to c^{-}} \left[ \frac{c}{\sqrt{1 - \frac{v^2}{c^2}}} (t_1 - t_0) \right] \notate[X]{{}={}}{1}{\scriptstyle t_1 - t_0 \text{ constant}} c (t_1 - t_0) \lim_{v \to c^{-}} \frac{1}{\sqrt{1 - \frac{v^2}{c^2}}} = + \infty. \]

Aleshores, això vol dir que per qualsevol separació temporal sempre podrem trobar una $v > 0$ tal que tingui aquesta separació.

Per veure que la separació temporal mínima és la del sistema de referència $\mathbf{S}$, només caldrà veure que el boost de Lorentz que hem considerat abans en aquest apartat on la separació temporal és mínima és el definit pel paràmetre $v = 0$. Això és perquè qualsevol altre SRI es pot obtenir a partir d'un boost en configuració estàndard composat amb altres transformacions generadores del grup de Poincaré, que ja hem vist a l'apartat a) que mantenen les diferències de temps invariants.

Primer de tot, observem que la funció $f(v) = \Delta(ct)$ és parell, ja que a la seva expressió només apareix $v^2$, que és igual a $(-v)^2$.

Aleshores, si veiem que $f|_{(0, c)}$ és convexa (és a dir, amb derivada positiva), això vol dir que el mínim global de $f(v)$ és a $v = 0$.

A $(0, c)$, tenim:
\[ f'(v) = c(t_1 - t_0) \frac{1}{2} \left( 1 - \frac{v^2}{c^2} \right)^{-\frac{3}{2}} \frac{2v}{c^2} = \frac{v}{c} (t_1 - t_0) \left( 1 - \frac{v^2}{c^2} \right)^{- \frac{3}{2}}. \]

Com $v > 0$, $t_0 < t_1 \implies t_1 - t_0 > 0$, i $v < c \implies 1 - \frac{v^2}{c^2} > 0$, tenim que $f'(v) > 0$ i, per tant, hem acabat la demostració.

\newpage

\textbf{Solució per c):}

Considerem un Boost de Lorentz, i vegem que en el sistema $\mathbf{S}'$ fruit d'aquesta transformació podem assolir qualsevol separació espacial:
\[ x_i' = \gamma (x - vt_i) \implies \]
\[ \implies \Delta x' = x_1' - x_0' = \gamma (x - v t_1 - x + v t_0) = \gamma v (t_0 - t_1) = - \gamma v (t_1 - t_0) \implies \]
\[ \implies \Delta x' = - \frac{v}{\sqrt{1 - \frac{v^2}{c^2}}} (t_1 - t_0). \]

Observem que, si $v = 0$, $|\Delta x'| = 0$. A més, si fem tendir $v \to \pm c$:
\[ \lim_{v \to -c^+} \Delta x' = + \infty, \quad \lim_{v \to +c^-} \Delta x' = - \infty. \]

Així doncs, queda demostrat que no hi ha fita superior ni inferior per la separació espacial.

\end{document}
