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
Fix#46
With this PR the GRAPE-reported infidelity matches the manually computed one by evolving the system using the optimized control pulses.
key change enable this consistency:
For state transfer problems, the correct fidelity normalization (scale_factor = 1/dim) is applied in the QOC interface, using existing optimization_type checks
I’ve fixed the issue with looping over the objectives. The problem with using evo_full_final is that it returns the final evolution operator, not the evolved state. This matches what is done in qutip_qtrl/dynamics.py and is probably the reason why it is deprecated.
In no way is a criticism of what @rochisha0 has done to fix the issue, but this all seems like a bit of a mess. Seems strange that we don't ask the user to be more specific about what their objective is rather than us trying to guess based on what they have input, especially if we have no elegant way to distinguish between a density matrix and unitary matrix say. Also, does this code allow for the initial / target to be a CPT map?
I am minded to merge this, as it seems to fix the issue, but open another issue that records the concerns raised above.
Okay, merging this now, despite concerns that this does not actually get tested on the assumption that #43 and #44 will be merged soon and will test this.
@ajgpitch Thanks for merging, I will go over those notebooks in #44 one more time and hope it will be ready for merging then.
Just to clarify though: this PR fixed the "symptom" but not the underlying problem of the final state being computed in multiple different ways, right?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix #46
With this PR the GRAPE-reported infidelity matches the manually computed one by evolving the system using the optimized control pulses.
key change enable this consistency:
For state transfer problems, the correct fidelity normalization (
scale_factor= 1/dim) is applied in the QOC interface, using existingoptimization_typechecks