# Exact solution of the TFIM model
We start with the Hamiltonian in spin-language
$$
\begin{align} H &= \Gamma \sum_n \sigma^z_n - J \sum_n \sigma^x_n \sigma^x_{n+1} \\
&= \Gamma \sum_n \left( 2c^\dagger_n c_n - 1\right) - J\sum_n\left(\sigma^+_n + \sigma^-_n\right)\left(\sigma^+_{n-1} + \sigma^-_{n+1}\right)
\end{align}
$$
Now we use the Jordan-Wigner transformations:
$$
\sigma^+_n = e^{-i\pi\sum_{k<n}c^\dagger_k c_k} c_n \\
\sigma^-_n = e^{i\pi\sum_{k<n}c^\dagger_k c_k} c_n
$$
As an example calculation, we will get things like
$$
\begin{align}
\sigma^+_n \sigma^+_{n+1} &= c_n e^{-i\pi\sum_{k<n}c^\dagger_k c_k} e^{-i\pi\sum_{k<n+1}c^\dagger_k c_k} c_{n+1} \\
&= c_n \underbrace{e^{-2\pi i \sum_{k<n}c^\dagger_k c_k}}_{=1} e^{- i\pi c^\dagger_{n+1}c_{n+1}} c_{n+1} \\
&= c_n \underbrace{e^{- i\pi c^\dagger_{n+1}c_{n+1}}}_{c^\dagger_{n+1}c_{n+1} = \textrm{number of particles on site n+1}} c_{n+1} \\
&= \pm c_n c_{n+1}
\end{align}
Transforming the entire Hamiltonian, picking the $+$ parity for these terms, we get
$$
\begin{align} H &= \Gamma \sum_n \left( 2c^\dagger_n c_n - 1\right) - J\sum_n\left( (c^\dagger_n c_{n+1} + h.c.) + (c^\dagger_n c^\dagger_{n+1} + h.c.)\right)
\end{align}
$$
If it weren't for $c^\dagger_n c^\dagger_{n+1}$ and it's Hermitian conjugate, this Hamiltonian would be that of a free particle and diagonalizing it would be done just through transforming to k-space.
Here, we will still transform to k-space to partially diagonalize the Hamiltonian, but we will require an extra step (Bogoliubov transformation) to bring it into a fully diagonal form.
The Fourier transform for the hopping and diagonal term are as usual, so let's just evaluate it for the other terms here.
$$
\begin{align}
\sum_n c^\dagger_{n}c^\dagger_{n+1} &= \frac{1}{N}\sum_{n,k,k'} e^{-ikn}e^{-ik'n - ik'} c^\dagger_k c^\dagger_{k'} \\
&= \frac{1}{N} \sum_{n,k,k'} e^{-in(k+k')} e^{-ik'}c^\dagger_k c^\dagger_{k'} \\
&= \sum_{k,k'} \delta_{-k,k'} e^{-ik'}c^\dagger_k c^\dagger_{k'} \\
&= \sum_k e^{ik} c^\dagger_k c^\dagger_{-k}
\end{align}
$$
With a few more steps:
$$
\begin{align}
\sum_k e^{ik} c^\dagger_k c^\dagger_{-k} &= \frac{1}{2}\left(\sum_k e^{ik}c^\dagger_k c^\dagger_{-k} + \sum_k e^{ik}c^\dagger_k c^\dagger_{-k}\right) \\
&= \frac{1}{2}\left(\sum_k e^{ik}c^\dagger_k c^\dagger_{-k} - \sum_k \underbrace{e^{ik}c^\dagger_{-k} c^\dagger_k}_{\textrm{relabel } k\to -k}\right) \\
&= \frac{1}{2}\left(\sum_k e^{ik}c^\dagger_k c^\dagger_{-k} - \sum_k e^{-ik}c^\dagger_{k} c^\dagger_{-k}\right) \\
&= \sum_k i\sin(k) c^\dagger_{k} c^\dagger_{-k}
\end{align}
$$
We could also just have expanded the exponent, and then the $\cos(k)$ part would have averaged out (because it is even under $k \to -k$ but $c^\dagger_k c^\dagger_{-k}$ gets a minus sign).
The Hamiltonian in k-space thus becomes
$$
\begin{align} H &= \Gamma \sum_n \left( 2c^\dagger_k c_k - 1\right) - \sum_n\left( (c^\dagger_n c_{n+1} + h.c.) + (c^\dagger_n c^\dagger_{n+1} + h.c.)\right) \\
&= -N\Gamma + 2\Gamma \sum_k c^\dagger_k c_k - 2J \sum_k \cos(k) c^\dagger_k c_k \\
&-J\sum_k i\sin(k) c^\dagger_k c^\dagger_{-k} + J\sum_k i\sin(k) c_{-k}c_k
\end{align}
$$
In the last step, the first line contains all the diagonal terms. The second line contains terms that are not yet diagonal, and we can use a Bogoliubov transformation to diagonalize it (because this is a biquadratic Hamiltonian (at most two-$c$ term operators, and no 4-$c$ terms)). Instead, to symbolically diagonalize this further we want to bring this into a matrix form
$$
\begin{align}
H &= \sum_k \begin{pmatrix} c^\dagger_k & c_{-k}\end{pmatrix} \begin{pmatrix} a(k) & b(k) \\ b(k)^* & d(k) \end{pmatrix} \begin{pmatrix} c_k \\ c^\dagger_{-k} \end{pmatrix}
\end{align}
$$
That matrix form is then easily diagonalizable also by writing it in a spin-form. To find the expression for the matrix elements, let's expand this form first
$$
\begin{align}
H &= \sum_k \left(a c^\dagger_k c_k + b^* c_{-k}c_k + b c^\dagger_k c^\dagger_{-k} + d c_{-k} c^\dagger_{-k} \right) \\
&= \sum_k \left(a c^\dagger_k c_k + b^* c_{-k}c_k + b c^\dagger_k c^\dagger_{-k} - d c^\dagger_{-k}c_{-k} + d \right) \\
&= \sum_k \left( (a - d) c^\dagger_k c_k + b^* c_{-k}c_k + b c^\dagger_k c^\dagger_{-k} + d \right) \\
\end{align}
$$
To get to $d$, we rewrote the $c_{-k}c^\dagger_{-k}$ term using the commutator:
$$
c_{-k}c^\dagger_{-k} = 1 - c^\dagger_{-k}c_{-k}
$$
so that we can match:
$$
\begin{align}
b &= -i J \sin(k) \\
a - d &= 2\Gamma - 2J\cos(k) \\
d &= -\Gamma
\end{align}
$$
!! Error in the logic here somewhere I think! Please have a look, I'll continue with it later