API

QuantumFCS.drazinMethod
drazin(L, vrho_ss, vId, IdL)

Calculate the Drazin inverse of a Liouvillian defined by the Hamiltonian H and jump operators J.

Arguments

  • L : Liouvillian matrix
  • vrho_ss: vectorised density matrix specifying the steady-state of the Liouvillian.
  • vId: vectorised identity matrix (1×N row or vector)
  • IdL: Identity matrix in Liouville space (N×N)

Returns

Drazin inverse as a (sparse)
source
QuantumFCS.drazin_applyMethod
drazin_apply(L, α, ρ, vId; F=nothing, rtol=1e-12, atol=0.0)

Apply the (projected) Drazin inverse of the Liouvillean L to the vector α by solving a linear system.

Arguments

  • L: Liouvillean operator (matrix).
  • α: Right-hand side vector.
  • ρ: Steady-state vector.
  • vId: Vectorized identity vector.
  • F: Optional factorization of L to reuse (default: nothing).
  • rtol: Relative tolerance for the solver (default: 1e-12).
  • atol: Absolute tolerance for the solver (default: 0.0).

Returns

A (sparse) vector representing the result of applying the projected Drazin inverse.

source
QuantumFCS.fcscumulants_recursiveMethod
fcscumulants_recursive(L, mJ, nC; <keyword arguments>)

Calculate n-th zero-frequency cumulant of full counting statistics using a recursive scheme.

Arguments

  • L: Vectorized Liouvillian matrix (sparse or dense, ComplexF64)

Alternatively, one can provide the Hamiltonian and jump operators instead of L

  • H: Hamiltonian operator (sparse or dense, Operator from QuantumOptics.jl)
  • J: Vector of jump operators (sparse or dense, Operator from QuantumOptics.jl)
  • mJ: Vector containing the monitored jump matrices (sparse operators in vectorized representation).
  • nC: Number of cumulants to be calculated.
  • nu: Vector of length length(mJ) with weights for each jump.
source
QuantumFCS.m_jumpsMethod
m_jumps(mJ; n=1; nu = vcat(fill(-1, Int(length(J)/2)),fill(1, Int(length(J)/2))))

Calculate the vectorized super-operator ℒ(n) = ∑ₖ (νₖ)ⁿ (Lₖ*)⊗Lₖ.

Arguments

  • mJ: List of monitored jumps
  • n : Power of the weights νₖ. By default set to 1, since this case appears more often.
  • nu: vector of length length(mJ) with weights for each jump operator.
source