Konfigurationswiederherstellung
qiskit_addon_sqd.configuration_recovery
Funktionen zur Wiederherstellung einer selbstkonsistenten Konfiguration.
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
Nachselektion von Bitstrings auf der Grundlage des Hamming-Gewichts der einzelnen Hälften.
Die Funktion qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() ist ab qiskit-addon-sqd 0.12.0 veraltet. Sie wird frühestens auf v0.13.0 entfernt. Verwenden Sie stattdessen die Funktion postselect_by_hamming_right_and_left .
Parameter
- bitstring_matrix (ndarray) – Ein 2D Array mit
boolDarstellungen von Bit-Werten, wobei jede Zeile eine einzelne Bit-Zeichenkette darstellt - hamming_right (int) – Das Ziel-Hamming-Gewicht der rechten Hälfte der Bitstrings
- hamming_left (int) – Das Ziel-Hamming-Gewicht der linken Hälfte der Bitstrings
Rückgabe
Eine Maske, die angibt, welche Proben (Zeilen) aus der Eingabematrix ausgewählt wurden.
Rückgabetyp
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
Verfeinern Sie Bitstrings auf der Grundlage der durchschnittlichen Orbitalbelegung und eines Ziel-Hamming-Gewichts.
Diese Funktion verfeinert jedes einzelne Bit in dem Versuch, den Hilbert-Raum, der durch die Eingabe bitstring_matrix dargestellt wird, in einen Raum umzuwandeln, der dem Grundzustand näher kommt.
Diese Funktion geht davon aus, dass das Bit i das Spin-Down-Orbital darstellt, das dem Spin-Up-Orbital in Bit i + N entspricht, wobei N die Anzahl der räumlichen Orbitale und i < N ist.
Parameter
- bitstring_matrix (ndarray) – Ein 2D Array mit
boolDarstellungen von Bit-Werten, wobei jede Zeile eine einzelne Bit-Zeichenkette darstellt - probabilities (Sequence[float] | ndarray) – Ein 1D Array, das eine Wahrscheinlichkeitsverteilung über die Bitstrings angibt
- avg_occupancies (tuple[ndarray, ndarray]) – Ein length-2 Tupel von Arrays, die die mittlere Besetzung der Spin-up- bzw. Spin-down-Orbitale enthalten. Die Belegungen sollten wie folgt formatiert werden:
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – Die Anzahl der Spin-up-Elektronen im System.
- num_elec_b (int) – Die Anzahl der Spin-Down-Elektronen im System.
- rand_seed (Generator |int | None) – Ein Saatgut zur Kontrolle der Zufälligkeit
Rückgabe
Eine verfeinerte Bitstring-Matrix und ein aktualisiertes Wahrscheinlichkeitsfeld.
Rückgabetyp
Referenzen
[1] : J. Robledo-Moreno, et al, Chemie jenseits exakter Lösungen auf einem quantenzentrierten Supercomputer,
arXiv:2405.05068 [quant-ph].