Fungsi PurifiedMixedState

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

Mengembalikan operasi yang menyiapkan pemurnian status campuran tertentu. "Status campuran yang dimurnikan" mengacu pada status formulir |ψ⟩ = Σi √pi |i⟩ |garbagei⟩ ditentukan oleh vektor koefisien {pi}. Status formulir ini dapat dikurangi menjadi status campuran ρ ≔ pi |i⟩⟨i| dengan menelusuri register "sampah" (yaitu, keadaan campuran yang diagonal dalam basis komputasi).

Lihat https://arxiv.org/pdf/1805.03662.pdf?page=15 untuk diskusi lebih lanjut.

function PurifiedMixedState (targetError : Double, coefficients : Double[]) : Microsoft.Quantum.Preparation.MixedStatePreparation

Deskripsi

Menggunakan teknik Quantum ROM untuk mewakili matriks kepadatan tertentu, mengembalikan representasi tersebut sebagai operasi persiapan status.

Secara khusus, diberikan daftar koefisien $N$ $\alpha_j$, fungsi ini mengembalikan operasi yang menggunakan teknik Quantum ROM untuk menyiapkan perkiraan $$ \begin{align} \tilde\rho = \sum_{j = 0}^{N - 1} p_j \ket{j}\bra{j} \end{align} $$ dari status campuran $$ \begin{align} \rho = \sum_{j = 0}^{N-1} \frac{|\alpha_j|} {\sum_k |\alpha_k|} \ket{j}\bra{j}, \end{align} $$ di mana setiap $p_j$ adalah perkiraan untuk koefisien yang diberikan $\alpha_j$ sehingga $$ \begin{align} \left| p_j - \frac{ |\alpha_j| } { \sum_k |\alpha_k| } \kanan| \le \frac{\epsilon}{N} \end{align} $$ untuk setiap $j$.

Ketika lulus daftar indeks dan daftar kubit sampah, awalnya dalam status $\ket \ket{0} {00\cdots 0}$, operasi yang dikembalikan menyiapkan kedua register ke dalam pemurnian $\tilde \rho$, $$ \begin{align} \sum_{j=0}^{N-1} \sqrt{p_j} \ket{j}\ket{\text{garbage}_j}, \end{align} $$ sehingga mengatur ulang dan membatalkan alokasi register sampah memberlakukan persiapan yang diinginkan untuk dalam kesalahan target $\epsilon$.

Input

targetError : Ganda

Kesalahan target $\epsilon$.

koefisien : Double[]

Array koefisien $N$ yang menentukan probabilitas status dasar. Angka negatif $-\alpha_j$ akan diperlakukan sebagai positif $|\alpha_j|$.

Output : MixedStatePreparation

Operasi yang menyiapkan $\tilde \rho$ sebagai pemurnian ke indeks bersama dan register sampah.

Contoh

Cuplikan kode berikut menyiapkan pemurnian status $3$-qubit $\rho=\sum_{j=0}^{4}\frac{|\alpha_j|} {\sum_k |\alpha_k|} \ket{j}\bra{j}$, di mana $\vec\alpha=(1.0, 2.0, 3.0, 4.0, 5.0)$, dan kesalahan target adalah $10^{-3}$:

let coefficients = [1.0, 2.0, 3.0, 4.0, 5.0];
let targetError = 1e-3;
let purifiedState = PurifiedMixedState(targetError, coefficients);
using (indexRegister = Qubit[purifiedState::Requirements::NIndexQubits]) {
    using (garbageRegister = Qubit[purifiedState::Requirements::NGarbageQubits]) {
        purifiedState::Prepare(LittleEndian(indexRegister), [], garbageRegister);
    }
}

Keterangan

Koefisien yang diberikan untuk operasi ini dinormalisasi setelah 1 norma, sehingga koefisien selalu dianggap untuk menggambarkan distribusi probabilitas kategoris yang valid.

Referensi

  • Pengodean Spektra Elektronik di Sirkuit Kuantum dengan Linear T Complexity Ryan Babbush, Craig Gidney, Dominic W. Berry, Nathan Wiebe, Jarrod McClean, Alexandru Paler, Austin Fowler, Hartmut Neven https://arxiv.org/abs/1805.03662

Lihat juga