Visió general
The qilisdk.noise module contains classes that represent different types of noise in quantum systems.
These noise models can be integrated into quantum simulations to account for real-world imperfections and
decoherence effects. A NoiseModel can contains various types of noise,
each of which is then applied during simulation.
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 |
Digital Propogation |
Evolució analògica |
|---|---|---|
✔ |
||
✔ |
||
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |
✔ |
|
✔ |