qilisdk.noise.representations

Attributes

Rate

Classes

KrausChannel

Kraus operator representation of a quantum channel.

LindbladGenerator

Lindblad generator representation for Markovian noise.

Module Contents

Rate[font]
class KrausChannel(operators: list[qilisdk.core.QTensor])[font]

Bases: qilisdk.noise.noise.Noise

Kraus 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.Noise

Lindblad 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 callable rate(t) that is evaluated at the simulation time t of an analog evolution, allowing the dissipation strength to vary in time. Time-dependent (callable) rates are only supported by the analog evolution of QiliSim (dense methods); see is_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:

True if at least one rate is a callable rate(t), False otherwise.

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 QiliSim consumes jump_operators and rates directly 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]