qadence icon indicating copy to clipboard operation
qadence copied to clipboard

[Refac] Merge `run` and `run_dm` in the backends

Open EthanObadia opened this issue 8 months ago • 0 comments

This issue includes several tasks for refactoring and adding noise in Qadence:

Merge run and run_dm in the backends:

  • [x] Remove the run_dm method from the abstract class Backend, the Horcrux, Bracket and Pyqtorch classes..
  • [x] Merge the run_dm and run methods in the Pulser backend class.
  • [x] Modify the unpyqfy method to represent the output density matrix as tensor. Closes #428

Add the noise gates from pyq:

  • [x] Add an optional noise parameter to the PrimitiveBlock class
  • [x] Add an optional noise parameter to the ParametricBlock class
  • [ ] Update the Primitive and Parametric block instances class to support the noise attribute.
  • [x] Add pyq's protocols to the Noise Class.
  • [ ] Modify the convert_block function:
  • [ ] Add a constructor in pyq: Closes #423

Add the noise features:

  • [ ] Create a function to add a noise protocol after every gate in a circuit.
  • [ ] Create a function to add a noise protocol after a specific type of gate in a circuit. (Will open an issue)

EthanObadia avatar Jun 19 '24 11:06 EthanObadia