---
abstract: 'The graph isomorphism (GI) problem is the computational problem of finding a permutation of vertices of a given graph $G_1$ that transforms $G_1$ to another given graph $G_2$ and preserves the adjacency. In this work, we propose a quantum algorithm to determine whether there exists such a permutation. To find such a permutation, we introduce isomorphic equivalent graphs of the given graphs to be tested. We proof that the GI problem of the equivalent graphs is equivalent to the GI problem of the given graphs. The idea of the algorithm is to determine whether there exists a permutation can transform the eigenvectors of the adjacency matrix of the equivalent graphs each other. The cost time of the algorithm is polynomial.'
author:
- Xi Li
- Hanwu Chen
title: The quantum algorithm for graph isomorphism problem
---

[^1]

Introduction
============

The GI problem has been heavily studied in computer science[@kobler2012graph]. Although GI problem for many special classes of graphs can be solved in polynomial time, and in practice graph isomorphism can often be solved efficiently[@mckay1981practical], the universal polynomial for GI is still open. The problem is not known to be solvable in polynomial time nor to be NP-complete, and therefore may be in the computational complexity class NP-intermediate. On the 11th of December 2015, L´aszl´o Babai proposed a quasi-polynomial algorithm on classical computer for GI problem other than Johnson graphs[@babai2016graph]. The GI problem is believed to be of comparable computational difficulty as well as integer factorization problem[@arora2009computational]. However, the integer factorization problem can be settled by Shor’s algorithm in polynomial time, but the efficient quantum algorithm for GI is not known.

A number of researchers have considered the quantum physics-based algorithms for solving the graph isomorphism problem. In some of these algorithms, quantum systems droved by the Hamiltonians defined by the topology structure of the GI instance are settled[@rudolph2002constructing; @shiau2005s; @gamble2010two; @shiau2003physically]. Evolution results of the quantum system droved by different Hamiltonians imply that whether the two graphs are isomorphic. In the algorithms based on the continuous time quantum walk on graphs, the adjacency matrix of the associated graph is used to define the Hamiltonian $H(G)$ that drive the system. The state of system is changed by the unitary operator $U\left( G \right) = {e^{ - iH\left( G \right)t}}$. For the same initial state and the same sample time, if the measurement values of the systems droved by distinct Hamiltonians are equal, then the algorithm judges that the two graphs are isomorphic. The GI test algorithms based on discrete quantum are similar[@berry2011two]. However, both the continuous time quantum and the discrete time quantum walk on graphs are invalid for distinguishing the pairs of non-isomorphic strongly regular graphs with the same parameters even increasing the number of walkers or adding interacting between walkers[@smith2010k; @berry2011two].

Another kind of quantum algorithm for solving the GI problem are based the adiabatic quantum evolution. In these algorithms, every permutation in the symmetry group $S_n$ is encoded as a binary vector which corresponds a computational basis state[@gaitan2014graph; @hen2012solving; @tamascelli2014quantum]. Defining a time depended Hamiltonian $H(t)$. the $H(0)$ is a proper initial Hamiltonian whose ground state is easily preparing and the $H(T)$ is ending Hamiltonian whose ground state is a valid permutation for GI problem. Via adiabatic quantum evolution $T$ time, if the quantum system ending at a ground state corresponds a permutation, then the given graphs are isomorphic. These algorithms can distinguish non-isomorphism SRG with the same parameters. However, finding the time complexity of the algorithms is intricate since obtaining the energy gap of Hamiltonians is an open problem and the number of permutations needs to encode is $N!$ which is too large.

