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 qubitsLEqubit .

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.