RoboticExplorationLab / Altro.jl

MIT License
139 stars 41 forks source link

Including gauge degrees of freedom #45

Open Phionx opened 1 year ago

Phionx commented 1 year ago

Hi!

I'm exploring using ALTRO for quantum dynamics control, as inspired by https://github.com/SchusterLab/rbqoc

I'm wondering if there's anyway to handle gauge degrees of freedom.

For example, we may try to optimize controls that bring us from [1, 0] to [1/sqrt(2), 1/sqrt(2)]. In this case, controls that bring us from [1, 0] to [im/sqrt(2), im/sqrt(2)] would also suffice, as we don't care about global phase for quantum states.

We have a method to deal with it by including a global phase control degree of freedom at each time step. This, however, adds 1000 control variables, if we have 1000 time steps. In reality, we only need one global phase degree of freedom variable between the final state and the target state.

Global phase is one of several gauge degrees of freedom we would like to include, so it would be great to find a scalable solution for this issue.

Is there already something built up to handle this?

If not, one potential solution may be the option to treat the dynamics at the final time step differently, and allow for control variables that only affect that final time step.

Thanks so much!

cc: @bobisnot