There should be utilities that turn any objective into some appropriate constraint. The constraint should take in an objective and a value as arguments, and the output should be a constraint satisfying the desired condition.
For example,
function ObjectiveEqualityConstraint(objective::Objective, value::Float64)
objective - value = 0
end
function ObjectiveInequalityConstraint(objective::Objective, value::Float64)
objective - value > 0
end
This functionality has already been implemented in FinalUnitaryFidelityConstraint, which follows the format of UnitaryInfidelityObjective; the point of this issue is to generalize and abstract this concept.
Suggested checklist
[ ] Pick a specific objective (e.g. UnitaryInfidelityObjective objective). Write a routine that creates a constraint from this objective. Compare to the existing constraint (e.g. FinalUnitaryFidelityConstraint).
Feature Description
Background
There should be utilities that turn any objective into some appropriate constraint. The constraint should take in an objective and a value as arguments, and the output should be a constraint satisfying the desired condition.
For example,
This functionality has already been implemented in
FinalUnitaryFidelityConstraint
, which follows the format ofUnitaryInfidelityObjective
; the point of this issue is to generalize and abstract this concept.Suggested checklist
UnitaryInfidelityObjective
objective). Write a routine that creates a constraint from this objective. Compare to the existing constraint (e.g.FinalUnitaryFidelityConstraint
).Importance
1 (lowest)
What does this feature affect?
Other information
No response