Recuperação da configuração
qiskit_addon_sqd.configuration_recovery
Funções para executar a recuperação de configuração autoconsistente.
post_select_by_hamming_weight
post_select_by_hamming_weight(bitstring_matrix, *, hamming_right, hamming_left)
Pós-seleção de cadeias de bits com base no peso hamming de cada metade.
A função qiskit_addon_sqd.configuration_recovery.post_select_by_hamming_weight() está obsoleta desde o qiskit-addon-sqd 0.12.0. Ele não será removido antes de v0.13.0. Em vez disso, use a função postselect_by_hamming_right_and_left .
Parâmetros
- bitstring_matrix (ndarray) – Uma matriz 2D de
boolrepresentações de valores de bits, de modo que cada linha representa uma única cadeia de bits - hamming_right (int) – O peso de martelamento alvo da metade direita das cadeias de bits
- hamming_left (int) – O peso de martelamento alvo da metade esquerda das cadeias de bits
Retorna
Uma máscara que indica quais amostras (linhas) foram selecionadas da matriz de entrada.
Tipo de retorno
recover_configurations
recover_configurations(bitstring_matrix, probabilities, avg_occupancies, num_elec_a, num_elec_b, rand_seed=None)
Refine as cadeias de bits com base na ocupação orbital média e em um peso hamming desejado.
Essa função refina cada bit isoladamente em uma tentativa de transformar o espaço de Hilbert representado pela entrada bitstring_matrix em um espaço mais próximo daquele que suporta o estado fundamental.
Essa função pressupõe que o bit i representa o orbital de spin-down correspondente ao orbital de spin-up no bit i + N , em que N é o número de orbitais espaciais e i < N.
Parâmetros
- bitstring_matrix (ndarray) – Uma matriz 2D de
boolrepresentações de valores de bits, de modo que cada linha representa uma única cadeia de bits - probabilities (Sequence[float] | ndarray) – Uma matriz 1D que especifica uma distribuição de probabilidade sobre as cadeias de bits
- avg_occupancies (tuple[ndarray, ndarray]) – Uma length-2 tupla de matrizes que mantém a ocupação média dos orbitais de spin-up e spin-down, respectivamente. As ocupações devem ser formatadas como:
(array([occ_a_0, ..., occ_a_N]), array([occ_b_0, ..., occ_b_N])) - num_elec_a (int) – O número de elétrons spin-up no sistema.
- num_elec_b (int) – O número de elétrons de spin descendente no sistema.
- rand_seed (Generator |int | None) – Uma semente para controlar a aleatoriedade
Retorna
Uma matriz de bitstring refinada e uma matriz de probabilidade atualizada.
Tipo de retorno
Referências
[1] : J. Robledo-Moreno, et al, Chemistry Beyond Exact Solutions em um supercomputador centrado em quantum,
arXiv:2405.05068 [quant-ph].