Ripristino della configurazione
qiskit_addon_sqd.configuration_recovery
Funzioni per eseguire il ripristino della configurazione autoconsistente.
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
Post-selezione delle stringhe di bit in base al peso di Hamming di ciascuna metà.
La funzione qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() è deprecata a partire da qiskit-addon-sqd 0.12.0. Sarà rimosso non prima di v0.13.0. Utilizzare invece la funzione postselect_by_hamming_right_and_left .
Parametri
- bitstring_matrix (ndarray) – Un array 2D di rappresentazioni
booldi valori di bit, in modo che ogni riga rappresenti una singola stringa di bit - hamming_right (int) – Il peso di hamming target della metà destra delle stringhe di bit
- hamming_left (int) – Il peso di hamming target della metà sinistra delle stringhe di bit
Risultati
Una maschera che indica quali campioni (righe) sono stati selezionati dalla matrice di input.
Tipo di restituzione
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
Affinare le stringhe di bit in base all'occupazione orbitale media e a un peso di Hamming target.
Questa funzione affina ogni bit isolatamente nel tentativo di trasformare lo spazio di Hilbert rappresentato dall'ingresso bitstring_matrix in uno spazio più vicino a quello che supporta lo stato fondamentale.
Questa funzione assume che il bit i rappresenti l'orbitale di spin-down corrispondente all'orbitale di spin-up nel bit i + N dove N è il numero di orbitali spaziali e i < N.
Parametri
- bitstring_matrix (ndarray) – Un array 2D di rappresentazioni
booldi valori di bit, in modo che ogni riga rappresenti una singola stringa di bit - probabilities (Sequence[float] | ndarray) – Un array 1D che specifica una distribuzione di probabilità sulle stringhe di bit
- avg_occupancies (tuple[ndarray, ndarray]) – Una tupla length-2 di matrici che contengono l'occupazione media degli orbitali spin-up e spin-down, rispettivamente. Le occupazioni devono essere formattate come:
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – Il numero di elettroni di spin-up nel sistema.
- num_elec_b (int) – Il numero di elettroni spin-down nel sistema.
- rand_seed (Generator |int | None) – Un seme per controllare la casualità
Risultati
Una matrice di bitstring raffinata e una matrice di probabilità aggiornata.
Tipo di restituzione
Riferimenti
[1] : J. Robledo-Moreno, et al, Chimica oltre le soluzioni esatte su un supercomputer quantistico,
arXiv:2405.05068 [quant-ph].