Open adriendilonardo opened 1 year ago
Branch 213-Simulating_Pulse_Trains created!
Could not create PR (Update is not a fast forward)
Let's discuss and divide it into tasks that we can individually implement. we want:
_paramUpdated
aware.Is this list complete?
Yes, this list is complete :)
Just some notes in response to the first dot point:
Please describe the expected enhancement
Context
Suggested Implementations
Instead of using nested simulations to simulate these pulse trains, we should use nested protocols:
There are some key points to this implementation:
pulseTrain
protocol generates its unitary in a single step, getting the unitaries from each of the protocols nested within itrisingEdge
is a special protocol class: apulse
object. These objects generate their unitaries using their own simulationflatTop
protocol generates its unitary in a single step using any user-defined function. Here, its unitary creation method points at the built in UJC functionfallingEdge
object is acopyStep
whose superSys is therisingEdge
pulse object. The unitary is generated and stored within itself by applying any user defined function to the unitary of therisingEdge
object. Here, the function is a transpose function, however,risingEdge.fnName
for any arbitrary user-defined functionfnName
will suffice.Note the unitary for fallingEdge should be stored within ITSELF