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,[1] 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.[2]

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 Fibonacci anyons 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 T L n ( d ) {\displaystyle TL_{n}(d)} as follows: given a T T L n ( d ) {\displaystyle T\in TL_{n}(d)} which is a single Kauffman diagram, let t r ( T ) = d a n {\displaystyle tr(T)=d^{a-n}} where a {\displaystyle a} is the number of loops attained by identifying each point in the bottom of T {\displaystyle T} 's Kauffman diagram with the corresponding point on top. This extends linearly to all of T L n ( d ) {\displaystyle TL_{n}(d)} .

The Markov trace is a trace operator in the sense that tr ( 1 ) = 1 {\displaystyle \operatorname {tr} (1)=1} and tr ( X Y ) = tr ( Y X ) {\displaystyle \operatorname {tr} (XY)=\operatorname {tr} (YX)} for any X , Y T L n ( d ) {\displaystyle X,Y\in TL_{n}(d)} . It also has the additional property that if X {\displaystyle X} is a Kauffman diagram whose rightmost strand goes straight up then tr ( X E n 1 ) = 1 d tr ( X ) {\displaystyle \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 T L n ( d ) {\displaystyle TL_{n}(d)} with that property.[3]

Representing B n {\displaystyle B_{n}} in T L n ( d ) {\displaystyle TL_{n}(d)}

For a complex number A {\displaystyle A} we define the map ρ A : B n T L n ( d ) {\displaystyle \rho _{A}:B_{n}\to TL_{n}(d)} via σ i A E i + A 1 I {\displaystyle \sigma _{i}\mapsto AE_{i}+A^{-1}I} . It follows by direct calculation that if A {\displaystyle A} satisfies that d = A 2 A 2 {\displaystyle d=-A^{2}-A^{-2}} then ρ A {\displaystyle \rho _{A}} is a representation.

Given a braind B B n {\displaystyle B\in B_{n}} let B t r {\displaystyle 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 t r {\displaystyle V_{B^{tr}}} be the result link's Jones polynomial. The following relation holds:

V B t r ( A 4 ) = ( A ) 3 w ( B t r ) d n 1 tr ( ρ A ( B ) ) {\displaystyle V_{B^{tr}}(A^{-4})=(-A)^{3w(B^{tr})}d^{n-1}\operatorname {tr} (\rho _{A}(B))}

where w {\displaystyle 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 T L n ( d ) {\displaystyle TL_{n}(d)}

We wish to construct a complex representation τ {\displaystyle \tau } of T L n ( d ) {\displaystyle TL_{n}(d)} such that the representation τ ρ A {\displaystyle \tau \circ \rho _{A}} of B n {\displaystyle B_{n}} will be unitary. We also wish that our representation will have a straightforward encoding into qubits.

Let

Q n , k = { q { 1 , , k 1 } n + 1 q ( 1 ) = 1 , | q ( i ) q ( i + 1 ) | = 1 } {\displaystyle 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 = C [ Q n , k ] {\displaystyle V_{n,k}=\mathbb {C} [Q_{n,k}]} be the vector space which has Q n , k {\displaystyle Q_{n,k}} as an orthonormal basis.

We choose define a linear map τ : T L n ( d ) V n , k {\displaystyle \tau :TL_{n}(d)\to V_{n,k}} by defining it on the base of generators { 1 , E 1 , , E n 1 } {\displaystyle \{1,E_{1},\ldots ,E_{n-1}\}} . To do so we need to define the matrix element τ ( E i ) q , q {\displaystyle \tau (E_{i})_{q,q'}} for any q , q Q n , k {\displaystyle q,q'\in Q_{n,k}} .

We say that q {\displaystyle q} and q {\displaystyle q'} are 'compatible' if q ( j ) = q ( j ) {\displaystyle q(j)=q'(j)} for any j i + 1 {\displaystyle j\neq i+1} and q ( i ) = q ( i + 2 ) {\displaystyle q(i)=q(i+2)} . Geometrically this means that if we put q {\displaystyle q} and q {\displaystyle 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 {\displaystyle q} and q {\displaystyle q'} are incompatible set τ ( E i ) q , q = 0 {\displaystyle \tau (E_{i})_{q,q'}=0} . Else, let l {\displaystyle l} be either q ( i ) {\displaystyle q(i)} or q ( i + 2 ) {\displaystyle q(i+2)} (at least one of these number must be defined, and if both are defined they must be equal) and set

τ ( E i ) q , q = { λ l + 1 λ l q ( i + 1 ) = q ( i + 1 ) > l λ l 1 λ l + 1 λ l q ( i + 1 ) q ( i + 1 ) λ l 1 λ l q ( i + 1 ) = q ( i + 1 ) < l {\displaystyle \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 λ l = sin ( π l / k ) {\displaystyle \lambda _{l}=\sin(\pi l/k)} . Finally set d = 2 cos ( π / k ) {\displaystyle d=2\cos(\pi /k)} .

This representation, known as the path model representation, induces a unitary representation of the braid group.[4][5] Moreover, it holds that d = A 2 A 2 {\displaystyle d=-A^{2}-A^{-2}} for A = i e i π / 2 k {\displaystyle 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 π i / k {\displaystyle 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 {\displaystyle Q_{n,k}} into qubits in a way which allows us to easily describe the images of the generators E i {\displaystyle E_{i}} .

We represent each path as a sequence of moves, where 0 {\displaystyle 0} indicates a move to the right and 1 {\displaystyle 1} indicates a move to the left. For example, the path 1 , 2 , 3 , 2 {\displaystyle 1,2,3,2} will be represented by the state | 001 {\displaystyle \left|001\right\rangle } .

This encodes C [ Q n , k ] {\displaystyle \mathbb {C} [Q_{n,k}]} as a subspace of the state space on k 1 {\displaystyle k-1} qubits.

We define the operators φ i {\displaystyle \varphi _{i}} within this subspace we define

Φ i | w = { 0 w i = w i + 1 λ z i ( 1 ) w i λ z i | w + λ z i 1 λ z i + 1 λ z i X i X i + 1 | w w i w i + 1 {\displaystyle \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 {\displaystyle X_{i}} is the Pauli matrix flipping the i {\displaystyle i} th bit and z i {\displaystyle z_{i}} is the position of the path represented by | w {\displaystyle \left|w\right\rangle } after i {\displaystyle i} steps.

We arbitrarily extend φ i {\displaystyle \varphi _{i}} to be the identity on the rest of the space.

We note that mapping E i φ i {\displaystyle E_{i}\mapsto \varphi _{i}} retains all the properties of the path model representation. Specifically, it induces a unitary representation φ {\displaystyle \varphi } of B n {\displaystyle B_{n}} . It is fairly straightforward to show that φ i {\displaystyle \varphi _{i}} can be implemented by poly ( n , k ) {\displaystyle {\text{poly}}\left(n,k\right)} gates, so it follows that φ ( B ) {\displaystyle \varphi (B)} can be implemented for any B B n {\displaystyle B\in B_{n}} using poly ( m , n , k ) {\displaystyle {\text{poly}}\left(m,n,k\right)} where m {\displaystyle m} is the number of crossings in B {\displaystyle 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 H n , k {\displaystyle {\mathcal {H}}_{n,k}} be the subspace of paths we described in the previous clause, and let H n , k , l {\displaystyle {\mathcal {H}}_{n,k,l}} be the subspace spanned by basis elements which represent walks which end on the l {\displaystyle l} -th position.

Note that each of the operators φ i {\displaystyle \varphi _{i}} fix H n , k , l {\displaystyle {\mathcal {H}}_{n,k,l}} setwise, and so this holds for any W Im Φ ( T L n ( d ) ) {\displaystyle W\in {\text{Im}}\Phi \left(TL_{n}\left(d\right)\right)} , hence the operator W | l := W | H n , k , l {\displaystyle W|_{l}:=W|_{{\mathcal {H}}_{n,k,l}}} is well defined.

We define the following operator:

Tr n ( W ) = 1 N l = 1 k 1 λ l Tr ( W | l ) {\displaystyle \operatorname {Tr} _{n}\left(W\right)={\frac {1}{N}}\sum _{l=1}^{k-1}\lambda _{l}\operatorname {Tr} \left(W|_{l}\right)}

where Tr {\displaystyle \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 Tr n {\displaystyle \operatorname {Tr} _{n}} .

The algorithm

algorithm Approximate-Jones-Trace-Closure is
    input 
  
    
      
        B
        
        
          B
          
            n
          
        
      
    
    {\displaystyle B\in B_{n}}
  
 with 
  
    
      
        m
      
    
    {\displaystyle m}
  
 crossings
                An integer 
  
    
      
        k
      
    
    {\displaystyle k}
  

    output a number 
  
    
      
        s
      
    
    {\displaystyle s}
  
 such that 
  
    
      
        
          |
        
        s
        
        
          V
          
            
              B
              
                t
                r
              
            
          
        
        (
        
          e
          
            2
            π
            
              /
            
            k
          
        
        )
        
          |
        
        <
        1
        
          /
        
        p
        o
        l
        y
        (
        n
        ,
        k
        ,
        m
        )
      
    
    {\displaystyle |s-V_{B^{tr}}(e^{2\pi /k})|<1/poly(n,k,m)}
  
 
                 with all but exponentially small probability
    repeat for 
  
    
      
        j
        =
        1
      
    
    {\displaystyle j=1}
  
 to 
  
    
      
        p
        o
        l
        y
        (
        n
        ,
        m
        ,
        k
        )
      
    
    {\displaystyle poly(n,m,k)}
  

        1. Pick a random 
  
    
      
        l
        
        {
        1
        ,
        
        ,
        k
        
        1
        }
      
    
    {\displaystyle l\in \{1,\ldots ,k-1\}}
  
 such that the probability
           to choose a particular 
  
    
      
        l
      
    
    {\displaystyle l}
  
 is proportional to 
  
    
      
        
          λ
          
            l
          
        
      
    
    {\displaystyle \lambda _{l}}
  

        2. Randomly pick 
  
    
      
        q
        
        
          Q
          
            n
            ,
            k
          
        
      
    
    {\displaystyle q\in Q_{n,k}}
  
 which ends in position 
  
    
      
        l
      
    
    {\displaystyle l}
  

        3. Using the Hadamard test create a random variable 
  
    
      
        
          x
          
            j
          
        
      
    
    {\displaystyle x_{j}}
  
 with
           
  
    
      
        
          E
        
        
          [
          
            x
            
              j
            
          
          ]
        
        =
        
          
            R
            e
          
        
        
          
          
            α
            
            Q
            
              (
              B
              )
            
            
            β
          
          
        
      
    
    {\displaystyle \mathbb {E} \left[x_{j}\right]={\mathcal {Re}}\left\langle \alpha \mid Q\left(B\right)\mid \beta \right\rangle }
  

    Do the same to create 
  
    
      
        
          y
          
            j
          
        
      
    
    {\displaystyle y_{j}}
  
 with 
  
    
      
        
          E
        
        
          [
          
            y
            
              j
            
          
          ]
        
        =
        
          
            I
            m
          
        
        
          
          
            α
            
            Q
            
              (
              B
              )
            
            
            β
          
          
        
      
    
    {\displaystyle \mathbb {E} \left[y_{j}\right]={\mathcal {Im}}\left\langle \alpha \mid Q\left(B\right)\mid \beta \right\rangle }
  

    let 
  
    
      
        r
      
    
    {\displaystyle r}
  
 be the average of 
  
    
      
        
          x
          
            j
          
        
        +
        i
        
          y
          
            j
          
        
      
    
    {\displaystyle x_{j}+iy_{j}}
  

    return 
  
    
      
        (
        
        A
        
          )
          
            3
            w
            (
            
              B
              
                t
                r
              
            
            )
          
        
        
          d
          
            n
            
            1
          
        
        r
      
    
    {\displaystyle (-A)^{3w(B^{tr})}d^{n-1}r}
  

Note that the parameter d {\displaystyle d} used in the algorithm depends on k {\displaystyle k} .

The correctness of this algorithm is established by applying the Hoeffding bound to x j {\displaystyle x_{j}} and y j {\displaystyle y_{j}} separately.

Notes

  1. ^ Kuperberg, Greg (2009). "How hard is it to approximate the Jones polynomial?". arXiv:0908.0512.
  2. ^ Freedman, Michael; Larsen, Michael; Wang, Zhenghan (2000). "A modular functor which is universal for quantum computation". arXiv:quant-ph/0001108.
  3. ^ Jones, V.F.R (1983). "Index for subfactors". Invent Math. 1 (72). Bibcode:1983InMat..72....1J. doi:10.1007/BF01389127.
  4. ^ Jones, V.F.R (1985). "A polynomial invariant for knots via von Neumann algebras". Bull. Amer. Math. Soc. 12: 103–111. doi:10.1090/s0273-0979-1985-15304-2.
  5. ^ Jones, V.F.R (1986). "Braid groups, Hecke Algebras and type II factors". Geometric methods in Operator Algebras. 123: 242–273.

References

  1. D. Aharonov, V. Jones, Z. Landau - A Polynomial Quantum Algorithm for Approximating the Jones Polynomial