Share via


Função PurifiedMixedStateWithData

Aviso

Esta documentação refere-se ao QDK Clássico, que foi substituído pelo QDK Moderno.

https://aka.ms/qdk.api Veja a documentação da API para o QDK Moderno.

Espaço de nomes: Microsoft.Quantum.Preparation

Pacote: Microsoft.Quantum.Standard

Devolve uma operação que prepara uma purificação de um determinado estado misto, entrelaçado com um registo que representa uma determinada coleção de dados. Um "estado misto purificado com dados" refere-se a um estado do formulário Σi √pi |i⟩ |xi⟩ |garbagei⟩, em que cada xi é uma codificação de bits com dados adicionais associados ao registo |i⟩.

Veja https://arxiv.org/pdf/1805.03662.pdf?page=15 para mais discussões.

function PurifiedMixedStateWithData (targetError : Double, coefficients : (Double, Bool[])[]) : Microsoft.Quantum.Preparation.MixedStatePreparation

Description

Utiliza a técnica rom quântica para representar uma determinada matriz de densidade, devolvendo essa representação como uma operação de preparação de estado.

Em particular, tendo em conta uma lista de coeficientes $N$ $\alpha_j$e um bitstring $\vec{x}_j$ associados a cada coeficiente, esta função devolve uma operação que utiliza a técnica rom quântica para preparar uma aproximação

$$ \begin{align} \tilde\rho = \sum_{j = 0}^{N - 1} p_j \ket{j}\bra{j} \otimes \ket{\vec{x}_j}\bra{\vec{x}_j} \end{align} $$

do estado misto

$$ \begin{align} \rho = \sum_{j = 0}^{N-1} \frac{|\alpha_j|} {\sum_k |\alpha_k|} \ket{j}\bra{j} \otimes \ket{\vec{x}_j}\bra{\vec{x}_j}, \end{align} $$

em que cada $p_j$ é uma aproximação ao coeficiente especificado $\alpha_j$ de tal forma que

$$ \begin{align} \left| p_j - \frac{ |\alpha_j| } { \sum_k |\alpha_k| } \right| \le \frac{\epsilon}{N} \end{align} $$

para cada $j$.

Quando é transmitido um registo de índice e um registo de qubits de lixo, inicialmente no estado $\ket{0} \ket{00\cdots 0}$, a operação devolvida prepara ambos os registos para a purificação de $\tilde \rho$, $$ \begin{align} \sum_{j=0}^{N-1} \sqrt{p_j} \ket{j} \ket{\vec{x}_j} \ket{\text{garbage}_j}, \end{align} $$ de tal forma que repor e desalocar o registo de lixo decreta a preparação pretendida para dentro do erro de destino $\epsilon$.

Entrada

targetError: Duplo

O erro de destino $\epsilon$.

coeficientes: (Duplo,Bool[])[]

Matriz de coeficientes $N$ que especificam a probabilidade de estados de base, juntamente com o bitstring $\vec{x}_j$ associado a cada coeficiente. Os números negativos $-\alpha_j$ serão tratados como $|\alpha_j|$.

Saída: MixedStatePreparation

Uma operação que prepara $\tilde \rho$ como uma purificação para um índice conjunto e registo de lixo.

Observações

Os coeficientes fornecidos a esta operação são normalizados ao seguir a norma 1, de modo a que os coeficientes sejam sempre considerados para descrever uma distribuição de probabilidade categórica válida.

Referências

  • Encoding Electronic Spectra in Quantum Circuits with Linear T Complexity Ryan Babbush, Craig Gidney, Dominic W. Berry, Nathan Wiebe, Jarrod McClean, Alexandru Paler, Austin Fowler, Hartmut Neven https://arxiv.org/abs/1805.03662

Consulte também