Recuperación de la configuración
qiskit_addon_sqd.configuration_recovery
Funciones para realizar la recuperación de configuraciones autoconsistentes.
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
Post-selección de cadenas de bits basada en el peso hamming de cada mitad.
La función qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() está obsoleta a partir de qiskit-addon-sqd 0.12.0. Se retirará no antes de v0.13.0. En su lugar, utilice la función postselect_by_hamming_right_and_left .
Parámetros
- bitstring_matrix (ndarray) – Una matriz 2D de representaciones
boolde valores de bits de forma que cada fila representa una única cadena de bits - hamming_right (int) – El peso de Hamming objetivo de la mitad derecha de las cadenas de bits
- hamming_left (int) – El peso de Hamming objetivo de la mitad izquierda de las cadenas de bits
Devuelve
Una máscara que indica qué muestras (filas) se han seleccionado de la matriz de entrada.
Tipo de retorno
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
Afinar las cadenas de bits en función de la ocupación orbital media y de un peso hamming objetivo.
Esta función refina cada bit de forma aislada en un intento de transformar el espacio de Hilbert representado por la entrada bitstring_matrix en un espacio más cercano al que soporta el estado básico.
Esta función asume que el bit i representa el orbital de spin-down correspondiente al orbital de spin-up en el bit i + N donde N es el número de orbitales espaciales y i < N.
Parámetros
- bitstring_matrix (ndarray) – Una matriz 2D de representaciones
boolde valores de bits de forma que cada fila representa una única cadena de bits - probabilities (Sequence[float] | ndarray) – : una matriz 1D que especifica una distribución de probabilidad sobre las cadenas de bits
- avg_occupancies (tuple[ndarray, ndarray]) – Una tupla de matrices de length-2 que contiene la ocupación media de los orbitales de spin-up y spin-down, respectivamente. Las ocupaciones deben presentarse con el siguiente formato:
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – El número de electrones en estado de aceleración en el sistema.
- num_elec_b (int) – El número de electrones en estado de espín reducido en el sistema.
- rand_seed (Generator |int | None) – Una semilla para controlar la aleatoriedad
Devuelve
Una matriz de cadenas de bits refinada y una matriz de probabilidades actualizada.
Tipo de retorno
Referencias
[1] : J. Robledo-Moreno, et al., Química más allá de las soluciones exactas en un superordenador cuántico,
arXiv:2405.05068 [quant-ph].