In our scheme, the permutation is not directly checked one by one. We introduce a kind of graphs correspond the original given graphs, the GI problem of such kind of graphs is equivalent to the GI problem of the given graphs, hence we call it isomorphic equivalent graph. The lowest eigenvalue of the Hamiltonian defined by the adjacency matrix of isomorphic equivalent graph is simple, namely the ground state is a non-degenerate state. After we prepare the ground states of distinct Hamiltonians, we check that whether these ground states can transfer to each other by a permutation matrix. If yes, then the two original given graphs are isomorphic, otherwise they are non-isomorphic. We introduce an he altered Grover algorithm, and acquire such a matrix by this algorithm. Since quantum algorithm for the GI problem of pairs of SRGs with the same parameters are hard, we illustrate our algorithm via the instances of SRGs.

This paper is organized as follows: the second section presents isomorphic conditions of isomorphic equivalent graphs. In the third section, the procedure of ground state of the equivalent graphs of SRG preparing is given. The fourth section discusses how to determine the transfer matrix between the ground states. The time complexity be presented in the fifth section, and the final section provides conclusions.

Equivalent graph of isomorphism
===============================

A graph, denoted as $G(V,E)$, consists of a vertex set $V$ and an edge set $E$. The set $E$ is a subset of $V\times V$, which implies the connection relationship between pairs of vertices in $V$. The connection relationship of $G$ is generally represented via the adjacency matrix $A$. It is a $N \times N$ real symmetric matrix, where $A_{jk} = 1$ if vertex $v_j$ and $v_k$ are connected otherwise $A_{jk}= 0$. For graphs with loops, the diagonal entry is the number of loop attached on that vertex and the degree is the sum of the number of neighbors and the diagonal entry. For loop-less graphs, the diagonal entry $A_{jj}$=0 and the number of neighbors of a vertex is known as its degree.

For two given loop-less graphs $G_1$ and $G_2$, it is well known that $G_1$ is isomorphic to $G_2$ if and only if there exist a permutation matrix $P$ such that ${A_2} = P{A_1}{P^T}$ , where $A_1$ and $A_2$ are the adjacency matrices of $G_1$ and $G_2$ respectly. Now considering add a loop to every vertex of $G_1$ and $G_2$, the result graphs be denoted as $\widetilde{G_1}$ and $\widetilde{G_2}$. The correspond adjacency matrices are $A_1^ \prime {\rm{ = }}{A_1}{\rm{ + }}I$ and $A_2^\prime {\rm{ = }}{A_2}{\rm{ + }}I$. Adding the equal number of loops to every vertex does not change the adjacency of the original graph. Hence the isomorphism between $\widetilde{G_1}$ and $\widetilde{G_2}$ is equivalent to the isomorphism between $G_1$ and $G_2$. The isomorphism of $\widetilde{G_1}$ and $\widetilde{G_2}$ apparently be implied in the below theorem.

Graphs $\widetilde{G_1}$ and $\widetilde{G_2}$are isomorphic if and only if there exists a permutation matrix $P$, such that equation $A_2^\prime = P {A_1^\prime}{P^T}$ satisfies.

More operations can be executed on graph $\widetilde{G_1}$ and $\widetilde{G_2}$ such that the isomorphism between the resulting graphs imply the isomorphism between the original given graph $G_1$ and $G_2$. Now, choosing a pair vertices $v \in V( \widetilde{G_1} )$ and $w \in V( {\widetilde{G_2} } )$, deleting the loop of $v$ and $w$ in $\widetilde{G_1}$ and $\widetilde{G_2}$. The resulting spanning subgraph are denoted as $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ respectively. A similar theorem can be obtained.

Graphs $\widetilde{G_1}$ and $\widetilde{G_2}$ are isomorphic if and only if there exist a pair of vertices $v$ and $w$ such that $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphism.

If $\widetilde{G_1}$ and $\widetilde{G_2}$ are isomorphic, then there exist a isomorphic mapping $f$ and a pair of vertices $v$ and $w$ such that $f$ maps $v$ to $w$,namely $$f:v \to w$$. Deleting the loop of $v$ and $w$ in$\widetilde{G_1}$ and $\widetilde{G_2}$ to obtain the spanning subgraph $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$. Apprently, the map $f$ is aslo a isomorphic map from $\widetilde{G_1^v}$ to $\widetilde{G_2^w}$.

