class QPanda::AbstractQGateNode¶
Overview¶
Quantum gate basic abstract class. More…
#include <QGate.h> class AbstractQGateNode { public: // methods virtual size_t getQuBitVector(QVec&) const = 0; virtual Qubit* popBackQuBit() = 0; virtual void PushBackQuBit(Qubit*) = 0; virtual size_t getTargetQubitNum() const = 0; virtual size_t getControlQubitNum() const = 0; virtual QuantumGate* getQGate() const = 0; virtual void setQGate(QuantumGate*) = 0; virtual bool isDagger() const = 0; virtual size_t getControlVector(QVec&) const = 0; virtual void clear_control() = 0; virtual bool setDagger(bool) = 0; virtual bool setControl(QVec) = 0; virtual void remap(QVec) = 0; }; // direct descendants class OriginQGate; class QGate;
Detailed Documentation¶
Quantum gate basic abstract class.
Methods¶
virtual size_t getQuBitVector(QVec&) const = 0
Get qubit vector inside this quantum gate.
Parameters:
QVec& |
qubit vector |
Returns:
size_t
See also:
virtual Qubit* popBackQuBit() = 0
erase qubit vector element at end
Returns:
Qubit*
virtual void PushBackQuBit(Qubit*) = 0
insert qubit vector element at end
Parameters:
Qubit* |
Qubit pointer |
virtual size_t getTargetQubitNum() const = 0
Get target qubit num inside this quantum gate.
Returns:
size_t qubit num
virtual size_t getControlQubitNum() const = 0
Get control qubit num inside this quantum gate.
Returns:
size_t qubit num
virtual QuantumGate* getQGate() const = 0
Get Quantum Gate.
Returns:
QuantumGate *
virtual void setQGate(QuantumGate*) = 0
Set Quantum Gate.
Parameters:
QuantumGate* |
QuantumGate pointer |
virtual bool isDagger() const = 0
Judge current quantum gate is dagger.
Returns:
bool
virtual size_t getControlVector(QVec&) const = 0
Get control vector fron current quantum gate node.
Parameters:
QVec& |
qubits vector |
Returns:
size_t
See also:
virtual void clear_control() = 0
Clear the control qubits for current quantum gate.
See also:
virtual bool setDagger(bool) = 0
Set dagger to current quantum gate.
Parameters:
bool |
is dagger |
Returns:
bool
virtual bool setControl(QVec) = 0
Set control qubits to current quantum gate.
Parameters:
control qubits vector |
Returns:
bool
See also:
virtual void remap(QVec) = 0
remap qubit
Returns: