Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vollqualifizierter Name: Std.StatePreparation.PreparePureStateD
operation PreparePureStateD(coefficients : Double[], qubits : Qubit[]) : Unit is Adj + Ctl
Zusammenfassung
Bei einer Reihe von Koeffizienten und einem Big-End-Quantenregister wird ein Zustand auf diesem Register vorbereitet, das durch die angegebenen Koeffizienten beschrieben wird.
BESCHREIBUNG
Dieser Vorgang bereitet einen beliebigen Quantenzustand |ψ⟩ mit Koeffizienten aj aus dem n-Qubit-Berechnungszustand |0...0⟩ vor.
Die Aktion von U für den Zustand "Alle Nullen" wird durch $$ \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{ausrichten} $$
Eingabe
Koeffizienten
Array von bis zu 2ⁿ Realkoeffizienten. Der j-th-Koeffizienten indiziert den Zahlenzustand |j⟩ im Big-End-Format codiert.
Qubits
Qubit registriert die Codierung von Zahlenzuständen in einem Big-Endian-Format. Dies wird voraussichtlich im Berechnungsbasiszustand |0...0⟩ initialisiert.
Bemerkungen
coefficients werden normalisiert und mit Elementen aufgefüllt aj = 0,0, wenn weniger als 2ⁿ angegeben sind.
Beispiel
Der folgende Codeausschnitt bereitet den Quantenzustand |ψ⟩=√(1/8)|0⟩+√(7/8)|2⟩=√(1/8)|00⟩+√(7/8)|10⟩ im Qubit-Register qubitsvor.
let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
use qubits = Qubit[2];
PreparePureStateD(amplitudes, qubits);
Referenzen
- arXiv:quant-ph/0406176 "Synthese quantenlogischer Schaltkreise", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov
Siehe auch
- Std.StatePreparation.UngefährVorbereitenPureStateCP