This module simulates the effects of a heat bath coupled to a quantum system, using the Born-Markov approximation.
The treatment in this module mostly follows Ref. [3].
ops(H, D) | Jump operators for a Born-Markov master equation. |
lindblad_ops(H, D, B) | Lindblad operators for a Born-Markov master equation. |
superop(H, D, B) | Liouvillian superoperator for a Born-Markov master equation. |
bath(type, omega0, T) | Markovian heat bath. |
build_LUT() | Build a lookup table for the S integral. |
S_func(x) | Spectral correlation tensor, imaginary part. |
set_cutoff(type, lim) | Set the spectral density cutoff. |
corr(x) | Bath spectral correlation tensor. |
fit(delta, T1, T2) | Qubit-bath coupling that reproduces given decoherence times. |
Markovian heat bath.
Currently only one type of bath is supported, a bosonic canonical ensemble at absolute temperature T, with a single-term coupling to the system. The bath spectral density is Ohmic with a cutoff:
Two types of cutoffs are supported: exponential and sharp.
The effects of the bath on the system are contained in the complex spectral correlation tensor
where and are real. Computing values of this tensor is the main purpose of this class.
where is the Planc function and . Since is pretty expensive to compute, we store the computed results into a lookup table which is used to interpolate nearby values.
Public data:
Data member | Description |
---|---|
type | Bath type. Currently only ‘ohmic’ is supported. |
omega0 | Energy scale (in Hz). is the unit of energy for all Hamiltonians related to this bath. |
T | Absolute temperature of the bath (in K). |
scale | Dimensionless temperature scaling parameter . |
cut_type | Spectral density cutoff type (string). |
cut_limit | Spectral density cutoff limit . |
Private data (set automatically):
Data member | Description |
---|---|
cut_func | Spectral density cutoff function. |
j | Spectral density profile. . |
g_func | Spectral correlation tensor, real part. . For the imaginary part, see S_func. |
g0 | . |
s0 | . |
dH | Lookup table. |
gs_table | Lookup table. = gs_table[k, (0/1)]. |
Spectral correlation tensor, imaginary part.
Build a lookup table for the S integral. Unused.
Bath spectral correlation tensor.
g, s = corr(x)
Returns the bath spectral correlation tensor evaluated at :
Qubit-bath coupling that reproduces given decoherence times.
H, D = fit(delta, T1, T2)
Returns the qubit Hamiltonian H and the qubit-bath coupling operator D that reproduce the decoherence times T1 and T2 (in units of ) for a single-qubit system coupled to the bath. delta is the energy splitting for the qubit (in units of ).
The bath object is not modified.
Set the spectral density cutoff.
Jump operators for a Born-Markov master equation.
dH, A = ops(H, D)
Builds the jump operators for a Hamiltonian operator H and a (Hermitian) interaction operator D.
Returns (dH, A), where dH is a list of the sorted unique nonnegative differences between eigenvalues of H, and A is a sequence of the corresponding jump operators: .
Since , only the nonnegative dH:s and corresponding A:s are returned.
Lindblad operators for a Born-Markov master equation.
L, H_LS = lindblad_ops(H, D, B)
Builds the Lindblad operators corresponding to a base Hamiltonian H and a (Hermitian) interaction operator D coupling the system to bath B.
Returns and , where are the Lindblad operators and is the Lamb shift.
B can also be a list of baths, in which case D has to be a list of the corresponding interaction operators.
Liouvillian superoperator for a Born-Markov master equation.
Builds the Liouvillian superoperator L corresponding to a base Hamiltonian H and a (Hermitian) interaction operator D coupling the system to bath B.
Returns , which includes the system Hamiltonian, the Lamb shift, and the Lindblad dissipator.
B can also be a list of baths, in which case D has to be a list of the corresponding interaction operators.