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().