Analogously, if graphs $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphic, then there exists a isomorphic map $f$ such that $f:v \to w$. Adding a loop to $v$ and $w$, one will obtain graphs $\widetilde{G_1}$ and $\widetilde{G_2}$. Then the map $f$ is an isomorphic mapping from $\widetilde{G_2^w}$ to $\widetilde{G_2^w}$.

$\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphic if and only if there exists a permutation matrix $Q$ such that $A_2^w = Q A_1^v{Q^T}$, where $A_1^v$ and $A_2^w$ are adjacency matrices of $\widetilde{G_2^w}$ and $\widetilde{G_2^w}$ respectively.

By proper relabeling, one can give vertices $v$ and $w$ index $1$, then $$A_2^w = A_2^\prime - \left[ {\begin{array}{*{20}{c}}
    1&0& \ldots &0\\
    0&0&{}&{}\\
    \vdots &{}&{}&{}\\
    0&{}&{}&0
    \end{array}} \right],$$ and

$$A_1^v = A_1^\prime - \left[ {\begin{array}{*{20}{c}}
    1&0& \ldots &0\\
    0&0&{}&{}\\
    \vdots &{}&{}&{}\\
    0&{}&{}&0
    \end{array}} \right].$$ Based on theorem 2, $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphic then $\widetilde{G_1}$ and $\widetilde{G_2}$ are isomorphic. Hence, there exists a permutation matrix Q such that $A_2^\prime = QA_1^\prime{Q^T}$. this leads to $$\label{eq1}
A_2^\prime - \left[ {\begin{array}{*{20}{c}}
    1&0& \ldots &0\\
    0&0&{}&{}\\
    \vdots &{}&{}&{}\\
    0&{}&{}&0
    \end{array}} \right] = QA_1^\prime{Q^T} - Q\left[ {\begin{array}{*{20}{c}}
    1&0& \ldots &0\\
    0&0&{}&{}\\
    \vdots &{}&{}&{}\\
    0&{}&{}&0
    \end{array}} \right]{Q^T}.$$

Analogously, if the $A_2^w = Q A_1^v{Q^T}$ valid, then $\widetilde{G_1}$ and $\widetilde{G_2}$ are isomorphic. by **Theorem 2**, $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphic.

Loop-less graphs $G_1$ and $G_2$ are isomorphic if and only if there exist a pair of vertices $v$ and $w$ such that $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ are isomorphism.

From the above theorems, the isomorphism problem between $G_1$ and $G_2$ can be reduced to the isomorphism problem between $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$. Hence, we call the graph $\widetilde{G_1^v}$ and $\widetilde{G_2^w}$ the isomorphic equivalent graphs of $G_1$ and $G_2$ respectively. In next sections, we will see that finding isomorphic permutation matrix between equivalent graphs is more facile than the original given graphs. We give an instance in Fig.(\[iso\_graph\])

The spectrum of isomorphic equivalent SRG
=========================================

Since distinguishing non-isomorphic SRGs is hard by quantum algorithm, we will apply the algorithm to the GI problem of SRG at first. First of all, we will introduce the spectrum of equivalent SRG which is significant for the preparing a non-degenerate eigenvector. The connection relationship of a SRG satisfies[@cvetkovic1980spectra]

(1). It is neither a complete graph nor an empty graph,

(2). Any two adjacent vertices have $a$ common adjacent vertices

(3). Any two non-adjacent vertices have $c$ common adjacent vertices

