Skip to content

Commit dbe3483

Browse files
committed
Update week1.do.txt
1 parent 2644c33 commit dbe3483

File tree

1 file changed

+249
-0
lines changed

1 file changed

+249
-0
lines changed

doc/src/week1/week1.do.txt

Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)