| 
    QNLP
    v1.0
    
   | 
 
#include <ISimulator.hpp>

Public Member Functions | |
| virtual void | applyGateX (std::size_t qubit_idx)=0 | 
| Apply Pauli-X gate to qubit at qubit_idx.  More... | |
| virtual void | applyGateY (std::size_t qubit_idx)=0 | 
| Apply Pauli-Y gate to qubit at qubit_idx.  More... | |
| virtual void | applyGateZ (std::size_t qubit_idx)=0 | 
| Apply Pauli-Z gate to qubit at qubit_idx.  More... | |
| virtual void | applyGateI (std::size_t qubit_idx)=0 | 
| Apply Identity to qubit at qubit_idx.  More... | |
| virtual void | applyGateH (std::size_t qubit_idx)=0 | 
| Apply Hadamard gate to qubit at qubit_idx.  More... | |
| virtual void | applyGateSqrtX (std::size_t qubit_idx)=0 | 
| Apply \sqrt{Pauli-X} gate to qubit at qubit_idx.  More... | |
| virtual void | applyGateRotX (std::size_t qubit_idx, double angle_rad)=0 | 
| Arbitrary rotation around X axis by angle 'angle_rad' in radians.  More... | |
| virtual void | applyGateRotY (std::size_t qubit_idx, double angle_rad)=0 | 
| Arbitrary rotation around Y axis by angle 'angle_rad' in radians.  More... | |
| virtual void | applyGateRotZ (std::size_t qubit_idx, double angle_rad)=0 | 
| Arbitrary rotation around Z axis by angle 'angle_rad' in radians.  More... | |
| virtual void | applyGateCX (std::size_t control, std::size_t target)=0 | 
| Apply Controlled Pauli-X (CNOT) on target qubit.  More... | |
| virtual void | applyGateCY (std::size_t control, std::size_t target)=0 | 
| Apply Controlled Pauli-Y on target qubit.  More... | |
| virtual void | applyGateCZ (std::size_t control, std::size_t target)=0 | 
| Apply Controlled Pauli-Z on target qubit.  More... | |
| virtual void | applyGateCH (std::size_t control, std::size_t target)=0 | 
| Apply Controlled Hadamard on target qubit.  More... | |
| virtual void | applyGatePhaseShift (double angle, std::size_t qubit_idx)=0 | 
| Apply Phase Shift on specified qubit by angle in radians.  More... | |
| virtual void | applyGateCPhaseShift (double angle, std::size_t control, std::size_t target)=0 | 
| Apply Controlled Phase Shift on specified qubit by angle in radians.  More... | |
| virtual std::size_t | getNumQubits ()=0 | 
| Get the Number of qubits in the simulator.  More... | |
Definition at line 22 of file ISimulator.hpp.
      
  | 
  pure virtual | 
Apply Controlled Hadamard on target qubit.
| control | Qubit index acting as control | 
| target | Qubit index acting as target | 
      
  | 
  pure virtual | 
Apply Controlled Phase Shift on specified qubit by angle in radians.
| angle | Angle of phase shift in rads | 
| control | Qubit index acting as control | 
| target | Qubit index acting as target | 
      
  | 
  pure virtual | 
Apply Controlled Pauli-X (CNOT) on target qubit.
| control | Qubit index acting as control | 
| target | Qubit index acting as target | 
      
  | 
  pure virtual | 
Apply Controlled Pauli-Y on target qubit.
| control | Qubit index acting as control | 
| target | Qubit index acting as target | 
      
  | 
  pure virtual | 
Apply Controlled Pauli-Z on target qubit.
| control | Qubit index acting as control | 
| target | Qubit index acting as target | 
      
  | 
  pure virtual | 
Apply Hadamard gate to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Apply Identity to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Apply Phase Shift on specified qubit by angle in radians.
| angle | Angle of phase shift in rads | 
| qubit_idx | Index of target qubit to perform phase shift upon | 
      
  | 
  pure virtual | 
Arbitrary rotation around X axis by angle 'angle_rad' in radians.
| qubit_idx | Index of qubit to apply rotation upon | 
| angle_rad | Angle of rotation in radians | 
      
  | 
  pure virtual | 
Arbitrary rotation around Y axis by angle 'angle_rad' in radians.
| qubit_idx | Index of qubit to apply rotation upon | 
| angle_rad | Angle of rotation in radians | 
      
  | 
  pure virtual | 
Arbitrary rotation around Z axis by angle 'angle_rad' in radians.
| qubit_idx | Index of qubit to apply rotation upon | 
| angle_rad | Angle of rotation in radians | 
      
  | 
  pure virtual | 
Apply \sqrt{Pauli-X} gate to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Apply Pauli-X gate to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Apply Pauli-Y gate to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Apply Pauli-Z gate to qubit at qubit_idx.
| qubit_idx | Index of qubit to apply gate upon | 
      
  | 
  pure virtual | 
Get the Number of qubits in the simulator.
Referenced by TEST_CASE().
