Operasi ApplyControlledOnBitString

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

Paket: Microsoft.Quantum.Standard

Menerapkan operasi uniter pada register target, yang dikontrol pada status yang ditentukan oleh masker bit tertentu.

operation ApplyControlledOnBitString<'T> (bits : Bool[], oracle : ('T => Unit is Adj + Ctl), controlRegister : Qubit[], targetRegister : 'T) : Unit is Adj + Ctl

Input

bit : Bool[]

String bit untuk mengontrol operasi uniter yang diberikan.

oracle : 'T =>Unit adalah Adj + Ctl

Operasi uniter yang akan diterapkan pada register target.

controlRegister : Qubit[]

Register kuantum yang mengontrol aplikasi oracle.

targetRegister : 'T

Register target yang akan diteruskan sebagai oracle input.

Output : Unit

Jenis parameter

'T

Keterangan

Pola yang diberikan oleh bits mungkin lebih pendek dari controlRegister, dalam hal ini kubit kontrol tambahan diabaikan (yaitu, tidak dikontrol pada $\ket{0}$ atau $\ket{1}$). Jika bits lebih panjang dari controlRegister, kesalahan akan muncul.

Misalnya, bits = [0,1,0,0,1] berarti itu oracle diterapkan jika dan hanya jika controlRegister berada dalam status $\ket\ket{0}{1}\ket{0}\ket{0}\ket{1}$.