Is your feature request related to a problem? Please describe.
Min time and robustness problem templates constructed from a QuantumControlProblem use the problem's constraints and objective. Sometimes, we might want to reset or change these. However, we don't care to redefine the initial trajectory, system, or other problem-specific intializations.
Describe the solution you'd like
Example,
function UnitaryRobustnessProblem(
Hₑ::AbstractMatrix{<:Number},
prob::QuantumControlProblem;
constraints::Union{Vector{<:AbstractConstraint}, Nothing}=nothing,
objective::Union{Objective, Nothing}=nothing,
kwargs...
)
would use the problem defaults if nothing, else the provided values.
We will also need to add a default convenience objective that acts as a zero. It might also be nice to treat any usage of zero as referring to this objective, when doing addition of objectives.
Is your feature request related to a problem? Please describe. Min time and robustness problem templates constructed from a
QuantumControlProblem
use the problem's constraints and objective. Sometimes, we might want to reset or change these. However, we don't care to redefine the initial trajectory, system, or other problem-specific intializations.Describe the solution you'd like Example,
would use the problem defaults if nothing, else the provided values.
We will also need to add a default convenience objective that acts as a zero. It might also be nice to treat any usage of zero as referring to this objective, when doing addition of objectives.