quantumsim / qsoverlay

An overlay for the quantumsim package developed by Brian Tarasinski (https://github.com/brianzi/quantumsim)
GNU General Public License v3.0
2 stars 4 forks source link

Control of individual gate times #9

Open BorisVarbanov opened 6 years ago

BorisVarbanov commented 6 years ago

Currently adding gates through the circuit builder automatically sets the gate times. However giving the user the option for manual control of individual gate times and of the scheduling used would be useful.

obriente commented 6 years ago

As discussed, I think the best way to proceed is to allow the user to fix some gates as simultaneous. I've written code to do this; passing a tuple of gate descriptions to qsoverlay will now first bring all qubits to the same time to begin with, then it will insert the gates.

I've also updated the add_gate function - it now accepts time as a kwarg, and if passed will a) fix the time of the inserted gate, and b) not update builder.times. I'd be really careful using this though, for example builder.finalize() uses builder.times to decide the length of the finished circuit so these will need to be updated independently or you'll be without T1 and T2 noise.