You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- `op_func_list::Union{Tuple,AbstractQuantumObject}`: A tuple of tuples or operators.
185
-
- `α::Union{Nothing,Number}=nothing`: A scalar to pre-multiply the operators.
186
185
187
186
!!! warning "Beware of type-stability!"
188
187
Please note that, unlike QuTiP, this function doesn't support `op_func_list` as `Vector` type. This is related to the type-stability issue. See the Section [The Importance of Type-Stability](@ref doc:Type-Stability) for more details.
189
188
190
-
Note that if `α` is provided, all the operators in `op_func_list` will be pre-multiplied by `α`. The `type` parameter is used to specify the type of the [`QuantumObject`](@ref), either `Operator` or `SuperOperator`. The `f` parameter is used to pre-apply a function to the operators before converting them to SciML operators.
189
+
The `type` parameter is used to specify the type of the [`QuantumObject`](@ref), either `Operator` or `SuperOperator`.
191
190
192
191
!!! note
193
192
`QobjEvo` is a synonym of `QuantumObjectEvolution`.
functionQuantumObjectEvolution(op_func_list::Tuple, α::Union{Nothing,Number}=nothing; type =nothing)
271
-
op, data =_QobjEvo_generate_data(op_func_list, α)
269
+
functionQuantumObjectEvolution(op_func_list::Tuple; type =nothing)
270
+
op, data =_QobjEvo_generate_data(op_func_list)
272
271
dims = op.dimensions
273
272
_check_type(type)
274
273
@@ -284,17 +283,17 @@ function QuantumObjectEvolution(op_func_list::Tuple, α::Union{Nothing,Number} =
284
283
end
285
284
286
285
# this is a extra method if user accidentally specify `QuantumObjectEvolution( (op, func) )` or `QuantumObjectEvolution( ((op, func)) )`
287
-
QuantumObjectEvolution(op_func::Tuple{QuantumObject,Function}, α::Union{Nothing,Number}=nothing; type =nothing) =
288
-
QuantumObjectEvolution((op_func,), α; type = type)
286
+
QuantumObjectEvolution(op_func::Tuple{<:QuantumObject,<:Function}; type =nothing) =
287
+
QuantumObjectEvolution((op_func,); type = type)
289
288
290
289
@docraw"""
291
-
QuantumObjectEvolution(op::QuantumObject, f::Function, α::Union{Nothing,Number}=nothing; type = nothing)
292
-
QobjEvo(op::QuantumObject, f::Function, α::Union{Nothing,Number}=nothing; type = nothing)
290
+
QuantumObjectEvolution(op::QuantumObject, f::Function; type = nothing)
291
+
QobjEvo(op::QuantumObject, f::Function; type = nothing)
293
292
294
293
Generate [`QuantumObjectEvolution`](@ref).
295
294
296
295
# Notes
297
-
- The `f` parameter is used to pre-apply a function to the operators before converting them to SciML operators. The `type` parameter is used to specify the type of the [`QuantumObject`](@ref), either `Operator` or `SuperOperator`.
296
+
- The `f` parameter is time-dependent coefficient that multiplies the operator. The `type` parameter is used to specify the type of the [`QuantumObject`](@ref), either `Operator` or `SuperOperator`.
298
297
- `QobjEvo` is a synonym of `QuantumObjectEvolution`.
Parse the `op_func_list` and generate the data for the `QuantumObjectEvolution` object. The `op_func_list` is a tuple of tuples or operators. Each element of the tuple can be a tuple with two elements (operator, function) or an operator. The function is used to generate the time-dependent coefficients for the operators. The `α` parameter is used to pre-multiply the operators by a scalar. The `f` parameter is used to pre-applying a function to the operators before converting them to SciML operators. During the parsing, the dimensions of the operators are checked to be the same, and all the constant operators are summed together.
347
+
Parse the `op_func_list` and generate the data for the `QuantumObjectEvolution` object. The `op_func_list` is a tuple of tuples or operators. Each element of the tuple can be a tuple with two elements (operator, function) or an operator. The function is used to generate the time-dependent coefficients for the operators. During the parsing, the dimensions of the operators are checked to be the same, and all the constant operators are summed together.
353
348
354
349
# Arguments
355
350
- `op_func_list::Tuple`: A tuple of tuples or operators.
356
-
- `α`: A scalar to pre-multiply the operators.
357
-
- `f::Function=identity`: A function to pre-apply to the operators.
0 commit comments