Looks good to me. I was just not sure, what are all the new utils about the FusedGate for?
I have added that because each layer is $R_z(\theta_1)R_y(\theta_2)$ and to use the error mitigation methods and run the circuit we have to fuse the single qubit gates and transpile the circuit into native gates. But if I use the standard fusemethod in qibo, all the gates will be fused into a single qubit gate in the single qubit case so I have added the option to add "barriers" as identities. This was already implemented in the branch of qibo that this code was compatible with.
I have added that because each layer is $R_z(\theta_1)R_y(\theta_2)$ and to use the error mitigation methods and run the circuit we have to fuse the single qubit gates and transpile the circuit into native gates. But if I use the standard
fuse
method in qibo, all the gates will be fused into a single qubit gate in the single qubit case so I have added the option to add "barriers" as identities. This was already implemented in the branch of qibo that this code was compatible with.