If the number and degree of the SRG are $N$ and $k$ respectively, then it is labelled SRG with parameters $(N,k,a,c)$. From conditions (1) to (3), one can obtain the spectrum of the adjacent matrix of SRG, or spectrum of SRG. These are $k$, ${\lambda _1} = \frac{1}{2}\left( {a - c + \sqrt \Delta  } \right)$ and ${\lambda _2} = \frac{1}{2}\left( {a - c - \sqrt \Delta } \right)$ with multiplicity 1, ${m_1} = \frac{1}{2}\left( {N - 1 + \frac{{\left( {N - 1} \right)\left( {c - a} \right) - 2k}}{{\sqrt \Delta  }}} \right)$ and ${m_2} = \frac{1}{2}\left( {N - 1 - \frac{{\left( {N - 1} \right)\left( {c - a} \right) - 2k}}{{\sqrt \Delta  }}} \right)$ respectively[@cvetkovic1980spectra], where $\Delta  = {\left( {a - c} \right)^2} + 4\left( {k - c} \right)$. Hence, the SRGs with the same parameters have the same eigenvalues and multiples of the eigenvalues.

$G_1$ and $G_2$ are SRGs, for $v \in \widetilde{G_1}$ and $w \in \widetilde{G_2}$, the adjacency matrices of $\widetilde{G_1}$ and $\widetilde{G_2}$ are $A_1^v = {A_1} + I - \left| v \right\rangle \left\langle v \right| $, $A_2^v = {A_2} + I - \left| v \right\rangle \left\langle v \right| $. Where $A_1$ and $A_2$ are adjacency matrices of $G_1$ and $G_2$ respectively, $\left|v\right>$ is a vector with only one non-zero component 1 in the index of vertex of $v$. For instance, the index of $v$ is $1$, then $$\left| v \right\rangle \left\langle v \right| = \left[ {\begin{array}{*{20}{c}}
    1&0& \ldots &0\\
    0&0&{}&{}\\
    \vdots &{}&{}&{}\\
    0&{}&{}&0
    \end{array}} \right]$$.

From literature [@cvetkovic1997eigenspaces], the characteristic polynomial of $A_1^v$ is $$\label{eigenp}
{P_v}\left( x \right) = P\left( x \right)\left( {1 + \sum\limits_{k = 1}^m {\frac{{\alpha _{kj}^2}}{{x - {\mu _k}}}} } \right).$$

Where the $\alpha_{kj}$, $P(x)$ and $\mu_k=\lambda_k+1$ are the graph angle, characteristic polynomial and eigenvalues of ${A_1}+I$ respectively. For SRG, ${\alpha _{kj}} = \sqrt {\frac{{{m_k}}}{N}}$. From equation (1), the least eigenvalue is simple, it corresponds a unique eigenvector. Oppositely, the least eigenvalue of a SRG is multiple, and it corresponds multiple eigenvectors. The adjacency matrix with simple eigenvalue is critical for our GI algorithm. We consider to define Hamiltonian via the adjacency matrix whose least eigenvalue is simple and to prepare this eigenvector. For general graph, the similar operation still can produce a simple least eigenvalue. This conclusion can be clearly obtained from Eq.\[eigenp\]

For a arbitrary graph Graph $G$, the least eigenvalue of graph $\widetilde{G^v}$ is simple.

Frame of the isomorphic algorithm
=================================

In this section, the frame of the isomorphic algorithm is presented. The sub-procedures in the algorithm are introcudes in next sections.

Now, we are given two SRGs $G_1$ and $G_2$ with the same parameters. We fix a vertex $v$ of $G_1$, and let $w$ run over all vertices of $G_2$. If $G_1$ and $G_2$ are isomorphic, then there exists a vertex $w$ in $G_2$ such that ${A_1^v} = Q {A_2^w}{Q^T}$. The ground states of ${A_1^v}$ and ${A_2^w}$ are denoted as $\left| \varphi_1 \right>$ and $\left| \varphi_2 \right>$ , both of them correspond the least eigenvalue $\mu_{min}$. It provides that $${A_2^w}\left| {{\varphi _2}} \right\rangle  = {\mu _{\min }}\left| {{\varphi _2}} \right\rangle.$$ If the two give SRGs are isomorphic, then $${A_1^w}{Q^T}\left| {{\varphi _2}} \right\rangle  = {\lambda _{\min }}{Q^T}\left| {{\varphi _2}} \right\rangle.$$ Hence, if the two give SRGs are isomorphic, then the eigenvectors of ${A_1^v}$ and $A_2^w$ can be transform by a permutation matrix $Q^T$. If the eigenvectors are degenerate, the Eq.(3) is general not valid in a quantum system. That’s why we must perform our algorithm on isomorphic equivalent graphs. For one turn, namely a specific vertex $w \in G_2$, we illustrate the steps in Fig.1. For the whole algorithm, we may do this this procedure $N$ times at worst. We list the procedures blow and also give Fig.(\[frame\]) to illustrate.

