Skip to main content
IBM Quantum Platform

Note di rilascio di Qiskit 0.41


0.41.1

Terra 0.23.2

Preludio

Il rilascio della patch di Qiskit Terra 0.23.2 risolve ulteriori bug identificati nella serie 0.23.

Correzioni di bug

  • Aggiungere le seguenti porte di Clifford, già presenti nella libreria dei circuiti, alla classe Clifford classe: SXGate, SXdgGate, CYGate, DCXGate, iSwapGate e ECRGate.

  • Aggiungere una decomposizione di un ECRGate in porte di Clifford (fino a una fase globale) alla libreria delle equivalenze standard.

  • Corretto un problema con la classe BackendV2Converter durante il wrapping di un simulatore basato su BackendV1-basato sul simulatore. Si verificherebbe un errore se il campo online_date nel file BackendConfiguration del simulatore non fosse presente o se il backend del simulatore supportasse implementazioni ideali di porte che coinvolgono più di un qubit. Corretto #9562.

  • Corretto un valore di ritorno errato del metodo BackendV2Converter.meas_map() che restituiva invece il backend dt .

  • Corretti i valori di ritorno mancanti dei metodi BackendV2Converter.drive_channel(), measure_channel(), acquire_channel() e control_channel().

  • I metodi deprecati Qubit e Clbit e register e index saranno ora correttamente eseguite da QPY (qiskit.qpy) in tutti gli usi validi di QuantumRegister e ClassicalRegister. Nelle versioni precedenti della serie Terra 0.23, queste informazioni andavano perse. Nelle versioni precedenti a 0.23.0, queste informazioni venivano parzialmente ricostruite, ma potevano essere errate o produrre circuiti non validi per alcune configurazioni di registro.

    Il modo corretto per recuperare l'indice di un bit all'interno di un circuito, e tutti i registri di quel circuito in cui il bit è contenuto, è quello di chiamare QuantumCircuit.find_bit(). Questo metodo restituisce le informazioni corrette in tutte le versioni di Terra dalla sua aggiunta nella versione 0.19.

  • Corretto un problema con il metodo InstructionScheduleMap.has_custom_gate() che restituiva sempre True quando l'oggetto InstructionScheduleMap è stato creato da Target. Corretto #9595.

  • Corretto un bug negli eigensolver di NumPy-based (NumPyMinimumEigensolver / NumPyEigensolver) e negli evolutori temporali di SciPy-based (SciPyRealEvolver / SciPyImaginaryEvolver), dove gli operatori che supportano la conversione in matrici rade, come ad esempio SparsePauliOpvenivano comunque convertiti in matrici dense.

  • Corretto un bug in generate_basic_approximations() in cui l'inverso dell'elemento SdgGate non veniva riconosciuto correttamente come SGate. Corretto #9585.

  • È stato risolto un bug nell'algoritmo VQD in cui la funzione di valutazione dell'energia non poteva elaborare lotti di parametri, rendendola incompatibile con gli ottimizzatori con max_evals_grouped>1. Corretto #9500.

  • Corretto il bug in QNSPSA che generava un errore di tipo quando le fedeltà calcolate erano di tipo int ma la perturbazione era di tipo float.

Aer 0.11.2

Nessuna modifica

IBM Q Fornitore 0.20.1

Poiché qiskit-ibmq-provider è ormai deprecato, le dipendenze sono state aggiornate e corrette alle ultime versioni funzionanti. Si è verificato un problema con l'ultima versione del pacchetto requests-ntlm che ha causato il fallimento di alcuni test end-to-end.


0.41.0

Terra 0.23.1

Preludio

Qiskit Terra 0.23.1 è una piccola release di patch per correggere i bug identificati in Qiskit Terra 0.23.0

Correzioni di bug

  • Un caso limite di pickle InstructionScheduleMap con gli iterabili non-picchiabili arguments è stato risolto. In precedenza, l'uso di un iterabile non modificabile come parametro di arguments a InstructionScheduleMap.add() (come dict_keys) poteva far fallire le chiamate parallele a transpile() fallissero. Questi argomenti saranno ora correttamente normalizzati internamente a list.

  • È stato risolto un problema di prestazioni in ReverseEstimatorGradient in cui il calcolo eseguiva una grande quantità di copie non necessarie se il gradiente veniva calcolato solo per un sottoinsieme di parametri o in un circuito con molte porte non parametrizzate.

  • Corretta una deprecazione errata di Register.name_format che rendeva l'attributo class disponibile solo per le istanze e non per la classe. Quando si cercava di inviare lavori di circuiti dinamici ai backend hardware, si verificava spesso questo errore:

    AttributeError: 'property' object has no attribute 'match'

    Corretto #9493.

Aer 0.11.2

Nessuna modifica

IBM Q Fornitore 0.20.0

Preludio

Questo rilascio del pacchetto qiskit-ibmq-provider lo segna come deprecato e sarà ritirato e archiviato in futuro. La funzionalità di qiskit-ibmq-provider è stata sostituita da 3 pacchetti qiskit-ibm-provider, qiskit-ibm-runtime e qiskit-ibm-experiment che offrono diversi sottoinsiemi di funzionalità contenute in qiskit-ibmq-provider . È possibile consultare la tabella qui:

https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides

per i link alle guide alla migrazione da qiskit-ibmq-provider ai pacchetti sostitutivi.

Note di deprecazione

  • A partire dalla versione 0.20.0, qiskit-ibmq-provider è stato deprecato e il suo supporto è terminato e l'eventuale archiviazione non avverrà prima di 3 mesi da tale data. La funzione fornita da qiskit-ibmq-provider non sta scomparendo, ma è stata suddivisa in repository separati. Si prega di vedere https://github.com/Qiskit/qiskit-ibmq-provider#migration-guides.

Correzioni di bug

  • Nel prossimo rilascio di terra ci sarà una release candidate taggata prima del rilascio finale. Tuttavia, la modifica della stringa di versione del pacchetto è bloccata da qiskit-ibmq-provider in questo momento, perché cerca di analizzare la versione e presuppone che non ci sia il suffisso prelease nella stringa di versione (vedere #8200 per i dettagli). Il PR #1135 corregge il parsing della versione in modo da usare la regex del progetto pypa/packaging, che gestisce tutte le versioni dei pacchetti PEP440 includendo i suffissi pre-release. Questo permetterà a terra di rilasciare un tag 0.21.0rc1 senza rompere il qiskit-ibmq-provider.

  • PR #1129 aggiorna il metodo least_busy() per non supportare più BaseBackend come tipo di ingresso o di uscita valido, poiché è stato deprecato da tempo in qiskit-terra e recentemente rimosso.

  • threading.currentThread e notifyAll sono stati deprecati in Python 3.10 (ottobre 2021) e saranno rimossi in Python 3.12 (ottobre 2023). Il PR #1133 li sostituisce con threading.current_thread, notify_all aggiunto a Python 2.6 (ottobre 2008).

  • Le chiamate per eseguire un circuito quantistico con dynamic=True sollevano ora un errore che chiede all'utente di installare il nuovo qiskit-ibm-provider.

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