Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Nom complet : Std.StatePreparation.PreparePureStateD
operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl
Résumé
Compte tenu d’un ensemble de coefficients et d’un registre quantique big-endian, prépare un état sur ce registre décrit par les coefficients donnés.
Descriptif
Cette opération prépare un état quantique arbitraire |ψ⟩ avec des coefficients aj de l’état de base de calcul n-qubit |0...0⟩.
L’action de U sur l’état all-zeros est donnée par $$ \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} $$
Entrée
Coefficients
Tableau allant jusqu’à 2ⁿ coefficients réels. Le coefficient j-th indexe l’état du nombre |j⟩ encodé au format big-endian.
qubits
Le registre Qubit encode les états numériques au format big-endian. Cela devrait être initialisé dans l’état de base de calcul |0...0⟩.
Remarques
coefficients sera normalisé et rembourré avec des éléments aj = 0,0 si moins de 2ⁿ sont spécifiés.
Exemple :
L’extrait de code suivant prépare l’état quantique |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ dans le registre qubit qubits.
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);
Références
- arXiv :quant-ph/0406176 « Synthesis of Quantum Logic Circuits », Vivek V. Shende, Stephen S. Bullock, Igor L. Markov
Voir aussi
- Std.StatePreparation.ApproximatelyPreparePureStateCP