Backend QuTiP
El backend Qutip utilitza la biblioteca QuTiP per a simulació només a CPU. És el backend opcional més lleuger — sense GPU ni extensió compilada — i és adequat per al desenvolupament local, pipelines de CI i notebooks educatius.
Instal·lació
pip install qilisdk[qutip]
Inici ràpid
import numpy as np
from qilisdk.analog import Schedule, X, Z, Y
from qilisdk.core import ket, tensor_prod
from qilisdk.backends import QutipBackend
from qilisdk.core.interpolator import Interpolation
from qilisdk.functionals import AnalogEvolution
from qilisdk.readout import Readout
T = 10.0
dt = 0.5
nqubits = 1
Hx = sum(X(i) for i in range(nqubits))
Hz = sum(Z(i) for i in range(nqubits))
schedule = Schedule(
hamiltonians={"driver": Hx, "problem": Hz},
coefficients={
"driver": {(0.0, T): lambda t: 1 - t / T},
"problem": {(0.0, T): lambda t: t / T},
},
dt=dt,
interpolation=Interpolation.LINEAR,
)
initial_state = tensor_prod([(ket(0) - ket(1)).unit() for _ in range(nqubits)]).unit()
backend = QutipBackend()
results = backend.execute(
AnalogEvolution(schedule=schedule, initial_state=initial_state),
Readout().with_expectation(observables=[Z(0), X(0), Y(0)]).with_state_tomography(),
)
print(results)
Suport de funcionals
Funcional |
Suport |
Notes |
|---|---|---|
✅ |
Simulació basada en vector d’estat mitjançant |
|
✅ |
Integració de l’equació mestra mitjançant |
|
🟡 |
The QutipBackend does not natively implement |
|
✅ |
Reutilitza els manejadors digital/analògic anteriors a cada pas d’optimització. |
Configuració
QutipBackend té una única opció de constructor:
Opció |
Significat |
|---|---|
|
Límit superior del nombre de subpassos interns de l’integrador ODE utilitzats per |
from qilisdk.backends import QutipBackend
backend = QutipBackend(nsteps=50_000)
Nota
QutipBackend no accepta cap NoiseModel. Per a simulacions digitals o analògiques amb soroll utilitzeu en el seu lloc QiliSim o CudaBackend.