# Aharonov–Jones–Landau algorithm

In computer science, the Aharonov–Jones–Landau algorithm is an efficient quantum algorithm for obtaining an additive approximation of the Jones polynomial of a given link at an arbitrary root of unity. Finding a multiplicative approximation is a #P-hard problem, so a better approximation is considered unlikely. However, it is known that computing an additive approximation of the Jones polynomial is a BQP-complete problem.
The algorithm was published in 2009 in a paper written by Dorit Aharonov, Vaughan Jones and Zeph Landau.

## History

In the early 2000s, a series of papers by Michael Freedman, Alexei Kitaev, Michael J. Larsen, and Zhenghan Wang demonstrated that topological quantum computers based on topological quantum field theory had the same computational power as quantum circuits. In particular, they showed that the braiding of anyons in the Fibonacci category could be used to approximate the Jones polynomial evaluated at a primitive 5th root of unity. They then showed that this problem was BQP-complete.
Putting these results together, this implies that there is a polynomial length quantum circuit which approximates the Jones polynomial at 5th roots of unity. This algorithm was completely inaccessible to ordinary quantum computer scientists, however, since the papers by Freedman-Kitaev-Larsen-Wang used heavy machinery from manifold topology. The contribution of Aharanov-Jones-Landau was to simplify this complicated implicit algorithm in such a way that it would be palatable to a larger audience.

## The Markov trace

The first idea behind the algorithm is to find a more tractable description for the operation of evaluating the Jones polynomial. This is done by means of the Markov trace.
The "Markov trace" is a trace operator defined on the Temperley–Lieb algebra $TL_{n}(d)$ as follows: given a $T\in TL_{n}(d)$ which is a single Kauffman diagram, let $tr(T)=d^{a-n}$ where $a$ is the number of loops attained by identifying each point in the bottom of $T$'s Kauffman diagram with the corresponding point on top. This extends linearly to all of $TL_{n}(d)$.
The Markov trace is a trace operator in the sense that $\operatorname {tr} (1)=1$ and $\operatorname {tr} (XY)=\operatorname {tr} (YX)$ for any $X,Y\in TL_{n}(d)$. It also has the additional property that if $X$ is a Kauffman diagram whose rightmost strand goes straight up then $\operatorname {tr} (XE_{n-1})={\frac {1}{d}}\operatorname {tr} (X)$.
A useful fact exploited by the AJL algorithm is that the Markov trace is the unique trace operator on $TL_{n}(d)$ with that property.

## Representing $B_{n}$ in $TL_{n}(d)$

For a complex number $A$ we define the map $\rho _{A}:B_{n}\to TL_{n}(d)$ via $\sigma _{i}\mapsto AE_{i}+A^{-1}I$. It follows by direct calculation that if $A$ satisfies that $d=-A^{2}-A^{-2}$ then $\rho _{A}$ is a representation.
Given a braind $B\in B_{n}$ let $B^{tr}$ be the link attained by identifying the bottom of the diagram with its top like in the definition of a Markov trace, and let $V_{B^{tr}}$ be the result link's Jones polynomial. The following relation holds:
    $V_{B^{tr}}(A^{-4})=(-A)^{3w(B^{tr})}d^{n-1}\operatorname {tr} (\rho _{A}(B))$
where $w$ is the writhe. As the writhe can be easily calculated classically, this reduces the problem of approximating the Jones polynomial to that of approximating the Markov trace.

## The path model representation of $TL_{n}(d)$

We wish to construct a complex representation $\tau$ of $TL_{n}(d)$ such that the representation $\tau \circ \rho _{A}$ of $B_{n}$ will be unitary. We also wish that our representation will have a straightforward encoding into qubits.
Let
    $Q_{n,k}=\left\{q\in \left\{1,\ldots ,k-1\right\}^{n+1}\mid q(1)=1,\left|q(i)-q(i+1)\right|=1\right\}$
