Operasi ApplyIfCA

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

Paket: Microsoft.Quantum.Standard

Menerapkan operasi uniter yang dikondisikan pada bit klasik.

operation ApplyIfCA<'T> (bit : Bool, op : ('T => Unit is Ctl + Adj), target : 'T) : Unit is Adj + Ctl

Deskripsi

Mengingat nilai bit bit dan operasi op, berlaku op untuk target jika bit adalah true. Jika false, tidak ada yang terjadi pada target. Akhiran CA menunjukkan bahwa operasi yang akan diterapkan adalah unitary (dapat dikontrol dan dapat digabungkan).

Input

bit : Bool

boolean yang mengontrol apakah op diterapkan atau tidak.

op : 'T =>Unit adalah Adj + Ctl

Operasi yang akan diterapkan secara kondisional.

target : 'T

Input tempat operasi diterapkan.

Output : Unit

Jenis parameter

'T

Jenis input operasi yang akan diterapkan secara kondisional.

Contoh

Berikut ini menyiapkan daftar qubit ke dalam status dasar komputasi yang diwakili oleh string bit klasik yang diberikan sebagai array Bool nilai:

let bitstring = [true, false, true];
using (register = Qubit(3)) {
    ApplyToEach(ApplyIf(_, X, _), Zipped(bitstring, register));
    // register should now be in the state |101⟩.
    ...
}

Lihat juga