Condividi tramite


InputParams Classe

Ereditarietà
builtins.object
InputParams

Costruttore

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

Parametri

Nome Descrizione
count
Valore predefinito: 1
skip_quilc
Valore predefinito: False
substitutions
Valore predefinito: None

Attributi

count

Numero di volte in cui eseguire l'esperimento.

Corrisponderà alla lunghezza di ogni azure.quantum.target.rigetti.Readout

count: int = 1

skip_quilc

Se impostato su True, quilc non verrà eseguito.

Questo deve essere impostato su true se si usa Quil-T.

skip_quilc: bool = False

substitutions

Dizionario dei nomi delle aree di memoria nell'elenco di vettori di valore da scrivere in tale area.

Ad esempio, un processo con questo programma Quil:


   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]

potrebbe essere eseguito con


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

Il processo risultante verrà eseguito per ogni set di parametri nell'elenco. Quindi, nella prima esecuzione, theta[0] verrà impostato su 0.0, theta[1] verrà impostato su np.pi e beta verrà impostato su 2 * np.pi. Ogni esecuzione viene eseguita per count scatti, quindi si prevede un risultato simile a >>''<<{"ro": [[0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0]] } per un totale di 4 vettori di misurazione.

Si noti che la lunghezza dell'elenco interno deve essere uguale alla lunghezza dell'area di memoria, ovvero il 2 in DECLARE theta REAL[2].

La lunghezza dell'elenco (esterno) che comprende vettori di sostituzione per ogni area deve essere uguale. Pertanto, se si passano due set di parametri a theta (elenco di lunghezza due) e si dispone di un'altra area denominata beta, beta deve essere anche un elenco di lunghezza due.

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