Come ottimizzare il mio algoritmo HHL su qiskit?

Sep 19 2020

Sto seguendo questo tutorial HHL per risolvere il file$Ax=b$problema e hanno utilizzato l'approccio generale (inefficiente) con il simulatore BasicAer descritto nella sezione 4a. Ora vorrei eseguire sulle macchine IBMQ effettive, ma sto scoprendo che la profondità del mio circuito e il numero di CNOT sono piuttosto alti. Per risolvere questo problema, vorrei ottimizzare il mio circuito. Nella sezione 4b del tutorial descrivono un metodo per ottimizzare il loro problema specifico che riduce sostanzialmente il conteggio dei qubit, la profondità del circuito e il conteggio CNOT. Il problema che sto avendo è capire come estenderlo a matrici più grandi$A$ rispetto al $2$X$2$che usano. Esiste un approccio generale all'ottimizzazione di un circuito HHL?

Risposte

2 user96233 Sep 21 2020 at 19:34

Non esiste alcun metodo specifico per ottimizzare HHL diverso dall'utilizzo del PassManager di Qiskit, ma si tratta di un'ottimizzazione del circuito più generale. Con i dispositivi più recenti potrebbe essere possibile eseguire circuiti più grandi a causa dell'errore ridotto, altrimenti sarà necessario trovare manualmente le riduzioni del circuito.

Nell'ultima pagina di https://arxiv.org/abs/2009.04484 puoi trovare i circuiti per l'esempio citato nel libro di testo e per il caso di a $4\times 4$ matrice, forse questo aiuta a far funzionare il tuo circuito.