Open
Description
A neat way of computing the filter function for an algorithm, given elementary pulses, would be a function that takes a matrix-like structure with one dimension representing the qubit registers and the other time and then assembles the total pulse, intelligently calculating the filter function.
def algorithm(pulses: List[List[PulseSequence]]) -> PulseSequence:
...
alg = algorithm(
[[qubit_1_pulse_1, qubit_1_pulse_2, ... ],
[qubit_2_pulse_1, ... , ... ],
[None , qubit_3_pulse_2, None],
[qubits_45_pulses_12 , ... ]]
)