diff --git a/src/qobj/quantum_object_evo.jl b/src/qobj/quantum_object_evo.jl index 3e8edf301..f1c4c58dc 100644 --- a/src/qobj/quantum_object_evo.jl +++ b/src/qobj/quantum_object_evo.jl @@ -440,17 +440,8 @@ end _promote_to_scimloperator(data::AbstractMatrix) = MatrixOperator(data) _promote_to_scimloperator(data::AbstractSciMLOperator) = data -# TODO: The following special cases can be simplified after -# https://github.com/SciML/SciMLOperators.jl/pull/264 is merged _promote_to_scimloperator(α::Number, data::AbstractMatrix) = MatrixOperator(α * data) -function _promote_to_scimloperator(α::Number, data::MatrixOperator) - isconstant(data) && return MatrixOperator(α * data.A) - return ScaledOperator(α, data) # Going back to the generic case -end -function _promote_to_scimloperator(α::Number, data::ScaledOperator) - isconstant(data.λ) && return ScaledOperator(α * data.λ, data.L) - return ScaledOperator(data.λ, _promote_to_scimloperator(α, data.L)) # Try to propagate the rule -end +# We still have to define this for AddedOperator, as it is not present in SciMLOperators.jl function _promote_to_scimloperator(α::Number, data::AddedOperator) return AddedOperator(_promote_to_scimloperator.(α, data.ops)) # Try to propagate the rule end diff --git a/src/time_evolution/mesolve.jl b/src/time_evolution/mesolve.jl index 980148889..32305cb1b 100644 --- a/src/time_evolution/mesolve.jl +++ b/src/time_evolution/mesolve.jl @@ -97,12 +97,7 @@ function mesolveProblem( tspan = (tlist[1], tlist[end]) - # TODO: Remove this when https://github.com/SciML/SciMLSensitivity.jl/issues/1181 is fixed - if haskey(kwargs3, :sensealg) - prob = ODEProblem{getVal(inplace)}(L, ρ0, tspan, params; kwargs3...) - else - prob = ODEProblem{getVal(inplace),FullSpecialize}(L, ρ0, tspan, params; kwargs3...) - end + prob = ODEProblem{getVal(inplace),FullSpecialize}(L, ρ0, tspan, params; kwargs3...) return TimeEvolutionProblem(prob, tlist, L_evo.dimensions, (isoperket = Val(isoperket(ψ0)),)) end diff --git a/src/time_evolution/sesolve.jl b/src/time_evolution/sesolve.jl index c24970f75..c5607f231 100644 --- a/src/time_evolution/sesolve.jl +++ b/src/time_evolution/sesolve.jl @@ -76,12 +76,7 @@ function sesolveProblem( tspan = (tlist[1], tlist[end]) - # TODO: Remove this when https://github.com/SciML/SciMLSensitivity.jl/issues/1181 is fixed - if haskey(kwargs3, :sensealg) - prob = ODEProblem{getVal(inplace)}(U, ψ0, tspan, params; kwargs3...) - else - prob = ODEProblem{getVal(inplace),FullSpecialize}(U, ψ0, tspan, params; kwargs3...) - end + prob = ODEProblem{getVal(inplace),FullSpecialize}(U, ψ0, tspan, params; kwargs3...) return TimeEvolutionProblem(prob, tlist, H_evo.dimensions) end