pyqtorch icon indicating copy to clipboard operation
pyqtorch copied to clipboard

[Feature] Add noisy quantum circuit

Open EthanObadia opened this issue 10 months ago • 0 comments

Pyqtorch has recently incorporated noisy gates through the addition of Kraus operators #148. Consequently, it becomes pertinent to delve into simulating quantum circuits with noise, incorporating these newly introduced gates.

To achieve this, adjustments need to be made on the forward propagation of Primitive and Noise:

  1. Uniformisation: Add the value parameter to the Noise's forward function, using for the parametrization in Primitive.
  2. Different cases: Add and ensure the forward propagation is input type dependant. There are 4 possible forward functions:
  • In Primitive:
    1. The input is a vector state $\ket{\psi} \rightarrow$ apply_operator(op,state)
    2. The input is a density matrix $\rho \rightarrow$ operator_product(op,state,op_dagger)
  • In Noise:
    1. The input is a vector state $\ket{\psi} \rightarrow$ 1) density_mat(state) 2) $\sum_i$operator_product(Ki,state,Ki_dagger)
    2. The input is a density matrix $\rho \rightarrow$ $\sum_i$operator_product(Ki,state,Ki_dagger)

EthanObadia avatar Mar 27 '24 08:03 EthanObadia