Freigeben über


UngefährPreparePureStateCP-Vorgang

Vollqualifizierter Name: Std.StatePreparation.ApproximatelyPreparePureStateCP

operation ApproximatelyPreparePureStateCP(tolerance : Double, coefficients : ComplexPolar[], qubits : Qubit[]) : Unit is Adj + Ctl

Zusammenfassung

Bei einer Reihe von Koeffizienten und einem Big-Endian-Quantenregister wird ein Zustand auf diesem Register vorbereitet, das durch die angegebenen Koeffizienten beschrieben wird, bis zu einer gegebenen Näherungstoleranz.

BESCHREIBUNG

Dieser Vorgang bereitet einen beliebigen Quantenzustand |ψ⟩ mit komplexen Koeffizienten rj·e^(i·tj) aus dem n-qubit-Berechnungszustand |0...0⟩ vor. Insbesondere kann die Aktion dieses Vorgangs durch eine einheitliche Transformation U simuliert werden, die auf den Zustand "Alle Nullen" wirkt als

$$ \begin{align} U\ket{0...0} & = \ket{\psi} \\ & = \frac{ \sum_{j=0}^{2^n-1} r_j e^{i t_j} \ket{j} }{ \sqrt{\sum_{j=0}^{2^n-1} |r_j|^2} }. \end{ausrichten} $$

Eingabe

Toleranz

Die Näherungstoleranz, die beim Vorbereiten des angegebenen Zustands verwendet werden soll.

Koeffizienten

Array von bis zu 2ⁿ komplexen Koeffizienten, dargestellt durch ihren absoluten Wert und ihre Phase (rj, tj). Der j-th-Koeffizienten indiziert den Zahlenzustand |j⟩ in einem 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 mit Elementen (rj, tj) = (0,0, 0,0) aufgefüllt, wenn weniger als 2ⁿ angegeben werden.

Referenzen

  • arXiv:quant-ph/0406176 "Synthese quantenlogischer Schaltkreise", Vivek V. Shende, Stephen S. Bullock, Igor L. Markov