\chapter{Introduction à l'information quantique et rappels utiles}

\section{Un peu d'histoire}
\subsection{Genèse de l'information quantique et conjecture de Moore}


Depuis le début des années 70, date à laquelle est commercialisé le premier microprocesseur Intel 4004 (doté alors de 2300 transistors à 4 bits), les microprocesseurs n'ont eu de cesse d'augmenter leur puissance de calcul par l'augmentation de leur densité de transistors. En 1965, Gordon Moore publie dans la revue \textit{Electronics Magazine} un article célèbre dans lequel il postule une augmentation exponentielle du nombre de transistors dans les microprocesseurs tous les deux ans environ. Lorsqu'il postule cette conjecture \cite{Moore-1965}, Moore ne se base que sur 5 observations étalées de 1959 à 1965 (comme l'on peut l'observer sur la figure \ref{fig:Moore-Conjecture-originale} de l'article d'origine).


\FloatBarrier
\begin{figure}[!ht]
\centering
\includegraphics[height=7cm]{Moore-Conjecture-originale.eps}
\caption{Conjecture de Moore d'une évolution exponentielle de la densité de transistors des microprocesseurs (cf. \cite{Moore-1965}).}
\label{fig:Moore-Conjecture-originale}
\end{figure}


Cependant de façon remarquable, cette conjecture a continué de se vérifier jusqu'à nos jours, montrant certes un écart à la loi postulée originellement par Moore (le doublement de la densité de transistors se faisant entre 1.3 et 1.8 ans), mais témoignant cependant de la justesse de son intuition (cf. figure \ref{fig:Moore-Loi-empirique}).

\FloatBarrier
\begin{figure}[!ht]
\centering
\includegraphics[height=7cm]{Moore-Loi-empirique.eps}
\caption{Observation empirique de la loi de Moore.}
\label{fig:Moore-Loi-empirique}
\end{figure}



\subsection{Naissance de l'idée d'un ordinateur quantique}

La conjecture de Moore porte en elle-même une limitation intrinsèque, puisque l'on ne peut envisager de dépasser une valeur de densité limite, qui correspondrait alors à la limite inférieure que l'on est capable d'atteindre en terme de miniaturisation des transistors (de l'ordre de la dizaine d'atomes). Il s'est donc rapidement avéré indispensable de réfléchir à d'autres ressources que la miniaturisation pour améliorer la puissance des microprocesseurs.

En 1982, Richard Feynman constatant à quel point il est complexe de simuler des systèmes quantiques sur des ordinateurs classiques, est le tout premier à proposer de construire des ordinateurs quantiques qui seraient capables de tirer parti de ce qu'offre la mécanique quantique comme ressources (superposition d'états, interférence, intrication, etc.). C'est à la même époque  que David Benioff propose au contraire d'utiliser ces ressources pour obtenir une accélération exponentielle des calculs classiques. De tels exemples d'accélération du calcul quantique sur le calcul classique exis--tent, le plus célèbre étant celui de l'algorithme de Shor \cite{Shor-1994}.  Ce dernier permet de factoriser un entier $N$ en $\mathcal{O}\left(\log(N)^3\right)$ opérations, alors qu'aujourd'hui le meilleur algorithme classique ne sait faire mieux  qu'en un nombre $\mathcal{O}(e^{P^{1/3}\log(P)^{2/3}})$ d'opérations, où $P=\log(N)$ (c'est à dire en un nombre exponentiel d'opérations par rapport à la taille du système). Même si aujourd'hui les applications pratiques restent modestes (on ne sait encore factoriser que de petits nombres), la crainte qu'un ordinateur quantique soit au moins par la théorie capable de déchiffrer des messages cryptés par la méthode RSA en un temps polynomial, a provoqué l'intérêt de nombreux acteurs (gouvernementaux notamment), et entraîné dans son sillage un développement inespéré de tout le domaine de l'information quantique. D'autres exemples d'accélération existent : l'algorithme de Grover par exemple \cite{Grover-1997}, est capable de retrouver un élément parmi $N$, en un nombre $\sqrt{N}$ d'opérations alors que le meilleur algorithme classique ne sait faire mieux qu'en un nombre $N$ d'opérations. On peut également citer le problème de Simon \cite{Simon-1994} dans lequel on cherche pour une fonction $f : \left\{0,1\right\}^m \rightarrow \left\{0,1\right\}^m$, à trouver $s$ tel que $\forall x\neq y : f(x)=f(y) \Leftrightarrow y=x \oplus s$, et pour lequel on obtient une accélération d'un nombre exponentiel d'opérations (pour le meilleur algorithme classique connu), à un nombre polynomial d'opérations (pour l'algorithme quantique). Enfin on peut citer les travaux récents de Lloyd, Harrow et Hassidim  \cite{Lloyd-2009}, sur la résolution de systèmes d'équations linéaires, où l'on observe pour $N$ équations une accélération d'un nombre $\mathcal{O}(N)$ d'opérations pour le meilleur algorithme classique connu, à un nombre $poly(log(N))$.

Nous le voyons donc, utiliser une approche quantique de certains algorithmes classiques, peut conduire à de véritables accélérations salvatrices, ouvrant au moins dans la théorie, la possibilité de résoudre toute une nouvelle classe de problèmes de complexité inaccessible aux ordinateurs classiques. Cependant, nous restons encore aujourd'hui dans l'ignorance des limitations qui seraient celles d'un ordinateur quantique. Ignorance qui s'ajoute à la difficulté de trouver quels algorithmes quantiques sont exponentiellement plus efficaces que leurs homologues classiques.
\subsection{Naissance du traitement quantique de l'information} 
\indent L'expérience sensible qu'il a du monde, a conduit l'homme à subdiviser l'univers en des catégories distinctes, et à construire une représentation relativement manichéenne de son environnement existentiel : froid/chaud, lent/rapide, mort/vivant, ouvert/fermé, etc.~On peut dire sans trop de crainte, que c'est de cette expérience quotidienne d'un univers où existent des états classiques exclusifs l'un de l'autre qu'est née un jour la logique binaire dans le domaine du traitement de l'information. Cependant, avec le temps, l'homme s'est rendu compte de la difficulté qu'il y avait à réduire l'existant à de simples catégories, et que bien souvent, tout était question de points de vue. Ainsi la relativité lui a par exemple révélé que le cadre même dans lequel il existe (l'espace, le temps) n'est en rien absolu, et que l'essence profonde des choses lui est dissimulée. La mécanique quantique quant à elle, lui a enseigné que les constituants élémentaires de la matière (atomes, électrons, photons, etc.) étaient décrits par des fonctions d'onde donnant la probabilité lors d'une mesure de trouver le système dans tel ou tel état quantique, l'obligeant à se détacher de cette intuition classique naturelle qu'il a du monde au travers de ses sens. Cette étrangeté du monde quantique qui choque la connaissance que nous avons du monde, a été particulièrement bien illustrée par l'expérience de pensée de Schrödinger dans laquelle un dispositif dépendant de l'état quantique d'un atome (qui a $50\%$ de chance d'être dans un état $A$ où dans un état $B$), doit déclencher tout un processus conduisant à la mort d'une pauvre chat innocent, entraînant ce raisonnement absurde que tant qu'aucun observateur n'observe le système, le chat se retrouve dans un état quantique de superposition cohérente : $\frac{1}{\sqrt{2}}\left(\ket{\mbox{mort}}+\ket{\mbox{vivant}}\right)$
(cf. figure \ref{fig:Expérience-du-chat-de-Schrödinger}).


Bien évidemment l'expérience quotidienne nous prouve que les objets macroscopiques n'exis--tent pas dans de tels états de superposition quantique (en raison de phénomènes de décohérence (d'autant plus rapides que le système est important) qui entraînent la disparition quasi-immédiate des cohérences de la matrice densité du système macroscopique et ne laissent subsister qu'une distribution de probabilités délocalisée). De ce constat qu'un objet quantique peut exister dans une superposition cohérente d'états qui seraient classiquement exclusifs les uns des autres, nous pouvons dire qu'est née un jour l'idée d'un traitement quantique de l'information. 


\FloatBarrier
\begin{figure}[!ht]
\centering
\includegraphics[width=9cm]{Expérience-du-chat-de-Schrödinger.eps}
\caption{Expérience du chat de Schrödinger : Une boîte fermée et isolée (A), contient une source radioactive (B) qui a $50\%$ de chance de déclencher un compteur Geiger (C) qui active un mécanisme (D), entraînant alors un marteau à casser une fiole remplie de poison (E), tuant ainsi le chat (F). Un observateur extérieur (G) doit alors ouvrir la boîte s'il souhaite réduire l'état du système à un seul des deux états classiques possibles : $\ket{\mbox{chat mort}}$ ou $\ket{\mbox{chat vivant}}$.}
\label{fig:Expérience-du-chat-de-Schrödinger}
\end{figure}




\section{Le bit quantique ou qubit}

\subsection{Paramétrisation d'un qubit - Sphère de Bloch}
Considérons tout d'abord un système physique comportant deux niveaux distincts tels que : un atome comportant un niveau fondamental et un niveau excité ; un photon pouvant présenter un état de polarisation horizontal ou vertical ; un électron pouvant être dans un état de spin up ou down. De tels systèmes constituent des qubits dont l'état est donné par  
$$\ket{\Psi}= \alpha \ket{0} + \beta \ket{1}, |\alpha|^2 + |\beta|^2=1~,$$
\noindent où $|\alpha|^2$ et $|\beta|^2$ sont les probabilités que les systèmes soient mesurés dans l'état $\ket{0}$ ou dans l'état $\ket{1}$. Comme les facteurs de phase n'affectent pas l'état physique d'un système, nous pouvons sans perte de généralité supposer $\alpha$ réel positif et récrire
$$\ket{\Psi}=\cos(\theta/2) \ket{0}+e^{i \phi} \sin(\theta/2) \ket{1}~,$$ 

\noindent où $\theta\in[0,\pi]$ et $ \phi\in[0,2\pi]$. Cette réécriture montre qu'il est possible de représenter de façon unique l'état $\ket{\Psi}$ par le point de coordonnées $(x,y,z)$ sur une sphère de rayon unité dans $\mathbb{R}^3$ avec
\begin{eqnarray*}
x &=& \sin(\theta) \cos(\phi)\\
y &=& \sin(\theta) \sin(\phi)\\
z &=& \cos(\theta)~.
\end{eqnarray*}
Cette sphère (cf. figure \ref{fig:Sphere-de-Bloch}) est la représentation géométrique de l'ensemble des états purs d'un système quantique à deux niveaux, et porte le nom de sphère de Bloch. Sur cette sphère, les pôles représentent les états  $\ket{0}$ et $\ket{1}$ et deux points antipodaux représentent des états orthogonaux, i.e. $\langle{\Psi(-x,-y,-z)}| \Psi(x,y,z) \rangle = 0$.



\FloatBarrier
\begin{figure}[!ht]
\centering
\includegraphics[width=9cm]{Sphère-de-Bloch.eps}
\caption{Paramétrisation d'un état $\ket{\Psi}$ sur la sphère de Bloch.}
\label{fig:Sphere-de-Bloch}
\end{figure}



\subsection{Action d'une opération unitaire sur un état pur}


Supposons que nous disposons d'un système dans l'état pur $\ket{\psi}$. Une opération unitaire sur ce dernier a pour propriété de conserver le caractère pur de l'état de départ, i.e. de donner comme état d'arrivée, un état qui appartient à nouveau à la sphère de Bloch. De façon générale, une transformation unitaire conduisant d'un état $\ket{\psi}$ à un état $\ket{\psi^{'}}$ obtenu en tournant d'un angle $\theta$ autour d'un vecteur $\vec{n}=(n_X,n_Y,n_Z)$ est donnée par l'opérateur $\hat{U}=e^{i \alpha} \hat{R}_{\vec{n}}(\theta)$ où $\hat{R}_{\vec{n}}(\theta)=e^{-i\theta \vec{n}.\vec{\sigma}/2}$, $\vec{\sigma}=(\hat{X},\hat{Y},\hat{Z})$, et $\hat{X}$,$\hat{Y}$,$\hat{Z}$ sont les opérateurs de Pauli. Nous donnons ci-dessous l'expression du cas particulier des opérateurs de  rotation autour des axes $Ox$, $Oy$, et $Oz$ :
\begin{eqnarray*}
\hat{R}_X(\theta)&=&e^{-i \theta\hat{X}/2}= \left(
\begin{array}{cc}
\cos(\theta/2) & -i \sin(\theta/2) \\
-i \sin(\theta/2) & \cos(\theta/2) \\
\end{array}
\right), \\
\hat{R}_Y(\theta)&=&e^{-i \theta\hat{Y}/2}= \left(
\begin{array}{cc}
\cos(\theta/2) & - \sin(\theta/2) \\
\sin(\theta/2) & \cos(\theta/2) \\
\end{array}
\right),\\
\hat{R}_Z(\theta)&=&e^{-i \theta\hat{Z}/2}= \left(
\begin{array}{cc}
e^{-i\theta/2} &0 \\
0 & e^{i\theta/2} \\
\end{array}
\right).
\end{eqnarray*}


\subsection{Base computationnelle}

Supposons que l'on dispose d'un système de $N$ qubits et désignons par $\mathcal{H}_k$ le sous-espace de Hilbert associé au $k^{\mbox{\footnotesize{ème}}}$ qubit, i.e.~engendré par les états $\left\{ \ket{0_k},\ket{1_k}\right\}$. L'espace de Hilbert total est défini par $\mathcal{H}=\mathcal{H}_1\otimes\ldots\otimes\mathcal{H}_N$, et les états de la base computationnelle sont les $2^N$ états $\ket{i_1}\otimes\ldots\otimes\ket{i_N}$ avec $\ket{i_k}\in\left\{\ket{0_k},\ket{1_k}\right\}$. Par exemple pour $N=2$, les états de la base computationnelle sont : $$\ket{0}\otimes\ket{0},\ket{0}\otimes\ket{1},\ket{1}\otimes\ket{0},\ket{1}\otimes\ket{1}.$$




\subsection{Convention d'écriture}

Dans toute la suite de ce manuscrit, nous utiliserons certaines conventions afin de ne pas alourdir les notations. Tout d'abord un état sous la forme $\ket{\psi_1\ldots\psi_N}$ désignera l'état $\ket{\psi_1}\otimes\ldots\otimes\ket{\psi_N}$ défini dans l'espace de Hilbert total. Enfin si nous appelons $\hat{A}_k$ un opérateur n'agissant que dans $\mathcal{H}_k$,  nous adopterons la convention suivante : $$\forall~ k<l :\hat{A_k}\hat{A_l}=\hat{1}_1\otimes\ldots\otimes\hat{1}_{k-1}\otimes\hat{A}_k\otimes\hat{1}_{k+1}
\otimes\ldots\otimes\hat{1}_{l-1}\otimes\hat{A}_l\otimes\hat{1}_{l+1}\otimes\ldots\otimes\hat{1}_N~.$$
