Função StatePreparationPositiveCoefficients
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
Aviso
StatePreparationPositiveCoefficients foi preterido. Em alternativa , utilize a operação PrepareArbitraryStateD .
Devolve uma operação que prepara o estado quântico especificado.
A operação devolvida $U$ prepara um estado quântico arbitrário $\ket{\psi}$ com coeficientes positivos $\alpha_j\ge 0$ do estado de base computacional $n $\ket{0...0}$.
A ação de U num registo recentemente alocado é dada por $$ \begin{align} U \ket{0\cdots 0} = \ket{\psi} = \frac{\sum_{j=0}^{2^n-1}\alpha_j \ket{j}}{\sqrt{\sum_{j=0}^{2^n-1}|\alpha_j|^2}}. \end{align} $$
function StatePreparationPositiveCoefficients (coefficients : Double[]) : (Microsoft.Quantum.Arithmetic.LittleEndian => Unit is Adj + Ctl)
Entrada
coeficientes: Duplo[]
Matriz de até $2^n$ coeficientes $\alpha_j$. O coeficiente $j$th indexa o estado de número $\ket{j}$ codificado em formato little-endian.
Saída: LittleEndian =>Unit is Adj + Ctl
Uma operação unitária de preparação de estado $U$.
Exemplo
O fragmento seguinte prepara o estado quântico $\ket{\psi}=\sqrt{1/8}\ket{0}+\sqrt{7/8}\ket{2}$ no registo qubitsLE
de qubits .
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
let op = StatePreparationPositiveCoefficients(amplitudes);
using (qubits = Qubit[2]) {
let qubitsLE = LittleEndian(qubits);
op(qubitsLE);
}
Observações
Os coeficientes de entrada negativos $\alpha_j < 0$ serão tratados como positivos com o valor $|\alpha_j|$. coefficients
será preenchido com os elementos $\alpha_j = 0,0$ se forem especificados menos de $2^n$.