diff --git a/quad9/electrodinamica/resum/main.tex b/quad9/electrodinamica/resum/main.tex
index 26950c2..d237b6f 100644
--- a/quad9/electrodinamica/resum/main.tex
+++ b/quad9/electrodinamica/resum/main.tex
@@ -8,16 +8,20 @@
 % Tensor commands:
 \newcommand*{\TT}[1]{\bar{\bar{#1}}}
 
-\title{\vspace{-.5em}Resum electrodinàmica}
-\author{Adrià Vilanova Martínez\vspace{-2em}}
+\title{Resum electrodinàmica}
+\author{Adrià Vilanova Martínez}
 
-\titlemonth{Semestre tardor curs 2021-22}
+\titlemonth{Semestre tardor curs 2021-22, grup M1}
 
 \begin{document}
 
-\makecover
+{
+  \setlength{\parskip}{0em}
+  \makecover
+}
 
 \input{tema1.tex}
+\input{tema2.tex}
 
 %\printindex
 
diff --git a/quad9/electrodinamica/resum/tema1.tex b/quad9/electrodinamica/resum/tema1.tex
index ff36dc8..344c418 100644
--- a/quad9/electrodinamica/resum/tema1.tex
+++ b/quad9/electrodinamica/resum/tema1.tex
@@ -349,7 +349,7 @@
 \end{defi}
 
 \begin{prop}
-  $P \cdot P \equiv P^2$ és invariant.
+  $P \cdot P \equiv P^2 = m^2 c^2$ és invariant.
 \end{prop}
 
 \begin{prop}
diff --git a/quad9/electrodinamica/resum/tema2.tex b/quad9/electrodinamica/resum/tema2.tex
new file mode 100644
index 0000000..2665aef
--- /dev/null
+++ b/quad9/electrodinamica/resum/tema2.tex
@@ -0,0 +1,385 @@
+% !TEX root = main.tex
+\chapter{Electrodinàmica}
+
+\section{Equacions de l'electrodinàmica}
+
+\begin{itemize}
+  \item $Q$ és mesurada.
+  \item $Q$ és un escalar sota transformacions Lorentz.
+  \item $Q$ està quantitzada ($\Delta Q / Q < 10^{-21}$).
+\end{itemize}
+
+\begin{defi}
+  La \underline{densitat de càrrega} és, amb abús de notació:
+  \[ \rho(\vec{x}) = \frac{\Delta Q}{\Delta V} = \frac{\Delta Q}{\Delta V_0} \gamma_{\vec{u}}. \]
+\end{defi}
+
+\begin{defi}
+  El \underline{quadrivector corrent} és:
+  \[ J^\mu := (c, \vec{u}) \rho = (c\rho, \vec{J}). \]
+\end{defi}
+
+\begin{prop}[Equació de continuitat]
+  Sigui $J^\mu$ el quadrivector corrent. Aleshores:
+  \[ \partial_\mu J^\mu = 0. \]
+\end{prop}
+
+\begin{obs}
+  Si prenem $\rho_0$ com la densitat de càrrega en el sistema comòbil, tenim:
+  \[ J^\mu = \rho_0 \gamma_u (c, \vec{u}) = \rho_0 U^\mu. \]
+\end{obs}
+
+\begin{obs}
+  Recordem les equacions de Maxwell al buit:
+  \[ \arraycolsep=15pt \def\arraystretch{2} \begin{array}{cc}
+    \div \vec{E} = 4 \pi \rho & \curl \vec{B} = \frac{4 \pi}{c} \vec{J} + \frac{1}{c} \partial_t \vec{E} \\
+    \div \vec{B} = 0 & \curl \vec{E} + \frac{1}{c} \partial_t \vec{B} = 0
+  \end{array} \]
+\end{obs}
+
+\begin{defi}
+  Anomenem \underline{potencial vector} un camp vectorial $\vec{A}$ tal que $\vec{B} = \curl \vec{A}$.
+\end{defi}
+
+\begin{obs}
+  Sota aquesta definició, tenim $\curl \left( \vec{E} + \frac{1}{c} \partial_t \vec{A} \right) = 0$.
+\end{obs}
+
+\begin{defi}
+  Anomenem \underline{potencial escalar} un camp escalar $\phi$ tal que $\vec{E} + \frac{1}{c} \partial_t \vec{A} = - \grad \phi$.
+\end{defi}
+
+\begin{obs}
+  Existeixen transformacions que ens converteixen potencials vectors en altres potencials vectors iguals de vàlid, i igual amb els potencials escalars. Anomenem aquest tipus de transformacions \underline{transformació de gauge}, i són les següents:
+  \begin{itemize}
+    \item $\vec{A}' = \vec{A} + \grad \alpha \quad \forall \alpha(t, \vec{x})$.
+    \item $\phi' = \phi - \frac{1}{c} \partial_t \alpha \quad \forall \alpha(t, \vec{x})$.
+  \end{itemize}
+\end{obs}
+
+\begin{defi}
+  Definim el \underline{quadrivector potencial} o \underline{camp de gauge} com:
+  \[ A^\mu := (\phi, \vec{A}). \]
+\end{defi}
+
+\begin{obs}
+  Podem fer el següent canvi de descripció:
+  \[ \begin{cases}
+    \vec{B} = \curl \vec{A}, \\
+    \vec{E} = - \grad \phi - \frac{1}{c} \partial_t \vec{A}.
+  \end{cases} \]
+\end{obs}
+
+\begin{defi}
+  El \underline{tensor de Faraday} o \underline{tensor electromagnètic} és:
+  \[ F_{\mu\nu} := \partial_\mu A_\nu - \partial_\nu A_\mu = \left(\begin{array}{c|ccc}
+    0 & & + \vec{E} & \\
+    \hline
+    & 0 & -B^3 & B^2 \\
+    - \vec{E} & & 0 & -B^1 \\
+    & & & 0
+  \end{array}\right). \]
+\end{defi}
+
+\begin{obs}
+  El tensor de Faraday és antisimètric i invariant gauge.
+\end{obs}
+
+\begin{defi}
+  Definim el tensor dual de Hodge com:
+  \[ *F^{\mu \nu} := \frac{1}{2} \varepsilon^{\mu \nu \rho \sigma} F_{\rho \sigma}. \]
+  En realitat és el mateix tensor $F^{\mu \nu}$ intercanviant $\vec{E} \to \vec{B}$, $\vec{B} \to - \vec{E}$.
+\end{defi}
+
+\begin{prop}
+  Les equacions de Maxwell en el buit es poden escriure com a:
+  \[ \partial_\mu F^{\mu \nu} = \frac{4 \pi}{c} J^\nu, \quad \partial_\mu {*F^{\mu \nu}} = 0, \]
+  o bé
+  \[ F_{\mu \nu} = \partial_\mu A_\nu - \partial_\nu A_\mu, \quad \Box A_\mu - \partial_\mu (\partial \cdot A) = \frac{4 \pi}{c} J_\mu, \]
+  on $\Box := \frac{1}{c^2} \partial_t^2 - \Delta$.
+\end{prop}
+
+\begin{prop}
+  Existeixen dos invariants electromagnètics:
+  \[ \begin{cases}
+    I_1 = F_{\mu \nu} F^{\mu \nu} = 2(B^2 - E^2), \\
+    I_2 = *F_{\mu \nu} F^{\mu \nu} = - 4 \vec{E} \cdot \vec{B}.
+  \end{cases} \]
+\end{prop}
+
+\begin{col}
+  Si $\vec{E} \perp \vec{B}$ a un SRI, ho són a tots.
+\end{col}
+
+\subsection{Transformació del camp electromagnètic}
+\begin{prop}
+  En configuració estàndard, els camps elèctrics i magnètics transformen com:
+  \[ \begin{cases}
+    {E'}^x = E^x, \\
+    {E'}^y = \gamma(E^y - \beta B^z), \\
+    {E'}^z = \gamma(E^z + \beta B^z),
+  \end{cases} \qquad \begin{cases}
+    {B'}^x = B^x, \\
+    {B'}^y = \gamma(B^y + \beta E^z), \\
+    {B'}^z = \gamma(B^z - \beta E^z).
+  \end{cases} \]
+
+  Pel cas general tenim les fòrmules:
+  \[ \begin{cases}
+    \vec{E}'_\parallel = \vec{E}_\parallel, \\
+    \vec{E}'_\perp = \gamma(\vec{E}_\perp + \vec{\beta} \times \vec{B}_\perp),
+  \end{cases} \qquad \begin{cases}
+    \vec{B}'_\parallel = \vec{B}_\parallel, \\
+    \vec{B}'_\perp = \gamma(\vec{B}_\perp - \vec{\beta} \times \vec{E}_\perp).
+  \end{cases} \]
+\end{prop}
+
+\subsection{Càrrega en un camp electromagnètic}
+\begin{prop}
+  Una càrrega puntual al buit genera els següent camps:
+  \[ \vec{E} = \frac{q \gamma}{r^2} \frac{1}{(1 + \beta^2 \gamma^2 \cos^2 \theta)^{3/2}} \hat{r}, \qquad \vec{B} = \vec{\beta} \times \vec{E}. \]
+\end{prop}
+
+\begin{obs}
+  La força és
+  \[ \vec{f} = \frac{d \vec{p}}{dt} = m \gamma \vec{a} + \frac{d(m \gamma)}{dt} \vec{u} \]
+  i, per tant, $\vec{f}$ no és necessàriament paral·lel a $\vec{a}$.
+\end{obs}
+
+\begin{defi}
+  La \underline{quadriforça} és:
+  \[ F^\mu := m \frac{dU^\mu}{d\tau} = \gamma \frac{d}{dt} (m \gamma c, \vec{p}) = \gamma \left( \frac{d}{dt} (m \gamma c), \vec{f} \right). \]
+\end{defi}
+
+\begin{prop}[Equació del treball o fórmula de la potència]
+  A partir del fet que $U^\mu U_\mu = c^2$ es pot demostrar:
+  \[ \frac{d(m \gamma c^2)}{dt} = \vec{f} \cdot \vec{u}. \]
+  Això ens permet expressar la quadriforça com:
+  \[ F^\mu = \gamma \left( \frac{\vec{f} \cdot \vec{u}}{c}, \vec{f} \right). \]
+\end{prop}
+
+\begin{obs}
+  Si $\vec{f} \parallel \vec{u}$, llavors $f = m \gamma^3 a = m \alpha$, on $\alpha$ és l'acceleració pròpia.
+\end{obs}
+
+\subsection{Força de Lorentz}
+\begin{defi}
+  Definim una generalització de la \underline{força de Lorentz} $\frac{d\vec{p}}{dt} = \vec{f} = q(\vec{E} + \vec{\beta} \times \vec{B})$ com la quadriforça
+  \[ F^\mu := \frac{q}{c} F^{\mu \nu} U_\nu. \]
+\end{defi}
+
+\begin{obs}
+  La força generalitzada de Lorentz implica el següent:
+  \begin{itemize}
+    \item L'equació del treball: $\displaystyle \frac{d(m \gamma c^2)}{dt} = \underbrace{q \vec{E}}_{\vec{f}} \cdot \vec{u}$, que a més ens diu que el camp magnètic no fa treball.
+    \item Si $A_\mu$ és independent del temps, aleshores l'energia $m \gamma c^2 + q \phi$ és una constant del moviment.
+  \end{itemize}
+\end{obs}
+
+\textit{El tema de formalisme lagrangià no està inclós en aquest resum.}
+
+\section{Lleis de conservació}
+
+\subsection{Tensor d'energia-moment d'una partícula}
+
+El corrent elèctric d'una partícula puntual és:
+\[ \begin{cases}
+  J^0 = c \rho = c q \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(densitat de càrrega)}, \\
+  \vec{J} = q \vec{u} \, \delta^{(3)} (\vec{x} - \vec{x}(t)) & \text{(flux de càrrega - corrent)}.
+\end{cases} \]
+Fixem-nos:
+\[ J^\mu = cq \int d\tau \, \delta^{(4)}(x - x(\tau)) U^\mu(\tau). \]
+
+\begin{defi}
+  Definim el \underline{tensor energia-moment de la partícula} com:
+  \[ T^{\mu \nu} := \begin{cases}
+    T^{0 \nu} & \text{densitat de moment $P^\nu$}, \\
+    T^{i \nu} & \text{flux de moment $P^\nu$ en la direcció $i$}.
+  \end{cases} \]
+\end{defi}
+
+Per tant:
+\begin{itemize}
+  \item $T^{00}$: densitat d'energia.
+  \item $T^{i0}$: flux d'energia.
+  \item $T^{0j}$: densitat de $cp^j$.
+  \item $T^{ij}$: flux de $cp^j$ en la direcció $i$.
+\end{itemize}
+
+\begin{prop}
+  Tenim:
+  \[ \partial_\mu T^{\mu \nu} = \frac{1}{c} F^{\nu \sigma} J_{\sigma}. \]
+\end{prop}
+
+\subsection{Tensor d'energia-moment del camp electromagnètic}
+
+\begin{obs}
+  La identitat de Jacobi és:
+  \[ \partial_\mu F_{\rho \sigma} + \partial_\rho F_{\sigma \mu} + \partial_\sigma F_{\mu \rho} = 0. \]
+\end{obs}
+
+\begin{prop}
+  Mitjançant el desenvolupament d'un lagrangià del camp EM i la identitat de Jacobi arribem a:
+  \[ \partial_\rho \left[ \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \delta_\mu^\rho \frac{1}{4} F^2 \right) \right] = - \frac{1}{c} F_{\mu \sigma} J^\sigma. \]
+\end{prop}
+
+\begin{defi}
+  Definim el \underline{tensor d'energia-moment electromagnètic} com:
+  \[ {T_{EM}}^\rho_\mu := \frac{1}{4 \pi} \left( F^{\rho \sigma} F_{\sigma \mu} + \frac{1}{4} \eta^{\rho \mu} F^2 \right). \]
+\end{defi}
+
+\begin{defi}
+  Definim el \underline{tensor d'energia-moment total} com:
+  \[ T_{total}^{\rho \mu} = T_{EM}^{\rho \mu} + T_{part}^{\rho \mu}. \]
+\end{defi}
+
+\begin{prop}[Llei de conservació d'energia-moment]
+  Tenim que:
+  \[ \partial_\rho T_{EM}^{\rho \mu} = - \frac{1}{c} F^{\mu \sigma} J_{\sigma}, \]
+  i juntant-ho amb l'equació trobada anteriorment pel cas d'una partícula obtenim la llei de conservació d'energia-moment:
+  \[ \partial_\rho (T_{total}^{\rho \mu}) = 0. \]
+\end{prop}
+
+\begin{defi}
+  El \underline{vector de Poynting} és:
+  \[ \vec{S} := \frac{c}{4 \pi} (\vec{E} \times \vec{B}). \]
+\end{defi}
+
+\begin{prop}[Teorema de Poynting]
+  Les components del tensor d'energia-moment electromagnètic són:
+  \[ \begin{cases}
+    \displaystyle T_{EM}^{00} = \frac{1}{8 \pi}(E^2 + B^2) = \varepsilon, & \text{(densitat d'energia electromagnètica)} \\[1em]
+    \displaystyle T_{EM}^{0i} = \frac{1}{c} S^i, & \text{(vector de Poynting)} \\[1em]
+    \displaystyle T_{EM}^{ij} = \frac{1}{4 \pi} \left[ - E^i E^j - B^i B^j + \frac{1}{2} \delta^{ij} (E^2 + B^2) \right]. & \text{(tensor d'esforços de Maxwell)}
+  \end{cases} \]
+\end{prop}
+
+\begin{prop}
+  Derivant el tensor d'energia-moment respecte la coordenada de temps obtenim:
+  \[ \partial_t \varepsilon + \div \vec{S} = - \frac{\Delta Q \, \vec{E} \cdot \vec{u}}{\Delta V} = - \frac{\text{\scriptsize treball del camp EM sobre les càrregues}}{\Delta t \cdot \Delta v}. \]
+\end{prop}
+
+\begin{defi}
+  Definim el \underline{moment total del camp EM} com:
+  \[ P_{EM}^{\mu} := \frac{1}{c} \int_{t = \text{const.}} T_{EM}^{0 \mu} d^3 x. \]
+\end{defi}
+
+\begin{obs}
+  En absència de càrregues, $\frac{d}{dt} P_{EM}^\mu = 0$, suposant que $T^{\mu\nu}$ està localitzat (ha de decaure més ràpid que $r^{-2}$).
+
+  En presència de càrregues, $\frac{d}{dt} (P_{EM}^\mu + P_{càrregues}^\mu) = 0$ anàlogament.
+\end{obs}
+
+\section{Solució de les equacions de Maxwell}
+
+Les equacions de Maxwell en funció del quadripotencial en el gauge de Lorentz són:
+\[ \Box A^\alpha = \frac{4 \pi}{c} J^\alpha, \quad \partial_\alpha A^\alpha = 0 \text{ (gauge de Lorentz)}. \]
+
+És una equació inhomogènia així que la solució general és: $A_g^\mu = A_h^\mu + A_p^\mu$ (la solució general és suma d'una homogènia i una particular).
+
+\begin{prop}
+  La solució de l'equació $\Box A^\nu = 0$ sota certes condicions de contorn són les ones planes de la forma
+  \[ A_h^\mu = \int d^3\vec{k} \left[ C^\mu(\vec{K}) e^{-i \omega t + i \vec{k} \cdot \vec{x}} + D^\mu(\vec{k}) e^{i \omega t + i \vec{k} \cdot \vec{x}} \right], \]
+  on $\omega = c | \vec{k} | \iff \omega^2 = c^2 k^2$ és la relació de dispersió, i demanem que $C^\mu(- \vec{k}) = [C^\mu(\vec{k})]^*$ i anàlogament per $D^\mu(\vec{k})$.
+
+  La solució particular de l'equació sencera és:
+  \[ A_p^\mu(x) = \frac{1}{c} \int d^4 x' \, G(x - x') J^\mu(x'), \]
+  on $G(x)$ s'anomena \underline{funció de Green} i és tal que compleix
+  \[ \Box_x G(x - x') = 4 \pi \delta^{(4)} (x - x'). \]
+\end{prop}
+
+\begin{defi}
+  La \underline{funció de Green retardada} és una funció de Green que es pren per no trencar la causalitat (que la font només afecti el futur):
+  \[ G_R(x) := - \frac{1}{\pi} \frac{1}{(2 \pi)^2} \int d^3 \vec{k} \int dk^0 \frac{e^{i k \cdot x}}{(k^0 - i \varepsilon)^2 - \vec{k}^2}, \]
+  on $k \cdot x = k^0 x^0 - \vec{k} \vec{x}$, i $\varepsilon > 0$. Si $x^0 < 0$, $G_R(x) = 0$.
+\end{defi}
+
+\begin{prop}
+  Pel teorema dels residus d'anàlisi complex obtenim:
+  \[ G_R(x) = \frac{- 2 \pi i}{(2 \pi)^3} \, \mathbb{I}(x^0 \geq 0) \, \int \frac{d^3 \vec{k}}{|\vec{k}|} \left[ e^{i \omega t - i \vec{k} \cdot \vec{x}} - e^{- i \omega t - i \vec{k} \cdot \vec{x}} \right] \implies \]
+  \[ \implies G_R(x - x') = \frac{\mathbb{I}(x^0 - {x'}^0 \geq 0)}{R} \delta(c(t - t') - R), \]
+  on $R = |\vec{x} - \vec{x}'|$.
+\end{prop}
+
+\subsection{Càrregues puntuals}
+\begin{prop}
+  Si definim $t_R$ el temps retardat (temps en què es va emetre) i $x$ el punt d'observació, ignorant la solució homogènia tenim com a solució:
+  \[ A^\mu(x) = \left. q \frac{(1, \vec{\beta})}{(1 - \vec{\beta} \cdot \vec{n}) R} \right|_{t_R}, \]
+  on $\vec{n}$ és la velocitat de propagació en la part espaial. Aquests potencials s'anomenen \underline{potencials de Liénard-Wiechert}.
+\end{prop}
+
+\begin{obs}
+  $A^\mu(x) \overset{\beta \to 0}{\longrightarrow} \frac{q}{R} (1, 0)$.
+\end{obs}
+
+\begin{prop}
+  Els camps EM són:
+  \[ \vec{E}(ct, \vec{x}) = \underbrace{\frac{q}{c} \left[ \frac{\vec{n} \times ((\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}})}{(1 - \vec{\beta} \cdot \vec{n})^3 \, R} \right]_{t_R}}_{\text{\scriptsize camp d'acceleració o de radiació}} + \underbrace{\left. q \frac{(\vec{n} - \vec{\beta})}{\gamma^2 (1 - \vec{\beta} \cdot \vec{n})^3 R^2} \right|_{t_R}}_{\text{\scriptsize camp de Coulomb}}, \]
+  \[ \vec{B}(ct, \vec{x}) = \vec{n} \times \vec{E}. \]
+\end{prop}
+
+\begin{obs}
+  Diverses coses:
+  \begin{itemize}
+    \item Fixem-nos que l'acceleració $\dot{\vec{\beta}}$ intervè a les fòrmules!
+    \item La part Coulombiana és el mateix que vam calcular prèviament mitjançant la transformació d'$\vec{E}$ i $\vec{B}$ entre SRIs, però ara en funció de $t_R$.
+    \item $\vec{S} = \frac{c}{4 \pi} (\vec{E} \times \vec{B})$, així que l'únic terme que contribueix a la pèrdua d'energia és $(\text{radiació})^2 \propto \frac{1}{R^2}$.
+    \item Si el camp d'acceleració $\vec{E}^{acc} \perp \vec{n}$, aleshores $|\vec{E}^{acc}| = |\vec{B}^{acc}| \implies I_1^{acc} := 2(B^2 - E^2) = 0$. A més, $I_2 = 4 \vec{E} \cdot \vec{B} = 0$ perquè $\vec{E} \perp \vec{B}$.
+    \item Una partícula radia en la direcció transversal a la que es mou.
+  \end{itemize}
+\end{obs}
+
+\section{Radiació per càrregues acceleradaes}
+
+\begin{defi}
+  La \underline{potència radiada} per una partícula és:
+  \[ P = \int_{S^2(R)} \vec{S} \cdot \vec{n} \, R^2 \, d\Omega, \]
+  on $d\Omega = \sin \theta d \theta d\varphi$ és l'angle sòlid, $\vec{n} = \vec{R}/R$ i $R^2 d\Omega$ la superfície que cobreix l'angle sòlid.
+
+  Per tant, la potència radiada per angle sòlid és:
+  \[ \frac{dP}{d\Omega} = \vec{S} \cdot \vec{n} \, R^2. \]
+\end{defi}
+
+\begin{prop}[Fòrmula de Larmor]
+  Sigui $\theta$ l'angle entre $\vec{n}$ i $\dot{\vec{\beta}}$. Aleshores, en el cas no relativista tenim:
+  \[ \frac{dP}{d\Omega} = \frac{q^2}{4 \pi c} |\dot{\vec{\beta}}|^2 \sin^2 \theta, \quad P = \frac{2q^2}{3c} |\dot{\vec{\beta}}|^2, \]
+  on el màxim de potència el tenim quan $\theta \in \{ \pm \pi/2 \}$ i el mínim quan $\theta \in \{ 0, \pi \}$.
+
+  En el cas relativista tenim:
+  \[ P = - \frac{2 q^2}{3 c^3} \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}, \]
+  on $\alpha^2 = - \frac{dU^\mu}{d \tau} \frac{dU_\mu}{d \tau}$.
+\end{prop}
+
+\begin{obs}
+  Si una partícula carregada es troba en un camp EM constant $F^{\mu \mu} = const.$, aleshores $P$ és constant.
+\end{obs}
+
+\subsection{Distribució angular de la radiació}
+
+\begin{prop}
+  La distribució angular instantània de l'energia radiada és:
+  \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\left| \vec{n} \times [ (\vec{n} - \vec{\beta}) \times \dot{\vec{\beta}} ] \right|^2}{(1 - \vec{\beta} \cdot \vec{n})^5}. \]
+\end{prop}
+
+\begin{obs}
+  Distingim 2 casos particulars:
+  \begin{itemize}
+    \item \textbf{Moviment lineal:} ($\vec{\beta} \parallel \dot{\vec{\beta}}$)
+    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{|\dot{\vec{\beta}}|^2 \sin^2 \theta}{(1 - \beta \cos \theta)^5}; \qquad \theta_{max} \approx \frac{1}{2 \gamma}, \quad \frac{dP}{d\Omega} \sim q^2 \alpha^2 \gamma^2; \]
+    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \vec{f}^2. \]
+    \item \textbf{Moviment circular:} ($\vec{\beta} \perp \dot{\vec{\beta}}$)
+    \[ \frac{dP(t_R)}{d\Omega} = \frac{q^2}{4 \pi c} \frac{\dot{\vec{\beta}}^2}{(1 - \vec{\beta} \cdot \vec{n})^3} \left[ 1 - \frac{\sin^2 \theta \cos^2 \varphi}{\gamma^2 (1 - \beta \cos \theta)^2} \right]; \qquad \theta_{max} = 0; \]
+    \[ P = \frac{2}{3} \frac{q^2}{c^3 m^2} \gamma^2 \vec{f}^2. \]
+  \end{itemize}
+\end{obs}
+
+\section{Radiació de sincrotró}
+
+Radiació emesa per una càrrega en moviment circular molt relativista ($\gamma \gg 1$).
+
+\begin{itemize}
+  \item \textbf{Cas no relativista:}
+  \[ \frac{dP}{d\Omega} = \frac{q^2 \omega^4 R^2}{4 \pi c^3} [1 - \sin^2 \theta \cos^2(\omega t - \varphi)], \qquad \omega = \frac{q B}{m \gamma_0 c} =: \frac{2 \pi}{T_0}. \]
+  \item \textbf{Cas relativista:} $\frac{dP}{d\Omega}$ es concentra en la direcció cap endavant, en un con d'obertura $\Delta \Omega \sim \frac{1}{\omega^2}$.
+  \[ \Delta t_R = \frac{r_0 \Delta \omega}{v}, \quad \Delta t \sim T_0 \gamma^{-3}. \]
+\end{itemize}
