Créer et visualiser des circuits avec le circuit editor

circuit editor est une fonctionnalité du Kit de développement Quantum (QDK) qui fournit une interface graphique dans laquelle vous pouvez créer, modifier et visualiser des diagrammes de circuits quantiques à l’intérieur de vos projets Q#. Vous pouvez utiliser les circuits que vous générez directement dans vos programmes Q# en tant qu’opérations appelables.

Comment accéder à l’application circuit editor

Pour commencer à utiliser , circuit editorprocédez comme suit :

  1. Créez un Q# projet dans VS Code ou ouvrez un projet existant.
  2. Créez un fichier de circuit avec l’extension .qsc.
  3. Ouvrez le fichier de circuit dans VS Code.

Le circuit editor est la la vue par défaut pour les fichiers .qsc.

Fonctionnalités circuit editor

Voici ce que vous pouvez faire avec le circuit editor :

Fonctionnalité Guide pratique pour utiliser
Agrandir le panneau Visualiseur d’état Cliquez sur Visualisation d’état pour développer le panneau Visualiseur d’état pour afficher l’état quantique résultant de l’exécution du circuit. Le panneau affiche la densité et la phase de probabilité pour chaque état de base. Vous pouvez utiliser la boîte à outils pour modifier le circuit et afficher les mises à jour du panneau en direct.
Insérer un élément de circuit Cliquez et faites glisser l’élément de la boîte à outils dans le diagramme du circuit.
Supprimer un élément de circuit Cliquez et faites glisser l’élément hors du diagramme de circuit. Vous pouvez également cliquer avec le bouton droit sur l’élément et choisir Supprimer dans le menu contextuel.
Déplacer un élément de circuit Cliquez et faites glisser l’élément vers un nouvel emplacement dans le diagramme du circuit.
Copier un élément de circuit Maintenez la touche Ctrl enfoncée pendant que vous cliquez et faites glisser l’élément vers un nouvel emplacement dans le diagramme du circuit.
Ajouter un qubit Placez un élément de la boîte à outils sur un nouveau câble dans le diagramme de circuit. Ou, déplacez un élément existant vers un nouveau câble dans le diagramme.
Supprimer un qubit Cliquez et faites glisser l’icône qubit hors du diagramme de circuit. Le qubit le plus bas est automatiquement supprimé lorsque vous supprimez tous les éléments de circuit de ce qubit.
Réorganiser l’ordre du qubit Cliquez et faites glisser les icônes qubit dans le diagramme de circuit.
Ajouter un contrôle à une porte Cliquez avec le bouton droit sur l’icône de porte, choisissez Ajouter un contrôle dans le menu contextuel, puis choisissez le fil qubit de contrôle.
Supprimer un contrôle d’une porte Cliquez avec le bouton droit sur l’icône de porte, choisissez Supprimer le contrôle dans le menu contextuel, puis sélectionnez l’icône du contrôle que vous souhaitez supprimer. Vous pouvez également cliquer avec le bouton droit sur l’icône de contrôle directement et choisir Supprimer le contrôle, ou faire glisser l’icône de contrôle hors du diagramme.
Convertir une porte en son adjoint Cliquez avec le bouton droit sur l’icône en forme porte et choisissez Activer/Désactiver adjoint dans le menu contextuel.
Définir un argument pour une porte Lorsque vous placez une porte qui nécessite un argument, une zone d’invite s’affiche. Saisissez un nombre ou une expression dans la zone d’invite. Pour mettre à jour l’argument, cliquez avec le bouton droit sur la porte et choisissez Modifier l’argument. Vous pouvez également cliquer sur le texte de l’argument sur l’icône en forme de porte.

Comment utiliser des circuits circuit editor dans vos projets Q#

Les fichiers de circuit avec l’extension .qsc définissent les opérations que vous pouvez référencer à partir du Q# code dans le même Q# projet. Les circuits des fichiers .qsc apparaissent comme n’importe quelle autre opération Q# et sont pris en charge par le service de langage Q# avec des fonctionnalités telles que la saisie semi-automatique, l’aide à la signature et l’accès aux définitions.

Le fichier circuit définit un espace de noms qui provient du nom de fichier, similaire au fonctionnement des fichiers Q#. Le circuit de votre .qsc fichier définit une Q# opération portant le même nom que votre fichier sous ce même espace de noms. Par exemple, pour référencer un circuit à partir du fichier Foo.qsc dans votre Q# code, utilisez l’instruction import suivante : import Foo.Foo;.

Le programme suivant Q# importe un circuit à partir du fichier JointMeasurement.qsc, puis appelle l’opération JointMeasurement() pour appliquer le circuit à un système de qubits.

    import JointMeasurement.JointMeasurement;

    operation Main() : Result[] {
        use qs = Qubit[4];
        ApplyToEach(H, qs[0..2]);
        let results = JointMeasurement(qs);
        ResetAll(qs);
        results
}