Couplings
Constant couplings
OpenQuantumBase.ConstantCouplings — Typestruct ConstantCouplings <: OpenQuantumBase.AbstractCouplingsDefines constant system bath coupling operators.
Fields
mats: 1-D array for independent coupling operatorsstr_rep: String representation for the coupling (for display purpose)
OpenQuantumBase.ConstantCouplings — Methodfunction 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.ConstantCouplings — Methodfunction ConstantCouplings(c::Vector{T}; sp = false, unit=:h) where T <: AbstractStringIf the first argument is a 1-D array of strings. The constructor will automatically construct the matrics represented by the string representations.
OpenQuantumBase.collective_coupling — Methodfunction 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.TimeDependentCoupling — Typestruct TimeDependentCouplingDefines 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 functionsmats: 1-D array of constant matrics
Examples
julia> TimeDependentCoupling([(s)->s], [σz], unit=:ħ)OpenQuantumBase.TimeDependentCouplings — Typestruct TimeDependentCouplings <: OpenQuantumBase.AbstractTimeDependentCouplingsDefines an 1-D array of time dependent system bath coupling operators.
Fields
coupling: A tuple of singleTimeDependentCouplingoperators
Others
OpenQuantumBase.CustomCouplings — Typestruct CustomCouplings <: OpenQuantumBase.AbstractTimeDependentCouplingsCustomCouplings is a container for any user defined coupling operators.
Fields
coupling: A 1-D array of callable objects that returns coupling matricessize: Size of the coupling operator
OpenQuantumBase.CustomCouplings — MethodCustomCouplings(funcs; unit)
Create a CustomCouplings object from a list of functions funcs.