@@ -1743,3 +1743,252 @@ Write a code which applies these matrices to the same one-qubit basis.
17431743
17441744
17451745
1746+
1747+ A naive, yet popular, statement says that quantum computers can
1748+ provide an exponential speedup over classical computers because their
1749+ internal states live in an exponentially large space of dimension
1750+ $2^N$ for an $N$-qubit quantum computer. The number of dimensions
1751+ grows so fast with $N$ that classical supercomputers cannot even hold
1752+ this state in memory as soon as $N>50$; hence, classical computing is
1753+ supposedly doomed to address these states.
1754+
1755+ Yet, despite this supposed impossibility, a rather large number of
1756+ such exponentially large states have been calculated, sometimes with
1757+ machine precision, using classical algorithms
1758+ \cite{white1992,pan2019}. The solution of this small paradox is the
1759+ same as in other successes of physics: apparently very complex
1760+ phenomena have internal mathematical structures that, when revealed,
1761+ allow one to make precise predictions.
1762+
1763+
1764+ A quantum computer is a well-controlled out-of-equilibrium quantum
1765+ many-body system that one intends to use to perform a
1766+ calculation. Such a system can be described at several levels: from
1767+ the actual underlying physics (usually described in terms of its
1768+ Hamiltonian, i.e.\ with time and energies) up to an abstract
1769+ representation used to describe quantum algorithms (the gate-based
1770+ quantum computer). In this section, we briefly present this latter
1771+ model, which will serve as a reference point \cite{nielsen2000}. We
1772+ will not discuss the quantum algorithms themselves; rather, we will
1773+ look at what a quantum computer is supposed to do at a very general
1774+ level and ask what prevents us (or not) from doing the same thing on a
1775+ classical computer.
1776+
1777+ \subsection{An exponentially large internal state}
1778+
1779+ The abstract ``gate-based'' quantum computer is defined as follows. We
1780+ have a set of $N$ two-level systems, called quantum bits or qubits
1781+ (for instance, the spin of an electron), that can be in the states
1782+ $\ket{0}$ and $\ket{1}$. The most general state of the quantum
1783+ computer has the form
1784+
1785+
1786+ \begin{equation}
1787+ \ket{\Psi} = \sum_{i_1i_2\cdots i_N} \Psi_{i_1i_2\cdots i_N} \ket{i_1i_2\cdots i_N},
1788+ \end{equation}
1789+
1790+ where the sum runs over all qubit values $i_a \in \{0,1\}$, and
1791+ $\ket{i_1i_2\cdots i_N}$ is a shorthand for the tensor product
1792+ $\ket{i_1i_2\cdots i_N} = \ket{i_1}\otimes
1793+ \ket{i_2}\otimes\cdots\otimes\ket{i_N}$. The tensor
1794+ $\Psi_{i_1i_2\cdots i_N}$ can be thought of as a large vector
1795+ containing $2^N$ complex values. The potential capabilities of quantum
1796+ computers stem from the fact that this vector is exponentially large
1797+ and, once $N\gtrsim 50$, cannot be stored in a classical computer.
1798+
1799+ \subsection{Quantum circuits}
1800+
1801+ When one operates a quantum computer, one initializes it with an
1802+ initial state $\ket{\Psi}^{(0)}$ (usually $\ket{\Psi}^{(0)} =
1803+ \ket{000\cdots{}0}$), and the state of the system evolves according to
1804+ the Schrödinger equation, which transforms $\ket{\Psi}^{(n)}$ into
1805+ $\ket{\Psi}^{(n+1)} = \hat U^{(n)} \ket{\Psi}^{(n)}$, with the
1806+ evolution operator $\hat U^{(n)}$ given by
1807+
1808+ \begin{equation}
1809+ \hat U^{(n)} = T e^{-i\int_{t_n}^{t_{n+1}} dt \hat H(t)}.
1810+ \end{equation}
1811+
1812+ where $T$ is the time-ordering operator and $\hat H(t)$ is the
1813+ Hamiltonian of the system. In physics, the system is described by
1814+ $\hat H(t)$. In quantum computing, one actually starts with the
1815+ evolution operators $\hat U^{(n)}$, assuming that someone else has
1816+ worked out how to engineer appropriate Hamiltonians. The different
1817+ evolution operators that one will use are called ``gates'' and fall
1818+ into two categories, depending on whether they act on a single qubit
1819+ or on two qubits. A single-qubit gate is defined on one qubit as $\hat
1820+ U\ket{i} = \sum_j U_{ji}\ket{j}$, where the $2\times 2$ matrix
1821+ $U_{ij}$ is unitary. In terms of the wavefunction $\Psi^{(n)}$, such a
1822+ single-qubit gate on qubit $a$ translates into a matrix that acts as
1823+
1824+ \begin{equation}
1825+ \label{eq:1qubit_gate}
1826+ \Psi_{i_1i_2\cdots{}i_N}^{(n+1)} = \sum_{i'_a} U^{(n)}_{i_ai'_a}
1827+ \Psi_{i_1\cdots{}i_{a-1}i'_a i_{a+1}\cdots{}i_N}^{(n)}.
1828+ \end{equation}
1829+
1830+ Likewise, a two-qubit gate acting on qubits $a$ and $b$ is described
1831+ by a $4\times 4$ matrix and transforms the wavefunction into
1832+
1833+ \begin{equation}
1834+ \label{eq:2qubit_gate}
1835+ \Psi_{i_1i_2\cdots{}i_N}^{(n+1)} = \sum_{i'_a,i'_b} U^{(n)}_{i_ai_b,i'_ai'_b}
1836+ \Psi_{i_1\cdots{}i_{a-1}i'_a i_{a+1}\cdots{}i_{b-1}i'_b i_{b+1}\cdots{}i_N}^{(n)}.
1837+ \end{equation}
1838+
1839+ Depending on the quantum hardware, some gates are easier to implement
1840+ than others. Typical examples include the one-qubit gates (the first
1841+ three are the Pauli matrices)
1842+
1843+ \begin{eqnarray}
1844+ X &=& \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \\
1845+ Y &=& \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \\
1846+ Z &=& \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}, \\
1847+ H &=& \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}, \\
1848+ T &=& \begin{pmatrix} e^{i\pi/8} & 0 \\ 0 & e^{-i\pi/8} \end{pmatrix},
1849+ \end{eqnarray}
1850+
1851+ and the controlled NOT (or C-NOT) two-qubit gate
1852+
1853+ \begin{equation}
1854+ \label{eq:control_not}
1855+ C_X = \begin{pmatrix} 1 & 0 & 0 & 0 \\
1856+ 0 & 1 & 0 & 0 \\
1857+ 0 & 0 & 0 & 1 \\
1858+ 0 & 0 & 1 & 0 \end{pmatrix}.
1859+ \end{equation}
1860+
1861+ In the above gate, the two qubits are not equivalent: there is the
1862+ control bit (c) and the target bit (t). The matrix supposes the
1863+ following ordering of the two-qubit states:
1864+
1865+ $\ket{0}_\text{c}\ket{0}_\text{t}$,
1866+ $\ket{0}_\text{c}\ket{1}_\text{t}$,
1867+ $\ket{1}_\text{c}\ket{0}_\text{t}$ and
1868+ $\ket{1}_\text{c}\ket{1}_\text{t}$.
1869+
1870+ Three-qubit gates are often more complicated to implement
1871+ (nature only provides two-body interactions), but can be constructed from combinations
1872+ of one- and two-qubit gates.
1873+
1874+ \begin{center}
1875+ \includegraphics[scale=0.5]{76_quantum_circuit.pdf}
1876+ \end{center}
1877+
1878+ They are read a little like music, with one line per qubit.
1879+
1880+ The last ingredient of the quantum computer gate model is measurement. When a qubit $a$ is
1881+ measured, it returns the value $\alpha$ ($\alpha = 0$ or 1) with probability
1882+
1883+ \begin{equation}
1884+ P_\alpha = \sum_{i_1\cdots{}i_{a-1} i_{a+1}\cdots{}i_N} \left|
1885+ \Psi_{i_1\cdots{}i_{a-1} \alpha i_{a+1}\cdots{}i_N}^{(n)} \right|^2.
1886+ \end{equation}
1887+
1888+ After measurement, the new wavefunction becomes
1889+
1890+ \begin{equation}
1891+ \Psi_{i_1\cdots{}i_N}^{(n)}\rightarrow
1892+ \delta_{i_a,\alpha} \frac{1}{\sqrt{P_\alpha}}
1893+ \Psi_{i_1\cdots{}i_{a-1} \alpha i_{a+1}\cdots{}i_N}^{(n)}.
1894+ \end{equation}
1895+
1896+ And that's essentially it: the above set of equations entirely
1897+ describes what a quantum computer is supposed to do. The entire field
1898+ of quantum algorithms (which we will not discuss) consists of using
1899+ these rules to perform useful computations.
1900+
1901+
1902+ \subsection{Summary}
1903+
1904+ So, in a nutshell, a quantum computer allows one to perform a subset
1905+ of linear algebra, namely matrix-vector multiplications, with very
1906+ special matrices (the ``gates'' that act only on certain indices and
1907+ belong to a fixed set of unitary matrices) on exponentially large
1908+ vectors (the wavefunction $\Psi_{i_1\cdots{}i_N}^{(n)}$). The appeal
1909+ of quantum computers clearly comes from the exponentially large size
1910+ of those wavefunctions. However, a very strong downside is that at the
1911+ end of the calculation one does not hold the corresponding
1912+ exponentially large vector of $2^N$ values, but only a much smaller
1913+ set: $N$ bits of (probabilistic) information. We get a single sample
1914+ of the distribution $|\Psi_{i_1\cdots{}i_N}^{(n)}|^2$. This is one of
1915+ the two Achilles' heels of quantum computing, which we dub the I/O
1916+ bottleneck (well, more the O bottleneck for this aspect).
1917+
1918+ It is very important to realize that the largest part of the Hilbert
1919+ space of dimension $2^N$ will remain forever inaccessible to quantum
1920+ computers (and classical methods). This can be understood using a
1921+ simple counting argument. Suppose that the quantum circuit consists of
1922+ $D$ layers of gates ($D$ being the depth of the circuit). We also
1923+ suppose that each layer is packed with as many gates as possible
1924+ (meaning that all the qubits are acted upon). Lastly, each gate is
1925+ parametrized by a few angles. Then the total dimension of the subspace
1926+ that can be spanned by these circuits is $O(D N)$, which is obviously
1927+ much smaller than $2^N$.
1928+
1929+ Now let us put some realistic numbers. Suppose that we work with
1930+ $N=100$ qubits. The total dimension of the Hilbert space is $2^{100}
1931+ \approx 10^{30}$. Typical depths that can be considered with existing
1932+ hardware are of the order of $D\approx 100$, but let’s suppose that
1933+ this number is scaled up to $D=10^6$. The explorable subspace would
1934+ still have 20 orders of magnitude fewer degrees of freedom than the
1935+ full Hilbert space. So the question really is: does this subspace
1936+ belong to the ``relevant'' part of the Hilbert space? And, conversely,
1937+ is the ``relevant'' part of the Hilbert space amenable to classical
1938+ simulations? The word relevant is defined very loosely here, but there
1939+ are several scientific articles that start to give it a more precise
1940+ meaning. For instance, the problem of the ``barren plateaus'' in the
1941+ variational quantum eigensolver (VQE) algorithm has been traced back
1942+ to the fact that most of the states in the $O(N D)$-dimensional
1943+ subspace manifold are essentially chaotic, hence irrelevant
1944+ \cite{larocca2025}.
1945+
1946+
1947+ \subsection{Digression on decoherence and fidelity}
1948+
1949+ We simply cannot leave the subject of quantum computing without
1950+ discussing, however shortly, the phenomenon of decoherence, the other
1951+ Achilles' heel of quantum computing. Indeed, quantum entanglement is
1952+ both a resource (when it is obtained in a precise way with degrees of
1953+ freedom that are fully under control) and the main obstacle to
1954+ building a quantum computer (when it occurs between qubits and other
1955+ degrees of freedom such as a phonon or a two-level system). In
1956+ practice, the fidelity of the state $F(n) = \bra{\Psi^{(n)}}
1957+ \rho^{(n)} \ket{\Psi^{(n)}}$ between the targeted state
1958+ $\ket{\Psi^{(n)}}$ and the density matrix $\rho^{(n)}$ actually
1959+ obtained decreases exponentially as
1960+
1961+ \begin{equation}
1962+ F(n)\sim e^{-\epsilon n},
1963+ \end{equation}
1964+
1965+ with an average error rate per gate $\epsilon$. Actually, the error
1966+ rate $\epsilon$ includes decoherence but not only: other more mundane
1967+ phenomena also affect the precision of the calculation. For instance,
1968+ the energy difference of the two-qubit states may vary a little or a
1969+ microwave pulse may be a little too long or slightly less intense than
1970+ expected. The bottom line is that an analog machine executes every
1971+ operation with finite accuracy. For the best current quantum
1972+ hardware, $\epsilon$ lies somewhere around $10^{-3}$ (often less when
1973+ used as a system for real quantum circuits as opposed to benchmarks on
1974+ single qubits or pairs of qubits). This phenomenon strongly limits
1975+ the depth of the circuit that can be used in practice. It is the main
1976+ obstacle towards building a useful working quantum computer, as we
1977+ explain in \cite{waintal2024}. The hope of quantum computing is to
1978+ use quantum error correction to address this problem
1979+ \cite{nielsen2000}. In a nutshell, quantum error correction uses
1980+ several physical qubits to build one ``logical'' qubit of better
1981+ quality than the physical ones. For instance, one could use
1982+ $\ket{000000}$ as logical $\ket{0}_\text{L}$ and $\ket{111111}$ as
1983+ logical $\ket{1}_\text{L}$, while constantly measuring the parity of
1984+ pairs of physical qubits to verify that they remain the same (i.e.\ as
1985+ $00$ or $11$ but not $10$ or $01$, which correspond to errors) and
1986+ prevent the other ``non-computational states'' (such as
1987+ $\ket{101101}$) from acquiring a significant amplitude. The exact
1988+ theoretical construction is only slightly more sophisticated than
1989+ that. The practical construction, on the other hand, adds many layers
1990+ of complexity to the hardware, so that it is unclear how far one will
1991+ be able to go in practice. We will not go further in that direction;
1992+ the reader interested in a critical discussion can have a look at
1993+ \cite{waintal2019}.
1994+
0 commit comments