Skip to main content
IBM Quantum Platform

Programmi di utilità

qiskit_addon_slc.utils

Varie funzioni.

Questo modulo mette a disposizione una serie di funzioni di utilità. Alcune di queste soluzioni hanno carattere temporaneo e servono a ovviare a problemi ancora irrisolti dell’ Qiskit SDK. In tal caso, vengono contrassegnati come tali e possono essere rimossi senza preavviso né ulteriore comunicazione.

find_indices

find_indices(circuit, bits_or_instruction, /)

GitHub

Trova gli indici dei qubit corrispondenti agli indici dei bit o alle istruzioni del circuito forniti.

Attenzione

Questa funzione non è considerata parte dell'API stabile! Verrà rimossa senza preavviso né avvisi di obsolescenza quando la stessa funzionalità sarà supportata in modo nativo dall' Qiskit SDK. Per ulteriori dettagli, consulta questo numero.

Parametri

Risultati

Gli indici dei bit oggetto della query nei registri del circuito. Se è stato fornito un oggetto a bit singolo, int viene restituito un singolo valore corrispondente al suo indice. In caso contrario, il tipo di ritorno sarà un la cui list[int] lunghezza è pari al numero di bit forniti.

Aumenti

TypeError – quando bits_or_instruction viene fornito un tipo inaspettato di.

Tipo di restituzione

int | lista [ int ]

generate_noise_model_paulis

generate_noise_model_paulis(instructions, coupling_map=None, circuit=None)

GitHub

Generare i termini di Pauli di peso 1 e 2 per ciascuno dei riquadri di livello 2q forniti.

Parametri

  • instructions (list[CircuitInstruction]) – l'output di find_unique_box_instructions(). Si presume che ciascuna delle istruzioni fornite sia costituita esclusivamente da porte di misurazione oppure corrisponda a un livello di istruzioni relative a porte a 2 qubit. Nel primo caso, il modello di rumore generato conterrà solo errori X su singoli qubit; nel secondo caso, saranno inclusi tutti gli errori di Pauli di peso 1 e 2 sulla mappa di accoppiamento ridotta.
  • coupling_map (CouplingMap | None) – la mappa di accoppiamento del backend su cui sono state disposte le istruzioni. In questo caso None, si ipotizza una linea di qubit di tipo “ 1d ”.
  • circuit (QuantumCircuit | None) – il circuito transpilato che è stato disposto sulla mappa di accoppiamento fornita. Ciò può verificarsi solo None quando anche è coupling_map None.

Risultati

Un dizionario che mette in corrispondenza gli attributi ref dell'annotazione InjectNoise di ciascun Box univoco con i termini di Pauli a peso 1 e 2, i cui errori sono stati appresi per quel Box.

Tipo di restituzione

dict [ str, QubitSparsePauliList ]

get_extremal_eigenvalue

get_extremal_eigenvalue(spo, **kwargs)

GitHub

Calcola l'autovalore estremo dell'operatore specificato.

Questa operazione converte l'operatore fornito in una matrice sparsa di cui si richiede l'autovalore minimo.

Nota

L'attuale implementazione non è certamente ottimizzata in termini di prestazioni.

Parametri

  • spo (SparsePauliOp) – l'operatore di cui si deve trovare l'autovalore minimo.

  • kwargs

    argomenti chiave aggiuntivi per davidson1(). Se non diversamente specificato, verranno utilizzati i seguenti valori predefiniti:

    • tol: 1e-6
    • max_cycle: 500
    • max_space: 12
    • lindep: 1e-11
    • max_memory: 2000

    Gli altri valori assumeranno i valori predefiniti di PySCF’s.

Risultati

Una coppia che indica se l'algoritmo di Davidson è convergente e il valore proprio minimo ottenuto.

Tipo di restituzione

tupla [ bool, float ]

iter_circuit

iter_circuit(circuit, *, reverse=False, log_process=True)

GitHub

Esegue un ciclo sulle istruzioni presenti in un circuito.

Nota

Questa funzione procede in modo ricorsivo nelle istruzioni BoxOp .

Nota

Gli ostacoli presenti nel circuito vengono ignorati.

Parametri

  • circuit (QuantumCircuit) – il circuito su cui eseguire l'iterazione.
  • reverse (bool) – se eseguire il circuito in ordine inverso.
  • log_process (bool) – se registrare il processo.

Attese

Tuple di lunghezza quattro, costituite dall'istruzione del circuito rilevata, dagli indici canonici dei qubit (ovvero gli indici interi dei qubit su cui agisce l'istruzione nel contesto dell'input circuit) e dagli attributi InjectNoise : e modifier_ref ref. Questi ultimi due elementi potrebbero None indicare un'istruzione di circuito che non faceva parte di un'istruzione srotolata BoxOp.

Tipo di restituzione

Generatore [ tuple [ CircuitInstruction, lista [ int ], str | None, str | None]]

map_modifier_ref_to_ref

map_modifier_ref_to_ref(circuit)

GitHub

Eseguire un'iterazione su un circuito e mappare i riferimenti alle annotazioni InjectNoise .

Parametri

circuit (QuantumCircuit) – il circuito su cui eseguire l'iterazione.

Risultati

Un dizionario che associa ogni elemento InjectNoise.modifier_ref al suo corrispondente InjectNoise.ref.

Tipo di restituzione

dict [ str, str ]

remove_measure

remove_measure(circuit)

GitHub

Eliminare tutte le operazioni Measure dal circuito fornito.

Nota

Questa funzione procede in modo ricorsivo nelle istruzioni BoxOp .

Parametri

circuit (QuantumCircuit) – il circuito dal quale rimuovere le misure.

Risultati

Il circuito senza operazioni di misura.

Tipo di restituzione

QuantumCircuit

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.