Couplings
Constant couplings
OpenQuantumBase.ConstantCouplings
— Typestruct ConstantCouplings <: OpenQuantumBase.AbstractCouplings
Defines 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 <: 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_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 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 functionsmats
: 1-D array of constant matrics
Examples
julia> TimeDependentCoupling([(s)->s], [σz], unit=:ħ)
OpenQuantumBase.TimeDependentCouplings
— Typestruct TimeDependentCouplings <: OpenQuantumBase.AbstractTimeDependentCouplings
Defines an 1-D array of time dependent system bath coupling operators.
Fields
coupling
: A tuple of singleTimeDependentCoupling
operators
Others
OpenQuantumBase.CustomCouplings
— Typestruct 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 matricessize
: Size of the coupling operator
OpenQuantumBase.CustomCouplings
— MethodCustomCouplings(funcs; unit)
Create a CustomCouplings
object from a list of functions funcs
.