Operasi PrepareArbitraryStateD

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

Mengingat satu set koefisien dan register kuantum yang dikodekan little-endian, menyiapkan status pada register yang dijelaskan oleh koefisien yang diberikan.

operation PrepareArbitraryStateD (coefficients : Double[], qubits : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl

Deskripsi

Operasi ini menyiapkan status kuantum arbitrer $\ket{\psi}$ dengan koefisien positif $\alpha_j\ge 0$ dari status dasar komputasi $$-qubit $n $\ket{0...0}$.

Tindakan U pada status all-zeros 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} $$

Input

koefisien : Double[]

Array hingga $2^n$ koefisien nyata. Koefisien $j$th mengindeks status angka $\ket{j}$ yang dikodekan dalam format little-endian.

qubits : LittleEndian

Qubit mendaftarkan status nomor pengodean dalam format little-endian. Ini diharapkan diinisialisasi dalam status dasar komputasi $\ket{0...0}$.

Output : Unit

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];
use qubits = Qubit[2];
let qubitsLE = LittleEndian(qubits);
PrepareArbitraryStateD(amplitudes, 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.

Referensi

Lihat juga