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

QiliSim

CudaBackend

QutipBackend

Ú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

KrausChannel

LindbladGenerator

PauliChannel

BitFlip

PhaseFlip

Depolarizing

AmplitudeDamping

Dephasing

GaussianPerturbation

OffsetPerturbation

ReadoutAssignment