Browse Source

Added reset function

Adam Kelly 5 years ago
parent
commit
5623ff392b
1 changed files with 15 additions and 0 deletions
  1. 15 0
      qcgpu/backend.py

+ 15 - 0
qcgpu/backend.py

@@ -364,6 +364,21 @@ class Backend:
         )
 
         return kernel(self.buffer, target).get()
+        
+    def reset(self, target):
+        probability_of_0 = self.qubit_probability(target)
+        norm = 1 / np.sqrt(probability_of_0)
+        
+        program.collapse(
+            self.queue,
+            [int(2**self.num_qubits)],
+            # 2**self.num_qubits,
+            None,
+            self.buffer.data,
+            np.int32(target),
+            np.int32(0),
+            np.float32(norm)
+        )
 
     def measure_collapse(self, target):
         probability_of_0 = self.qubit_probability(target)