• Aide
  • Eurêkoi Eurêkoi

Livre

Informatique quantique : de la physique quantique à la programmation quantique en Q#

Résumé

L'auteur précise les rudiments des fondements de la physique quantique afin de pouvoir présenter l'informatique quantique et ses mécanismes théoriques. Le langage Q# est ensuite étudié pour que le lecteur puisse simuler ses premiers programmes quantiques dans l'environnement Quantum de Microsoft. Accès gratuit à la version numérique de l'ouvrage. ©Electre 2019


  • Éditeur(s)
  • Date
    • cop. 2019
  • Notes
    • La couv. porte en plus : "Version numérique offerte ! www.editions-eni.fr"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (244 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-01741-4
  • Indice
  • Quatrième de couverture
    • Informatique quantique

      De la physique quantique à la programmation quantique en Q(...)

      L'engouement pour l'informatique quantique est en pleine effervescence et ce sujet complexe fait de plus en plus l'objet de publications. Ce livre s'adresse à toute personne qui souhaite découvrir les concepts et fondements de l'informatique quantique et plus particulièrement aux étudiants en informatique ou aux développeurs qui souhaitent débuter avec Q(...), le langage de Microsoft adapté à la programmation quantique.

      Pour tirer le meilleur profit de la lecture de ce livre, des connaissances en mathématiques et en particulier sur les nombres complexes et le calcul matriciel sont un plus.

      Dans la première partie du livre, l'auteur présente les rudiments de la physique quantique qui permettront ensuite de saisir les bases constitutives de l'informatique quantique. Le modèle de Bohr et les notions d'état quantique, de superposition quantique ou d'intrication quantique sont ainsi détaillés.

      Dans la deuxième partie du livre, l'auteur étudie ensuite les grands concepts de l'informatique quantique comme le bit quantique, la porte quantique, les circuits et algorithmes quantiques ou encore l'ordinateur quantique.

      La troisième partie consacrée au développement quantique avec Q(...) est plus tournée vers la pratique. Le lecteur apprend ainsi à installer le kit de développement Quantum, qui regroupe les outils quantiques de Microsoft, et étudie le langage Q(...) pour ensuite simuler ses premiers programmes quantiques au sein de cet environnement.

      Pour finir, l'auteur termine avec un glossaire ainsi qu'un récapitulatif historique de la physique et de l'informatique quantiques, qui peuvent être utiles au lecteur tout au long de sa lecture.


  • Tables des matières
      • Informatique quantique

      • De la physique quantique à la programmation quantique en Q#

      • Avant-propos
      • Partie 1 : La physique quantique
      • Chapitre 1
        De la théorie classique à la physique quantique
      • 1. Du classique au quantique15
      • 1.1 Lumière et sauts d'énergie15
      • 1.2 Lumière et matière, même combat16
      • 2. L'atome17
      • 3. La classification périodique des éléments18
      • 4. La lumière19
      • 4.1 Lumière, onde-corpuscule19
      • 4.2 Le photon20
      • Chapitre 2
        Modèle de Bohr et quantification de l'énergie
      • 1. Pourquoi le modèle de Bohr ?21
      • 1.1 Introduction21
      • 1.2 Spectre électromagnétique et raies spectrales22
      • 1.3 Postulat de Bohr23
      • 2. Modèle de Bohr24
      • 2.1 Précisions concernant les orbites24
      • 2.2 Modèle de Bohr et nombres quantiques25
      • 2.2.1 Premier nombre quantique n25
      • 2.2.2 Second nombre quantique l25
      • 2.2.3 Troisième nombre quantique m25
      • 2.2.4 Quatrième nombre quantique s26
      • 2.3 Nombres quantiques et représentation de l'état de l'électron26
      • Chapitre 3
        L'état quantique
      • 1. Vers une définition de l'état quantique29
      • 1.1 Le principe d'incertitude d'Heisenberg29
      • 1.2 La mesure quantique29
      • 1.3 Un monde probabiliste30
      • 1.4 L'approche systémique31
      • 2. L'état quantique et les mathématiques31
      • 2.1 Rapide retour sur les vecteurs31
      • 2.2 Rapide retour sur le calcul matriciel33
      • 2.3 La notation bra-ket35
      • 3. Fonction d'onde37
      • 3.1 La mise en évidence graphique37
      • 3.2 La fonction d'onde continue38
      • Chapitre 4
        La superposition quantique
      • 1. Introduction à la superposition quantique39
      • 1.1 En partant de l'état quantique39
      • 1.2 Outils mathématiques39
      • 1.2.1 Premier exemple avec le spin de l'électron40
      • 1.2.2 Rapide retour sur les nombres complexes40
      • 1.2.3 Calcul relatif à la probabilité41
      • 1.3 Second exemple : le « dé quantique »42
      • 2. Interprétation de la superposition quantique42
      • 2.1 Interprétation du « dé quantique »42
      • 2.2 Le paradoxe du chat de Schrödinger43
      • 2.2.1 Mise en équation43
      • 2.3 Le congrès Solvay de 192744
      • 2.4 Théorie d'Everett45
      • 3. Vérification de la superposition quantique46
      • Chapitre 5
        L'intrication quantique
      • 1. Première approche de l'intrication quantique47
      • 1.1 Propos introductif47
      • 1.2 Mise en évidence48
      • 2. Le paradoxe EPR49
      • 2.1 Explications du paradoxe EPR49
      • 2.2 Interprétations du paradoxe EPR50
      • 3. La théorie de Bell50
      • 3.1 Explication de la théorie de Bell50
      • 3.2 Intérêt des inégalités de Bell dans le champ expérimental51
      • 3.3 « Dieu joue aux dés » (?) ou l'expérience d'Aspect51
      • Partie 2 : L'information quantique
      • Chapitre 6
        Le bit quantique
      • 1. Vers le bit quantique53
      • 1.1 Du bit au bit quantique53
      • 1.2 Sphère de Bloch54
      • 1.3 Résumé du cycle de vie d'un qubit56
      • 2. Définition vectorielle du bit quantique57
      • 2.1 Exemple à un qubit57
      • 2.2 Exemple à deux qubits57
      • Chapitre 7
        La porte quantique
      • 1. Comparaison avec l'informatique quantique59
      • 1.1 Introduction59
      • 1.2 Exemple de la porte logique NOT60
      • 1.3 Exemple de la porte logique XOR61
      • 2. Les portes quantiques à un qubit en entrée62
      • 2.1 Introduction62
      • 2.2 Porte de Hadamard (H)63
      • 2.2.1 Utilisation de la porte de Hadamard64
      • 2.3 Porte de Pauli-X (NOT)65
      • 2.3.1 Utilisation de la porte de Pauli-X66
      • 2.4 Portes de Pauli-Y et de Pauli-Z66
      • 2.4.1 Considérations sur la porte de Pauli-Y67
      • 2.4.2 Considérations sur la porte de Pauli-Z67
      • 2.5 Racine carrée de la porte NOT68
      • 2.6 Porte de changement de phase68
      • 3. Les portes quantiques à deux qubits en entrée69
      • 3.1 Introduction69
      • 3.2 Oirte cNOT (cX)69
      • 3.3 Porte SWAP (S)71
      • 3.3.1 Présentation et description71
      • 3.32 Conception de la porte SWAT à base de la porte cNOT72
      • 4. Les portes quantiques à trois qubits en entrée72
      • 4.1 Porte TOF (CCNOT)72
      • 4.2 Porte Fredkin (CSWAP)74
      • 4.3 La mesure dans les schémas quantiques75
      • Chapitre 8
        Définition des circuits quantiques
      • 1. Introduction77
      • 2. Produit tensoriel78
      • 2.1 Montage en série78
      • 2.2 Produit de Kronecker79
      • 2.3 Montage en parallèle80
      • 3. Les états de Bell81
      • 3.1 Explications81
      • 3.2 Initialisation82
      • 3.3 Application de la porte de Hadamard82
      • 3.4 Application de la porte CNOT82
      • 3.5 Résultat et interprétation83
      • 4. Téléportation quantique84
      • 4.1 Explications84
      • 4.2 Scénario de téléportation84
      • 4.3 Schéma quantique de téléportation85
      • 4.4 Interprétation85
      • 5. Classification des problèmes à résoudre et complexité86
      • 5.1 L'informatique classique face à l'informatique quantique86
      • 5.1.1 Complexité des problèmes à résoudre86
      • 5.1.2 Parallélisation quantique ou la puissance du registre quantique86
      • 6. Typologie des problèmes88
      • 6.1 Contexte88
      • 6.2 La complexité88
      • 6.2.1 Première approche88
      • 6.2.2 Complexité de l'algorithme par dichotomie89
      • 6.2.3 Complexité d'un algorithme appliqué au problème du voyageur de commerce90
      • 6.3 Catégorisation des problèmes93
      • 6.3.1 Les classes P et NP93
      • 6.3.2 Inclusions ?93
      • 6.3.3 Les classes Exptime et Nexptime94
      • 6.3.4 La classe NP-Complet94
      • 7. Vers la suprématie quantique ?95
      • 7.1 Introduction95
      • 7.2 L'algorithme quantique de Shor96
      • Chapitre 9
        Construire un ordinateur quantique
      • 1. Introduction97
      • 2. Architecture de l'ordinateur quantique98
      • 2.1 Premiers éléments98
      • 2.2 Bit quantique logique et bit quantique physique99
      • 3. Le bit quantique physique en pratique99
      • 3.1 Approche générale99
      • 3.2 Pistes de réalisation100
      • 4. Détails de quelques pistes de réalisation101
      • 4.1 La pite de la résonance magnétique nucléaire101
      • 4.1.1 Explication du phénomène101
      • 4.1.2 RMN et ordinateur quantique101
      • 4.2 La piste « Josephson »101
      • 4.2.1 L'effet Josephson101
      • 4.2.2 Bit quantique à supraconducteurs102
      • 5. Un bref état des lieux102
      • 5.1 Typologie des acteurs102
      • 5.2 Un état des lieux, acteur par acteur103
      • 5.2.1 D-Wave Systems103
      • 5.2.2 Rigetti Computing104
      • 5.2.3 Fujitsu105
      • 5.2.4 Atos105
      • 5.2.5 Google105
      • 5.2.6 Intel105
      • 5.2.7 IBM106
      • 5.2.8 Microsoft106
      • Partie 3 : Le développement quantique avec Q#
      • Chapitre 10
        Quantum Development Kit et son installation
      • 1. Présentation générale107
      • 1.1 Annonce de la sortie107
      • 1.2 Composition du kit quantique de Microsoft108
      • 2. Installation du Microsoft Quantum Development Kit109
      • 2.1 Environnements de développements ciblés109
      • 2.2 Installation avec Microsoft Visual Studio109
      • 2.2.1 Installation de Microsoft Visual Studio110
      • 2.2.2 Installation du Microsoft Quantum Development Kit111
      • 2.3 Installation avec Visual Studio Code111
      • 2.3.1 Installation de Visual Studio Code111
      • 2.3.2 Installation du .NET Core SDK112
      • 2.3.3 Installation annexe relative à C# (facultative)112
      • 2.3.4 Installation de Microsoft Quantum Development Kit115
      • 2.3.5 Configuration relative à la ligne de commande115
      • 2.4 Test de la validité de l'installation116
      • 2.4.1 Test avec Microsoft Visual Studio117
      • 2.4.2 Test avec Visual Studio Code118
      • 2.5 Examen du projet de test de téléportation120
      • 2.5.1 Le projet de téléportation120
      • 2.5.2 Le fichier TeleportationSample.qs122
      • Chapitre 11
        Le langage Q# et son utilisation
      • 1. Présentation du langage Q#127
      • 1.1 Introduction127
      • 1.2 Un langage évolutif127
      • 1.3 Un langage multiparadigme128
      • 2. Éléments relatifs aux signes de ponctuation128
      • 2.1 Contexte128
      • 2.2 Nomenclature relative aux signes de ponctuation129
      • 3. Les types en Q#129
      • 3.1 Les types primitifs du langage129
      • 4. Les structures de données131
      • 4.1 Introduction131
      • 4.2 Le tableau131
      • 4.3 Le tuple132
      • 4.3.1 Le cas particulier du tuple singleton132
      • 5. Considérations sur les types et les structures de données en Q#133
      • 5.1 Définir ses propres types en Q#133
      • 5.2 Les types encapsulés en Q#134
      • 5.2.1 Introduction du mot-clé let134
      • 5.2.2 Utiliser les types encapsulés134
      • 5.2.3 Opérateur de désencapsulation135
      • 6. Opérations et fonctions Q#136
      • 6.1 Distinction entre opération et fonction en Q#136
      • 6.2 Utiliser des « callables » dans des « callables »136
      • 6.3 L'opération en Q#137
      • 6.3.1 Première approche137
      • 6.3.2 Un exemple avec tuple non vide en sortie138
      • 6.3.3 Les mots-clés adjoint et controlled139
      • 6.4 La fonction en Q#140
      • 6.5 Conditions, boucles, etc140
      • 6.5.1 Condition if...elif140
      • 6.5.2 Boucle for141
      • 6.5.3 Boucle repeat...until141
      • 7. Les variables en Q#142
      • 7.1 Le mot-clé let et l'immutabilité142
      • 7.2 Les mots-clés mutable et set142
      • 8. Manipuler des bits quantiques en Q#143
      • 8.1 Utiliser un registre de bits quantiques143
      • 8.2 Première approche des portes quantiques en Q#143
      • 8.2.1 Les primitives en Q#143
      • 8.2.2 Une primitive particulière, la mesure145
      • 8.3 Inventaire des primitives en Q#145
      • 8.3.1 Opération Assert145
      • 8.3.2 Opération AssertProb146
      • 8.3.3 Opération CNOT146
      • 8.3.4 Opération CCNOT147
      • 8.3.5 Opération Exp148
      • 8.3.6 Opération ExpFrac148
      • 8.3.7 Opération H149
      • 8.3.8 Opération I149
      • 8.3.9 Opération M149
      • 8.3.10 Opération Measure150
      • 8.3.11 Opération MultiX150
      • 8.3.12 Opération R151
      • 8.3.13 Opération R1152
      • 8.3.14 Opération R1Frac153
      • 8.3.15 Opération RFac153
      • 8.3.16 Opération Rx153
      • 8.3.17 Opération Ry154
      • 8.3.18 Opération Rz154
      • 8.3.19 Opération Random155
      • 8.3.20 Opération Reset155
      • 8.3.21 Opération ResetAll155
      • 8.3.22 Opération S156
      • 8.3.23 Opérations SWAP156
      • 8.3.24 Opération T157
      • 8.3.25 Opération X157
      • 8.3.26 Opération Y158
      • 8.3.27 Opération Z158
      • 9. Tester son code quantique et le déboguer158
      • 9.1 Les tests unitaires en Q#158
      • 9.1.1 Contexte158
      • 9.1.2 Création d'un projet de tests avec Microsoft Visual Studio159
      • 9.1.3 Création d'un projet de tests avec Visual Studio Code159
      • 9.1.4 Écrire des tests unitaires159
      • 9.1.5 Exécuter des tests unitaires160
      • 9.2 Déboguer un code quantique Q#162
      • 9.2.1 Les outils des environnements de développement162
      • 9.2.2 Utiliser les messages162
      • 9.2.3 Utiliser les logs163
      • 9.2.4 Utiliser les assertions163
      • 9.2.5 Les fonctions de dump164
      • 10. Inventaire des espaces de noms quantiques166
      • 10.1 Contexte166
      • 10.2 L'espace de noms Microsoft. Quantum.Core166
      • 10.3 Les espaces Microsoft.Extensions.*167
      • 10.3.1 Microsoft.Extensions.Bitwise167
      • 10.3.2 Microsoft.Extensions.Convert168
      • 10.3.3 Microsoft.Extensions.Diagnostics168
      • 10.3.4 Microsoft.Extensions.Math168
      • 10.3.5 Microsoft.Extensions.Testing169
      • 10.4 L'espace Microsoft.Quantum.Primitive169
      • 10.5 L'espace Microsoft.Quantum.Canon170
      • 11. C# en pilotage du simulateur quantique170
      • Chapitre 12
        Simuler des programmes quantiques en Q#
      • 1. Contexte175
      • 2. Exemple appliqué : les états de Bell175
      • 2.1 Contexte175
      • 2.2 Les états de Bell176
      • 2.3 Création d'un projet quantique177
      • 2.3.1 Création d'un projet quantique avec Microsoft Visual Studio177
      • 2.3.2 Création d'un projet quantique avec Visual Studio Code177
      • 2.4 Programmation du fichier Q#178
      • 2.4.1 Renommage du fichier178
      • 2.4.2 Codage du fichier Q#178
      • 2.5 Programmation du fichier de pilotage C#182
      • 2.5.1 Code automatiquement généré182
      • 2.6 Exécuter le programme quantique184
      • 2.6.1. Exécuter le programme quantique avec Microsoft Visual Studio184
      • 2.6.2. Exécuter le programme quantique avec Visual Studio Code184
      • 2.7 Simuler la superposition quantique185
      • 2.8 Simuler les états de Bell avec l'intrication quantique188
      • 3. Plus loin dans le développement Q#192
      • 3.1 Différentes situations de mesures en Q#192
      • 3.1.1 Contexte192
      • 3.1.2 Le projet quantique de mesure192
      • 3.1.3 Le pilote C#193
      • 3.1.4 Le code quantique Q# de la mesure d'un bit quantique195
      • 3.1.5 Le code quantique Q# de la mesure d'un registre de bits quantiques196
      • 3.1.6 Le code quantique Q# de la mesure dans la base de Bell197
      • 3.2 Algorithme quantique de Deutsch-Jozsa199
      • 3.2.1 Contexte199
      • 3.2.2 L'algorithme quantique200
      • 3.2.3 Le pilote C#200
      • 3.2.4 Le code quantique Q#202
      • 4. Simulateur quantique : en local ou dans le cloud ?204
      • 4.1 Contexte204
      • 4.2 Simulateur distant avec Azure205
      • Chapitre 13
        Histoire de la physique quantique
      • 1. Contexte207
      • 2. Histoire chronologique : le XIXe siècle208
      • 2.1 De 1800 aux années 1860208
      • 2.2 Années 1870208
      • 2.3 Années 1880209
      • 2.4 Années 1890209
      • 3. Histoire chronologique : le XXe siècle210
      • 3.1 Années 1900210
      • 3.2 Années 1910211
      • 3.3 Années 1920211
      • 3.3.1 Année 1922211
      • 3.3.2 Année 1923212
      • 3.3.3 Année 1925212
      • 3.3.4 Année 1926212
      • 3.3.5 Année 1927213
      • 3.3.6 Année 1928213
      • 3.3.7 Année 1929214
      • 3.4 Années 1930214
      • 3.5 Années 1940215
      • 3.6 Années 1950215
      • 3.7 Années 1960215
      • 3.8 Années 1970216
      • 3.9 Années 1980216
      • 3.10 Années 1990217
      • 4. Histoire chronologique : le XXIe siècle218
      • 4.1 Années 2000218
      • 4.2 Années 2010218
      • Chapitre 14
        Glossaire de la physique quantique
      • 1. Contexte219
      • 2. Glossaire alphabétique220
      • Index231

  • Origine de la notice:
    • Electre
  • Disponible - 681 PRI

    Niveau 3 - Informatique