Visió General
El mòdul qilisdk.noise conté classes que representen diferents tipus de soroll en sistemes quàntics. Aquests models de soroll es poden integrar en simulacions quàntiques per tenir en compte les imperfeccions del món real i els efectes de decoherència. Un NoiseModel pot contenir diversos tipus de soroll, cadascun dels quals s’aplica durant la simulació.
Backend |
Models de Soroll Compatibles |
|---|---|
✔ |
|
✔ |
|
✕ |
Ús
Els passos de soroll s’afegeixen a un NoiseModel, que s’ha d’incloure en crear un backend. Per exemple, per crear un circuit senzill i simular-lo amb un backend CUDA que contingui un model de soroll d’inversió de bit:
from qilisdk.noise import NoiseModel, BitFlip
from qilisdk.digital import X, Circuit
from qilisdk.functionals import DigitalPropagation
from qilisdk.readout import Readout
from qilisdk.backends import CudaBackend
# Define the random circuit and functional
c = Circuit(nqubits=2)
c.add(X(0))
c.add(X(1))
functional = DigitalPropagation(c)
# Apply bit-flip noise with 50% probability to X gates on qubit 1
nm = NoiseModel()
nm.add(BitFlip(probability=0.5), gate=X, qubits=[1])
# Execute with CUDA backend
backend_cuda = CudaBackend(noise_model=nm)
res = backend_cuda.execute(functional, readout=Readout().with_sampling(nshots=1000))
print(res)
Resum dels Tipus de Soroll
Alguns dels passos de soroll disponibles a QiliSDK es poden utilitzar tant per a circuits digitals com per a programes analògics, mentre que d’altres són específics d’un o de l’altre:
Tipus de Soroll |
Propagació Digital |
Evolució Analògica |
|---|---|---|
✔ |
||
✔ |
||
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |