Freigeben über


InputParams Klasse

Konstruktor

InputParams(count: int = 1, skip_quilc: bool = False, substitutions: Dict[str, List[List[float]]] | None = None)

Parameter

Name Beschreibung
count
Standardwert: 1
skip_quilc
Standardwert: False
substitutions
Standardwert: None

Attribute

count

Die Häufigkeit, mit der das Experiment ausgeführt werden soll.

Entspricht der Länge der einzelnen azure.quantum.target.rigetti.Readout

count: int = 1

skip_quilc

Wenn dieser Wert auf "True" festgelegt ist, wird quilc- nicht ausgeführt.

Dieser muss true festgelegt werden, wenn Quil-T-verwendet wird.

skip_quilc: bool = False

substitutions

Ein Wörterbuch von Speicherbereichsnamen in die Liste der Wertvektoren, die in diesen Bereich geschrieben werden sollen.

Beispiel: ein Auftrag mit diesem Quil-Programm:


   DECLARE ro BIT[2]
   DECLARE theta REAL[2]
   DECLARE beta REAL[1]
   RX(theta[0]) 0
   RX(theta[1]) 1
   RX(beta) 2
   MEASURE 0 ro[0]
   MEASURE 1 ro[1]
   MEASURE 2 ro[2]

kann mit


   InputParams(
       substitutions={
           "theta": [
               [0.0, np.pi],
               [np.pi, 0.0],
           ],
           "beta": [
               [2 * np.pi],
               [2 * np.pi],
           ]
       },
       count=2,
   )

Der resultierende Auftrag wird für jede Gruppe von Parametern in der Liste ausgeführt. In der ersten Ausführung wird theta[0] also auf 0,0 festgelegt, theta[1] wird auf np.pi festgelegt, und Beta wird auf 2 * np.pi festgelegt. Jede Ausführung wird für count Aufnahmen ausgeführt, daher erwarten Sie ein Ergebnis wie >>''<<{"ro": [[0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0]]} für insgesamt vier Messvektoren.

Beachten Sie, dass die Länge der inneren Liste der Länge des Speicherbereichs entspricht, d. h. die 2 in DECLARE theta REAL[2].

Die Länge der (äußeren) Liste, die Ersetzungsvektoren für jede Region umfasst, muss gleich sein. Wenn Sie also zwei Parametersätze an theta (Liste der Länge 2) übergeben und einen anderen Bereich mit dem Namen betahaben, muss beta auch eine Liste mit länge 2 sein.

substitutions: Dict[str, List[List[float]]] | None = None