**Procedure (1)**. Preparing the ground state of ${A_1^v}$ and $A_2^w$ by adiabatic quantum algorithm.

**Procedure (2)**. Finding the linear operator $Q^k$ that can transform the two ground states each other by an altered Grover’s algorithm.

**Procedure (3)**. Checking that whether $Q^k$ is a permutation matrix.

The eigenstate preparing via adiabatic quantum evolution
========================================================

The adiabatic quantum algorithm can be realized on quantum computer. The adiabatic quantum algorithm is usually used for combinational optimization problem. In this paper, we apply it to prepare the eigenvector of the Hamiltonian defined by the adjacency matrix. The time depend Hamiltonian of adiabatic quantum algorithm has the format[@farhifarhi] $$H\left( t \right) = \left( {1 - \frac{t}{T}} \right){H_i} + \left( {\frac{t}{T}} \right){H_P}$$ $H_i$ is the initial Hamiltonian, $H_P$ is the ending Hamiltonian which is defined relying on specific problems. Here, we define that $${H_P} = {A_1} + I - \xi \left| v \right\rangle \left\langle v \right|,$$ or $${H_P} = {A_2} + I - \xi \left| w \right\rangle \left\langle w \right|,$$

Let $s=\frac{t}{T}$, the eigenvalues of $H(t)$ are $\mu_1(s)<,\ldots,\mu_N(s)$, and the eigenvectors are $\left|\mu_1(s)\right>,\ldots,\left|\mu_1(s)\right>$. The evolution time satisfies $$T\geq\frac{\epsilon}{g_{min}^2}$$ where $${g_{\min }} = \mathop {\min }\limits_{0 \le t \le 1} \left( {\mu \left( 1 \right) - \mu \left( 0 \right)} \right),$$ and $$\varepsilon  = \mathop {\max }\limits_{0 \le t \le 1} \left| {\left\langle {\mu \left( 1 \right)} \right|\frac{{dH\left( s \right)}}{{ds}}\left| {\mu \left( 0 \right)} \right\rangle } \right|.$$

When $\xi  \ll 1$, $\mu \left( 1 \right) \approx \mathop {\min }\limits_j \left| {{\lambda _j} + 1} \right|$. Choosing a proper initial Hamiltonian that $\mu(0)=c$, such that c is far less than $\mu(1)$. Since $\varepsilon \geq 1$, the evolution time reaches $$T \ge \frac{1}{{{{\left( {\mathop {\min }\limits_j \left| {{\lambda _j} + 1} \right|} \right)}^2}}}.$$ From the above formula, the evolution time is not very long. Hence, in the analysis of time complexity, the preparing time of eigenvectors can be ignored. Note that the initial eigenvector mustn’t be the equal superposition state, since equal superposition state is approximately equal to another eigenvector of $H_P$ when The parameter $\xi$ be taken to a small enough value.

Finding permutation via an altered Grover algorithm
===================================================

In the previous section, we have illustrated that the procedure of preparing the ground state of adjacency matrix of isomorphic equivalent graph. Now we have such two ground states, how to check whether there exists a permutation matrix that can transform them each other. Our approach isn’t checking every permutation in the symmetric group $S_n$, but directly find what a unitary matrix can transform one eigenvector to another one. We adopt an altered Grover’s algorithm to determine that unitary transform. The Grover’s original algorithm can be found in literature [@grover1996fast], or one can find the algorithm version described by unitary matrix in literature [@williams2010explorations]. we describe the altered Grover’s algorithm by the way of the latter.

