Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: Embedded operators for control problems and fidelity #115

Open
3 of 9 tasks
andgoldschmidt opened this issue Jun 4, 2024 · 2 comments
Open
3 of 9 tasks
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@andgoldschmidt
Copy link
Member

andgoldschmidt commented Jun 4, 2024

What happened?

There is no subspace information in a control problem.

Consider a three level transmon

η = -0.2
a = annihilate(3)
sys = QuantumSystem/ 2 * a'*a'*a*a, [(a + a') / 2, -im*(a - a') / 2])

and solve a control problem with an embedded operator

T = 50
Δt = 0.2
U_goal = EmbeddedOperator(GATES[:X], sys)
prob = UnitarySmoothPulseProblem(sys, U_goal, T,  Δt)

The fidelity is not computed in the subspace by default:

|julia> unitary_fidelity(prob)
0.6666...
|julia> unitary_fidelity(prob, subspace=get_subspace_indices(1:2, 3))
0.9999...

Version

stable release

What does this bug affect?

  • quantum system construction
  • problem setup
  • problem solution
  • problem performance
  • solution analysis
  • plotting
  • documentation
  • tests
  • other (please specify below)

Other information

No response

@andgoldschmidt andgoldschmidt added the bug Something isn't working label Jun 4, 2024
@andgoldschmidt andgoldschmidt changed the title [Bug]: roblem should store U_goal [Bug]: Problem should store U_goal for subspace information Jun 4, 2024
@andgoldschmidt andgoldschmidt added the good first issue Good for newcomers label Jun 4, 2024
@andgoldschmidt
Copy link
Member Author

andgoldschmidt commented Jun 4, 2024

My preferred solution would be to add U_goal to the fields of

mutable struct QuantumControlProblem <: AbstractProblem
...

in problems.jl, then make the adaptations to unitary_fidelity, and add appropriate tests to preserve this behavior.

@andgoldschmidt andgoldschmidt changed the title [Bug]: Problem should store U_goal for subspace information [Feature]: Embedded operators for unitary_fidelity, is_reachable Jul 3, 2024
@andgoldschmidt
Copy link
Member Author

Two utilities that would benefit from this change:

  1. unitary_fidelity
  2. is_reachable

@andgoldschmidt andgoldschmidt added enhancement New feature or request and removed bug Something isn't working labels Jul 3, 2024
@andgoldschmidt andgoldschmidt changed the title [Feature]: Embedded operators for unitary_fidelity, is_reachable [Feature]: Embedded operators for control problems and fidelity Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant