Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 1.88 KB

README.md

File metadata and controls

22 lines (18 loc) · 1.88 KB

SteadyState.jl

Build Status Codecov

Tiny package for determining iteratively the steady state of time-independent Liouville superoperators thanks to QuantumOptics.jl and IterativeSolvers.jl.

Methods

rho = steadystate_bicg(H, J, l; log=false, kwargs...)
rho, log = steadystate_bicg(H, J, l; log=true, kwargs...)

Evaluates the steady state by solving iteratively the linear system via the stabilized biconjugate gradient method with l GMRES steps. The Hamiltonian H and the jump operators J are to be dense. Sparse operators can be handled, provided one gets rid of BLAS in this line (e.g. by changing it to @inbounds @views it.x .+= it.rs[:,1:it.l] * it.γ in some local branch of IterativeSolvers.jl). Keyword arguments are passed to the iterative solver.

steadystate_bicg!(rho, H, J, l; log=false, kwargs...)

Same as the above with an initial condition.

steadystate_iterative!(rho, H, J, :method!, args...; kwargs...)

Same as the above but accepting any inplace method name in the main scope or defined within IterativeSolvers.jl (e.g. gmres!, for dense operators, or idrs!, compatible with sparse operators as well). args and kwargs are passed on to the iterative solver.