Fungsi StatePreparationComplexCoefficients

Peringatan

Dokumentasi ini mengacu pada QDK Klasik, yang telah digantikan oleh QDK Modern.

Silakan lihat https://aka.ms/qdk.api dokumentasi API untuk QDK Modern.

Namespace: Microsoft.Quantum.Preparation

Paket: Microsoft.Quantum.Standard

Peringatan

StatePreparationComplexCoefficients tidak digunakan lagi. Silakan gunakan operasi PrepareArbitraryStateCP sebagai gantinya.

Mengembalikan operasi yang menyiapkan status kuantum tertentu.

Operasi yang dikembalikan $U$ menyiapkan status kuantum arbitrer $\ket{\psi}$ dengan koefisien kompleks $r_j e^{i t_j}$ dari status dasar komputasi $n$-qubit $\ket{0...0}$.

Tindakan U pada register yang baru dialokasikan diberikan oleh $$ \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{align} $$

function StatePreparationComplexCoefficients (coefficients : Microsoft.Quantum.Math.ComplexPolar[]) : (Microsoft.Quantum.Arithmetic.LittleEndian => Unit is Adj + Ctl)

Input

koefisien : ComplexPolar[]

Array koefisien kompleks hingga $2^n$ yang diwakili oleh nilai absolut dan fasenya $(r_j, t_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}=e^{i 0.1}\sqrt{1/8}\ket{0}+\sqrt{7/8}\ket{2}$ di register qubitsLEqubit .

let amplitudes = [Sqrt(0.125), 0.0, Sqrt(0.875), 0.0];
let phases = [0.1, 0.0, 0.0, 0.0];
mutable complexNumbers = new ComplexPolar[4];
for (idx in 0..3) {
    set complexNumbers[idx] = ComplexPolar(amplitudes[idx], phases[idx]);
}
let op = StatePreparationComplexCoefficients(complexNumbers);
using (qubits = Qubit[2]) {
    let qubitsLE = LittleEndian(qubits);
    op(qubitsLE);
}

Keterangan

Koefisien input negatif $r_j < 0$ akan diperlakukan seolah-olah positif dengan nilai $|r_j|$. coefficients akan diisi dengan elemen $(r_j, t_j) = (0,0, 0,0)$ jika kurang dari $2^n$ ditentukan.