Now we have the two eigenvectors $\left|\varphi_1\right>$ and $\left|\varphi_2\right>$, no matter if the two graphs are isomorphic $\left<\varphi_1|\varphi_2\right>\neq 0$. By using the altered Grover’s algorithm, $\left|\varphi_1\right>$($\left|\varphi_2\right>$) can be transformed to $\left|\varphi_2\right>$($\left|\varphi_1\right>$). The algorithm procedures are listed below:

**Step (1)**. Given two oracles, construct the iterative operator $Q =  - U{{\bf{1}}_s}{U^\dag}{{\bf{1}}_t}$, where $\left|s\right>=\left|\varphi_1\right>$ is the initial state, $\left|s\right>=\left|\varphi_2\right>$ is the target state, ${{\bf{1}}_s} = I - 2\left| s \right\rangle \left\langle s \right|$ and ${{\bf{1}}_t} = I - 2\left| t \right\rangle \left\langle t \right|$ are constructed relied on the oracles, $U$ is a unitary operator satisfies that $\left\langle {{\varphi _1}} \right|U\left| {{\varphi _2}} \right\rangle  \ne 0$.

**Step (2)**. Iterative execution the operator $k = \frac{\pi }{4}\sqrt N$ times, namaly $\left| \phi  \right\rangle  = {Q^k}U\left| s \right\rangle $.

**Step (3)**. Checking that whether $\left\langle {{\varphi _2}} \right.\left| \phi  \right\rangle  \approx 1$ is valid, if yes, turn to Step (4), otherwise, turn to Step (3).

**Step (4)**. Testing whether the operator $Q^k$ is a permutation matrix. If yes, then the given two graphs are isomorphic, otherwise the given graphs are non-isomorphic.

Although we have prepared the two ground states in some format Qbit, we don’t know what they are. Hence, we need two oracles in our algorithm and the original Grover’s algorithm only needs one, since we call it the altered Grover’s algorithm. Checking whether a matrix is a permutation can be realized by quantum algorithm just involved the computational basis state. We first need prepare a group of computational basis $\left|j\right>(j=0,...,N-1)$, which can be written is format of vector $$\left| 0 \right\rangle  = \left[ {\begin{array}{*{20}{c}}
    1\\
    0\\
    \vdots \\
    0
    \end{array}} \right],\left| 1 \right\rangle  = \left[ {\begin{array}{*{20}{c}}
    0\\
    1\\
    \vdots \\
    0
    \end{array}} \right], \ldots ,\left| {N - 1} \right\rangle  = \left[ {\begin{array}{*{20}{c}}
    0\\
    0\\
    \vdots \\
    1
    \end{array}} \right]$$.

Then, we let the operator $Q^k$ acts on every basis vector and measure the result. If the result vectors are all basis states and there are no one pair of them are equal, then the matrix is a permutation. In this manner, we will spend $N$ time since the number of computational basis vector is $N$. Checking all pairs of basis vectors will cost $O(N^2)$.

Time complexity analysis
========================

The algorithm contains three main steps. In the first step, we need prepare $N+1$ ground statesat most. Since the time of preparing one ground state is far less than the time of other steps. In the second step, one need to transform the two ground states by the Grover algorithm, for one round the time is $k = \frac{\pi }{4}\sqrt N$. In the third step, we need check that if the matrix $Q^k$ is a permutation, we need cost $N^2$ time in one turn. The whole procedure, we will do $N$ turn for the worst case that we will check all vertices in the second given graph. So worst time complexity is $O(N^3)$.

Conclusion
==========

