Fungsi StatePreparationPositiveCoefficients
Peringatan
Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh Modern QDK.
Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.
Namespace: Microsoft.Quantum.Preparation
Paket: Microsoft.Quantum.Standard
Peringatan
StatePreparationPositiveCoefficients tidak digunakan lagi. Gunakan operasi PrepareArbitraryStateD sebagai gantinya.
Mengembalikan operasi yang menyiapkan status kuantum yang diberikan.
Operasi yang dikembalikan $U$ menyiapkan status kuantum arbitrer $\ket{\psi}$ dengan koefisien positif $\alpha_j\ge 0$ dari status dasar komputasi $\ket{0...0}$$n$-qubit.
Tindakan U pada register yang baru dialokasikan diberikan oleh $$ \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)
Input
koefisien : Double[]
Array hingga $2^n$ koefisien $\alpha_j$. Koefisien $j$th mengindeks status angka $\ket{j}$ yang dikodekan dalam format little-endian.
Output : LittleEndian =>Unit adalah Adj + Ctl
Operasi uniter persiapan status $U$.
Contoh
Cuplikan berikut menyiapkan status kuantum $\ket{\psi}=\sqrt{1/8}\ket{0}+\sqrt{7/8}\ket{2}$ dalam register qubitsLE
qubit .
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);
}
Keterangan
Koefisien input negatif $\alpha_j < 0$ akan diperlakukan seolah-olah positif dengan nilai $|\alpha_j|$. coefficients
akan diisi dengan elemen $\alpha_j = 0,0$ jika kurang dari $2^n$ ditentukan.