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.
Contrôle du pouls sur Amazon Braket
Les impulsions sont les signaux analogiques qui contrôlent les qubits d'un ordinateur quantique. Sur certains appareils d'Amazon Braket, vous pouvez accéder à la fonction de contrôle des impulsions pour soumettre des circuits à l'aide d'impulsions. Vous pouvez accéder au contrôle du pouls via le BraketSDK, en utilisant Open QASM 3.0, ou directement via le APIs Braket. Tout d'abord, introduisons quelques concepts clés pour le contrôle du pouls dans Braket.
Dans cette section :
Frames (Images)
Un cadre est une abstraction logicielle qui agit à la fois comme une horloge dans le programme quantique et comme une phase. Le temps d'horloge est incrémenté à chaque utilisation et un signal porteur dynamique est défini par une fréquence. Lors de la transmission de signaux vers le qubit, une trame détermine la fréquence porteuse du qubit, le décalage de phase et l'heure à laquelle l'enveloppe de forme d'onde est émise. Dans Braket Pulse, la construction des cadres dépend de l'appareil, de la fréquence et de la phase. Selon le périphérique, vous pouvez choisir un cadre prédéfini ou instancier de nouveaux cadres en fournissant un port.
from braket.pulse import Frame # predefined frame from a device device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") drive_frame = device.frames["Transmon_5_charge_tx_frame"] # create a custom frame readout_frame = Frame(name="r0_measure", port=port0, frequency=5e9, phase=0)
Ports
Un port est une abstraction logicielle représentant tout composant matériel d'entrée/sortie contrôlant les qubits. Il aide les fournisseurs de matériel à fournir une interface avec laquelle les utilisateurs peuvent interagir pour manipuler et observer les qubits. Les ports sont caractérisés par une chaîne unique qui représente le nom du connecteur. Cette chaîne expose également un incrément de temps minimum qui indique avec quelle précision nous pouvons définir les formes d'onde.
from braket.pulse import Port Port0 = Port("channel_0", dt=1e-9)
Formes d'onde
Une forme d'onde est une enveloppe dépendant du temps que nous pouvons utiliser pour émettre des signaux sur un port de sortie ou pour capturer des signaux via un port d'entrée. Vous pouvez spécifier vos formes d'onde directement via une liste de nombres complexes ou en utilisant un modèle de forme d'onde pour générer une liste auprès du fournisseur du matériel.
from braket.pulse import ArbitraryWaveform, ConstantWaveform cst_wfm = ConstantWaveform(length=1e-7, iq=0.1) arb_wf = ArbitraryWaveform(amplitudes=np.linspace(0, 100))
Braket Pulse fournit une bibliothèque standard de formes d'onde, y compris une forme d'onde constante, une forme d'onde gaussienne et une forme d'onde dérivée supprimée par Adiabatic Gate (). DRAG Vous pouvez récupérer les données de forme d'onde à l'aide de la sample
fonction pour dessiner la forme de la forme d'onde, comme indiqué dans l'exemple suivant.
gaussian_waveform = GaussianWaveform(1e-7, 25e-9, 0.1) x = np.arange(0, gaussian_waveform.length, drive_frame.port.dt) plt.plot(x, gaussian_waveform.sample(drive_frame.port.dt))
L'image précédente représente les formes d'onde gaussiennes créées à partir de. GaussianWaveform
Nous avons choisi une durée d'impulsion de 100 ns, une largeur de 25 ns et une amplitude de 0,1 (unités arbitraires). Les formes d'onde sont centrées dans la fenêtre d'impulsion. GaussianWaveform
accepte un argument booléen zero_at_edges
(ZaE dans la légende). Lorsqu'il est défini surTrue
, cet argument décale la forme d'onde gaussienne de telle sorte que les points à t=0 et t= length
soient à zéro et redimensionne son amplitude de telle sorte que la valeur maximale corresponde à l'argument. amplitude
Maintenant que nous avons abordé les concepts de base de l'accès au niveau des impulsions, nous allons maintenant voir comment construire un circuit à l'aide de portes et d'impulsions.