Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Dépannage ouvert QASM
Cette section fournit des conseils de dépannage qui peuvent être utiles en cas d'erreur lors de l'utilisation d'Open QASM 3.0.
Dans cette section :
- Inclure une erreur de déclaration
- Non contigu qubits error
- Mixage physique qubits avec virtuel qubits error
- Demande de types de résultats et mesures qubits dans la même erreur de programme
- Classique et qubit erreur de dépassement des limites du registre
- Boîte non précédée d'une erreur de pragma textuelle
- Erreur concernant les portes natives manquantes dans les boîtes Verbatim
- Boîtes verbatim manquantes qubits error
- Il manque une erreur « braket » dans le pragma textuel
- Unique qubits erreur ne peut pas être indexée
- Le physique qubits en deux qubit la porte n'est pas connectée (erreur)
- Avertissement de support du simulateur local
Inclure une erreur de déclaration
Braket ne dispose actuellement pas de fichier de bibliothèque de portail standard à inclure dans les QASM programmes ouverts. Par exemple, l'exemple suivant génère une erreur d'analyseur.
OPENQASM 3; include "standardlib.inc";
Ce code génère le message d'erreur : No terminal matches '"' in the current parser context, at line 2 col 17.
Non contigu qubits error
Utilisation de la méthode non contiguë qubits sur les appareils dont requiresContiguousQubitIndices
la fonction de true
fonctionnalité est définie sur l'appareil, une erreur s'affiche.
Lors de l'exécution de tâches quantiques sur des simulateurs et IonQ, le programme suivant déclenche l'erreur.
OPENQASM 3; qubit[4] q; h q[0]; cnot q[0], q[2]; cnot q[0], q[3];
Ce code génère le message d'erreur : Device requires contiguous qubits. Qubit register q has unused qubits q[1], q[4].
Mixage physique qubits avec virtuel qubits error
Mixage physique qubits avec virtuel qubits dans le même programme n'est pas autorisé et entraîne une erreur. Le code suivant génère l'erreur.
OPENQASM 3; qubit[2] q; cnot q[0], $1;
Ce code génère le message d'erreur : [line 4] mixes physical qubits and qubits registers.
Demande de types de résultats et mesures qubits dans la même erreur de programme
Demander des types de résultats et cela qubits sont mesurés explicitement dans le même programme, ce qui entraîne une erreur. Le code suivant génère l'erreur.
OPENQASM 3; qubit[2] q; h q[0]; cnot q[0], q[1]; measure q; #pragma braket result expectation x(q[0]) @ z(q[1])
Ce code génère le message d'erreur : Qubits should not be explicitly measured when result types are requested.
Classique et qubit erreur de dépassement des limites du registre
Un seul registre classique et un qubit les inscriptions sont autorisées. Le code suivant génère l'erreur.
OPENQASM 3; qubit[2] q0; qubit[2] q1;
Ce code génère le message d'erreur : [line 4] cannot declare a qubit register. Only 1 qubit register is supported.
Boîte non précédée d'une erreur de pragma textuelle
Toutes les cases doivent être précédées d'un verbatim pragma. Le code suivant génère l'erreur.
box{ rx(0.5) $0; }
Ce code génère le message d'erreur : In verbatim boxes, native gates are required. x is not a device native gate.
Erreur concernant les portes natives manquantes dans les boîtes Verbatim
Les boîtes verbatim doivent avoir des portes natives et physiques qubits. Le code suivant génère l'erreur native gates.
#pragma braket verbatim box{ x $0; }
Ce code génère le message d'erreur : In verbatim boxes, native gates are required. x is not a device native gate.
Boîtes verbatim manquantes qubits error
Les boîtes à verbatim doivent avoir un qubits. Le code suivant génère le physique manquant qubits erreur.
qubit[2] q; #pragma braket verbatim box{ rx(0.1) q[0]; }
Ce code génère le message d'erreur : Physical qubits are required in verbatim box.
Il manque une erreur « braket » dans le pragma textuel
Vous devez inclure le mot « braket » dans le verbatim pragma. Le code suivant génère l'erreur.
#pragma braket verbatim // Correct #pragma verbatim // wrong
Ce code génère le message d'erreur : You must include “braket” in the verbatim pragma
Unique qubits erreur ne peut pas être indexée
Unique qubits ne peut pas être indexé. Le code suivant génère l'erreur.
OPENQASM 3; qubit q; h q[0];
Ce code génère l'erreur suivante : [line 4] single qubit cannot be indexed.
Cependant, célibataire qubit les tableaux peuvent être indexés comme suit :
OPENQASM 3; qubit[1] q; h q[0]; // This is valid
Le physique qubits en deux qubit la porte n'est pas connectée (erreur)
Pour utiliser le physique qubits, vérifiez d'abord que l'appareil utilise un support physique qubits en cochant device.properties.action[DeviceActionType.OPENQASM].supportPhysicalQubits
puis en vérifiant le graphe de connectivité en cochant device.properties.paradigm.connectivity.connectivityGraph
oudevice.properties.paradigm.connectivity.fullyConnected
.
OPENQASM 3; cnot $0, $14;
Ce code génère le message d'erreur : [line 3] has disconnected qubits 0 and 14
Avertissement de support du simulateur local
Il LocalSimulator
prend en charge les fonctionnalités avancées d'Open QASM qui peuvent ne pas être disponibles sur les simulateurs QPUs ou à la demande. Si votre programme contient des fonctionnalités linguistiques spécifiques uniquement àLocalSimulator
, comme le montre l'exemple suivant, vous recevrez un avertissement.
qasm_string = """ qubit[2] q; h q[0]; ctrl @ x q[0], q[1]; """ qasm_program = Program(source=qasm_string)
Ce code génère l'avertissement suivant : « Ce programme utilise les fonctionnalités du QASM langage ouvert uniquement prises en charge dans le LocalSimulator. Certaines de ces fonctionnalités peuvent ne pas être prises en charge sur les simulateurs QPUs ou à la demande.
Pour plus d'informations sur les QASM fonctionnalités Open prises en charge, cliquez ici.