Récupération de la configuration
qiskit_addon_sqd.configuration_recovery
Fonctions permettant d'effectuer une reprise de configuration autoconsistante.
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
Post-sélectionner les chaînes de bits en fonction du poids de Hamming de chaque moitié.
La fonction qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() est obsolète depuis qiskit-addon-sqd 0.12.0. Il sera retiré au plus tôt à l'adresse v0.13.0. Utilisez plutôt la fonction postselect_by_hamming_right_and_left .
Paramètres
- bitstring_matrix (ndarray) – Un tableau 2D de représentations
boolde valeurs de bits, chaque ligne représentant une chaîne de bits unique - hamming_right (int) – Le poids de martelage cible de la moitié droite des chaînes de bits
- hamming_left (int) – Le poids de martelage cible de la moitié gauche des chaînes de bits
Retours
Un masque indiquant quels échantillons (lignes) ont été sélectionnés dans la matrice d'entrée.
Type de retour
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
Affiner les chaînes de bits sur la base de l'occupation orbitale moyenne et d'un poids de martelage cible.
Cette fonction affine chaque bit isolément pour tenter de transformer l'espace de Hilbert représenté par l'entrée bitstring_matrix en un espace plus proche de celui qui supporte l'état fondamental.
Cette fonction part du principe que le bit i représente l'orbitale de spin-down correspondant à l'orbitale de spin-up dans le bit i + N où N est le nombre d'orbitales spatiales et i < N.
Paramètres
- bitstring_matrix (ndarray) – Un tableau 2D de représentations
boolde valeurs de bits, chaque ligne représentant une chaîne de bits unique - probabilities (Sequence[float] | ndarray) – Un tableau 1D spécifiant une distribution de probabilité sur les chaînes de bits
- avg_occupancies (tuple[ndarray, ndarray]) – Un tuple length-2 de tableaux contenant l'occupation moyenne des orbitales de spin-up et de spin-down, respectivement. Les occupations doivent être formatées comme suit :
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – Le nombre d'électrons de spin-up dans le système.
- num_elec_b (int) – Le nombre d'électrons de spin-down dans le système.
- rand_seed (Generator |int | None) – Une graine pour contrôler le hasard
Retours
Une matrice de chaînes de bits affinée et un tableau de probabilités mis à jour.
Type de retour
Références
[1] : J. Robledo-Moreno, et al, La chimie au-delà des solutions exactes sur un superordinateur centré sur les quanta,
arXiv:2405.05068 [quant-ph].