qilisdk.noise.representations
Attributes
Classes
Kraus operator representation of a quantum channel. |
|
Lindblad generator representation for Markovian noise. |
Module Contents
- Rate[font]
- class KrausChannel(operators: list[qilisdk.core.QTensor])[font]
Bases:
qilisdk.noise.noise.NoiseKraus operator representation of a quantum channel.
Args: operators (list[QTensor]): Kraus operators defining the channel.
- property operators: list[qilisdk.core.QTensor][font]
Return the Kraus operators defining the channel.
- Retorna:
The Kraus operators for this channel.
- Tipus de retorn:
list[QTensor]
- as_kraus() Self[font]
- classmethod allowed_scopes() frozenset[qilisdk.noise.protocols.AttachmentScope][font]
Return the allowed attachment scopes for this noise representation.
- Retorna:
Allowed attachment scopes.
- Tipus de retorn:
frozenset[AttachmentScope]
- class LindbladGenerator(jump_operators: list[qilisdk.core.QTensor], rates: list[Rate] | None = None, hamiltonian: qilisdk.analog.Hamiltonian | None = None)[font]
Bases:
qilisdk.noise.noise.NoiseLindblad generator representation for Markovian noise.
- Paràmetres:
jump_operators (
list[QTensor]) – Jump operators defining dissipation.rates (
list[float | Callable[[float],float]] | None) – Optional rates for each jump operator. Each rate is either a constant value or a callablerate(t)that is evaluated at the simulation timetof an analog evolution, allowing the dissipation strength to vary in time. Time-dependent (callable) rates are only supported by the analog evolution ofQiliSim(dense methods); seeis_time_dependent.hamiltonian (
Hamiltonian | None) – Optional Hamiltonian term for coherent evolution.
- Llença:
ValueError – If rates are provided and their length does not match jump_operators, or if any rate is neither a real number nor a callable.
- property is_time_dependent: bool[font]
Whether any rate is a callable evaluated at the simulation time.
- Retorna:
Trueif at least one rate is a callablerate(t),Falseotherwise.- Tipus de retorn:
bool
- property jump_operators: list[qilisdk.core.QTensor][font]
Return the jump operators defining dissipation.
- Retorna:
Jump operators for this generator.
- Tipus de retorn:
list[QTensor]
- property jump_operators_with_rates: list[qilisdk.core.QTensor][font]
Return the jump operators defining dissipation, scaled by their (constant) rates.
- Llença:
ValueError – If the rate list is provided but its length does not match jump_operators.
ValueError – If any rate is time-dependent (a callable). Time-dependent rates cannot be statically folded into the operators; the analog evolution of
QiliSimconsumesjump_operatorsandratesdirectly instead.
- Retorna:
Jump operators for this generator, each scaled by
sqrt(rate).- Tipus de retorn:
list[QTensor]
- property rates: list[Rate] | None[font]
Return the rates for each jump operator, if provided.
- Retorna:
Rates for each jump operator. Each rate is either a constant value or a callable
rate(t).- Tipus de retorn:
list[float | Callable[[float], float]] | None
- property hamiltonian: qilisdk.analog.Hamiltonian | None[font]
Return the optional coherent Hamiltonian term.
- Retorna:
The Hamiltonian term if provided.
- Tipus de retorn:
QTensor | None
- as_lindblad() LindbladGenerator[font]
Return this instance as a Lindblad generator representation.
- Retorna:
The current LindbladGenerator instance.
- classmethod allowed_scopes() frozenset[qilisdk.noise.protocols.AttachmentScope][font]
Return the allowed attachment scopes for this noise representation.
- Retorna:
Allowed attachment scopes.
- Tipus de retorn:
frozenset[AttachmentScope]