Couplings

Constant couplings

OpenQuantumBase.ConstantCouplingsType
struct ConstantCouplings <: OpenQuantumBase.AbstractCouplings

Defines constant system bath coupling operators.

Fields

  • mats: 1-D array for independent coupling operators

  • str_rep: String representation for the coupling (for display purpose)

OpenQuantumBase.ConstantCouplingsMethod
function ConstantCouplings(mats::Union{Vector{Matrix{T}},Vector{SparseMatrixCSC{T,Int}}}; unit=:h) where {T<:Number}

Constructor of ConstantCouplings object. mats is 1-D array of matrices. str_rep is the optional string representation of the coupling terms. unit is the unit one – :h or . The mats will be scaled by $2π$ is unit is :h.

OpenQuantumBase.ConstantCouplingsMethod
function ConstantCouplings(c::Vector{T}; sp = false, unit=:h) where T <: AbstractString

If the first argument is a 1-D array of strings. The constructor will automatically construct the matrics represented by the string representations.

OpenQuantumBase.collective_couplingMethod
function collective_coupling(op, num_qubit; sp = false, unit = :h)

Create ConstantCouplings object with operator op on each qubits. op is the string representation of one of the Pauli matrices. num_qubit is the total number of qubits. sp set whether to use sparse matrices. unit set the unit one – :h or .

Time dependent couplings

OpenQuantumBase.TimeDependentCouplingType
struct TimeDependentCoupling

Defines a single time dependent system bath coupling operator. It is defined as $S(s)=∑f(s)×M$. Keyword argument unit set the unit one – :h or .

Fields

  • funcs: 1-D array of time dependent functions

  • mats: 1-D array of constant matrics

Examples

julia> TimeDependentCoupling([(s)->s], [σz], unit=:ħ)
OpenQuantumBase.TimeDependentCouplingsType
struct TimeDependentCouplings <: OpenQuantumBase.AbstractTimeDependentCouplings

Defines an 1-D array of time dependent system bath coupling operators.

Fields

  • coupling: A tuple of single TimeDependentCoupling operators

Others

OpenQuantumBase.CustomCouplingsType
struct CustomCouplings <: OpenQuantumBase.AbstractTimeDependentCouplings

CustomCouplings is a container for any user defined coupling operators.

Fields

  • coupling: A 1-D array of callable objects that returns coupling matrices

  • size: Size of the coupling operator