In this work, we put forward a quantum algorithm for GI problem. The time complexity of the algorithm is polynomial. We introduce the isomorphic equivalent graph, and present several theorems for GI test. Via that kind of graph, we transform the GI problem given graphs to GI problem of isomorphic equivalent graphs. By the transformation, the least eigenvalue of the adjacency matrix becomes simple and the corresponding ground state is non-degenerate. That ground state can be efficaciously prepared in a short time by adiabatic quantum evolution. Then, by using the altered Grover algorithm, we can find the transformation matrix between the two ground states. If the given two graph are just co-spectrum but not isomorphic, then that matrix is no longer a permutation matrix. In the original Grover’s algorithm, one needs an oracle, but in the altered Grover’s algorithm we need two oracles. Theoretically, if we can prepare the eigenvector, then the oracle can be made. The work of oracle making is not the main part of our algorithm just as in Grover algorithm.

[18]{} \[1\][\#1]{} \[1\][`#1`]{} urlstyle \[1\][doi: \#1]{}

Johannes Kobler, Uwe Sch[ö]{}ning, and Jacobo Tor[á]{}n. *The graph isomorphism problem: its structural complexity*. Springer Science &amp; Business Media, 2012.

Brendan D McKay et al. Practical graph isomorphism. 1981.

L[á]{}szl[ó]{} Babai. Graph isomorphism in quasipolynomial time. In *Proceedings of the forty-eighth annual ACM symposium on Theory of Computing*, pages 684–697. ACM, 2016.

Sanjeev Arora and Boaz Barak. *Computational complexity: a modern approach*. Cambridge University Press, 2009.

Terry Rudolph. Constructing physically intuitive graph invariants. *arXiv preprint quant-ph/0206068*, 2002.

SY Shiau. S.-y. shiau, r. joynt, and sn coppersmith, quantum inf. comput. 5, 492 (2005). *Quantum Inf. Comput.*, 5:0 492, 2005.

John King Gamble, Mark Friesen, Dong Zhou, Robert Joynt, and SN Coppersmith. Two-particle quantum walks applied to the graph isomorphism problem. *Physical Review A*, 810 (5):0 052313, 2010.

Shiue-yuan Shiau, Robert Joynt, and Susan N Coppersmith. Physically-motivated dynamical algorithms for the graph isomorphism problem. *arXiv preprint quant-ph/0312170*, 2003.

Scott D Berry and Jingbo B Wang. Two-particle quantum walks: Entanglement and graph isomorphism testing. *Physical Review A*, 830 (4):0 042317, 2011.

Jamie Smith. k-boson quantum walks do not distinguish arbitrary graphs. *arXiv preprint arXiv:1004.0206*, 2010.

Frank Gaitan and Lane Clark. Graph isomorphism and adiabatic quantum computing. *Physical Review A*, 890 (2):0 022342, 2014.

Itay Hen and AP Young. Solving the graph-isomorphism problem with a quantum annealer. *Physical Review A*, 860 (4):0 042310, 2012.

Dario Tamascelli and Luca Zanetti. A quantum-walk-inspired adiabatic algorithm for solving graph isomorphism problems. *Journal of Physics A: Mathematical and Theoretical*, 470 (32):0 325302, 2014.

Drago[š]{} M Cvetkovi[ć]{}, Michael Doob, and Horst Sachs. *Spectra of graphs: theory and application*, volume 87. Academic Pr, 1980.

Dragos Cvetkovic, Drago[š]{} M Cvetkovi[ć]{}, Peter Rowlinson, and Slobodan Simic. *Eigenspaces of graphs*, volume 66. Cambridge University Press, 1997.

E Farhi. E. farhi, j. goldstone, s. gutmann, and m. sipser, quantum computation by adiabatic evolution, arxiv: quant-ph/0001106. *Quantum computation by adiabatic evolution*.

Lov K Grover. A fast quantum mechanical algorithm for database search. In *Proceedings of the twenty-eighth annual ACM symposium on Theory of computing*, pages 212–219. ACM, 1996.

Colin P Williams. *Explorations in quantum computing*. Springer Science &amp; Business Media, 2010.

[^1]: A footnote to the article title
