Bagikan melalui


Operasi ApplyControlledOnInt

Nama yang sepenuhnya memenuhi syarat: Std.Canon.ApplyControlledOnInt

operation ApplyControlledOnInt<'T>(numberState : Int, oracle : ('T => Unit is Adj + Ctl), controlRegister : Qubit[], target : 'T) : Unit is Adj + Ctl

Ringkasan

Menerapkan operasi uniter pada target jika status register kontrol sesuai dengan bilangan bulat nonnegatif tertentu.

Masukan

nomor

Bilangan bulat nonnegatif tempat operasi oracle harus dikontrol.

Oracle

Operasi uniter yang akan dikontrol.

Target

Target untuk menerapkan oracle.

kontrolDaftar

Register kuantum yang mengontrol aplikasi oracle.

Komentar

Nilai numberState ditafsirkan menggunakan pengodean little-endian.

numberState harus paling banyak $2^\texttt{Length(controlRegister)} - 1$. Misalnya, numberState = 537 berarti bahwa oracle diterapkan jika dan hanya jika controlRegister berada dalam status $\ket{537}$.