and let $V_{n,k}=\mathbb {C} [Q_{n,k}]$ be the vector space which has $Q_{n,k}$ as an orthonormal basis.
We choose define a linear map $\tau :TL_{n}(d)\to V_{n,k}$ by defining it on the base of generators $\{1,E_{1},\ldots ,E_{n-1}\}$. To do so we need to define the matrix element $\tau (E_{i})_{q,q'}$ for any $q,q'\in Q_{n,k}$.
We say that $q$ and $q'$ are 'compatible' if $q(j)=q'(j)$ for any $j\neq i+1$ and $q(i)=q(i+2)$. Geometrically this means that if we put $q$ and $q'$ below and above the Kauffman diagram in the gaps between the strands then no connectivity component will touch two gaps which are labeled by different numbers.
If $q$ and $q'$ are incompatible set $\tau (E_{i})_{q,q'}=0$. Else, let $l$ be either $q(i)$ or $q(i+2)$ (at least one of these number must be defined, and if both are defined they must be equal) and set
    $\tau \left(E_{i}\right)_{q,q'}={\begin{cases}{\frac {\lambda _{l+1}}{\lambda _{l}}}&q\left(i+1\right)=q'(i+1)>l\\{\frac {\sqrt {\lambda _{l-1}\lambda _{l+1}}}{\lambda _{l}}}&q\left(i+1\right)\neq q'(i+1)\\{\frac {\lambda _{l-1}}{\lambda _{l}}}&q\left(i+1\right)=q'(i+1)<l\end{cases}}$
where $\lambda _{l}=\sin(\pi l/k)$. Finally set $d=2\cos(\pi /k)$.
This representation, known as the path model representation, induces a unitary representation of the braid group. Moreover, it holds that $d=-A^{2}-A^{-2}$ for $A=ie^{-i\pi /2k}$.
This implies that if we could approximate the Markov trace in this representation this will allow us to approximate the Jones polynomial in $A^{-4}=e^{2\pi i/k}$.

## A quantum version of the path model representation

In order to be able to act on elements of the path model representation by means of quantum circuits, we need to encode the elements of $Q_{n,k}$ into qubits in a way which allows us to easily describe the images of the generators $E_{i}$.
We represent each path as a sequence of moves, where $0$ indicates a move to the right and $1$ indicates a move to the left. For example, the path $1,2,3,2$ will be represented by the state $\left|001\right\rangle$.
This encodes $\mathbb {C} [Q_{n,k}]$ as a subspace of the state space on $k-1$ qubits.
We define the operators $\varphi _{i}$ within this subspace we define
    $\Phi _{i}\left|w\right\rangle ={\begin{cases}0&w_{i}=w_{i+1}\\{\frac {\lambda _{z_{i}-\left(-1\right)^{w_{i}}}}{\lambda _{z_{i}}}}\left|w\right\rangle +{\frac {\sqrt {\lambda _{z_{i}-1}\lambda _{z_{i}+1}}}{\lambda _{z_{i}}}}X_{i}X_{i+1}\left|w\right\rangle &w_{i}\neq w_{i+1}\end{cases}}$
where $X_{i}$ is the Pauli matrix flipping the $i$th bit and $z_{i}$ is the position of the path represented by $\left|w\right\rangle$ after $i$ steps.
We arbitrarily extend $\varphi _{i}$ to be the identity on the rest of the space.
We note that mapping $E_{i}\mapsto \varphi _{i}$ retains all the properties of the path model representation. Specifically, it induces a unitary representation $\varphi$ of $B_{n}$. It is fairly straightforward to show that $\varphi _{i}$ can be implemented by ${\text{poly}}\left(n,k\right)$ gates, so it follows that $\varphi (B)$ can be implemented for any $B\in B_{n}$ using ${\text{poly}}\left(m,n,k\right)$ where $m$ is the number of crossings in $B$.

## A quantum version of the Markov trace

The benefit of this construction is that it gives us a way to represent the Markov trace in a way which can be easily approximated.
Let ${\mathcal {H}}_{n,k}$ be the subspace of paths we described in the previous clause, and let ${\mathcal {H}}_{n,k,l}$ be the subspace spanned by basis elements which represent walks which end on the $l$-th position.
Note that each of the operators $\varphi _{i}$ fix ${\mathcal {H}}_{n,k,l}$ setwise, and so this holds for any $W\in {\text{Im}}\Phi \left(TL_{n}\left(d\right)\right)$, hence the operator $W|_{l}:=W|_{{\mathcal {H}}_{n,k,l}}$ is well defined.
We define the following operator:
    $\operatorname {Tr} _{n}\left(W\right)={\frac {1}{N}}\sum _{l=1}^{k-1}\lambda _{l}\operatorname {Tr} \left(W|_{l}\right)$
where $\operatorname {Tr}$ is the usual matrix trace.
It turns out that this operator is a trace operator with the Markov property, so by the theorem stated above it has to be the Markov trace. This finishes the required reductions as it establishes that to approximate the Jones polynomial it suffices to approximate $\operatorname {Tr} _{n}$.

## The algorithm

Note that the parameter $d$ used in the algorithm depends on $k$.
The correctness of this algorithm is established by applying the Hoeffding bound to $x_{j}$ and $y_{j}$ separately.