class QPanda::QGate¶
Overview¶
QPanda2 quantum gate basic classs. More…
#include <QGate.h> class QGate: public QPanda::AbstractQGateNode { public: // construction QGate(const QGate&); QGate( QVec&, QuantumGate* ); QGate(std::shared_ptr<AbstractQGateNode> node); // methods NodeType getNodeType() const; virtual size_t getQuBitVector(QVec&) const; virtual size_t getTargetQubitNum() const; virtual size_t getControlQubitNum() const; virtual QuantumGate* getQGate() const; virtual bool setDagger(bool); virtual bool setControl(QVec); std::shared_ptr<AbstractQGateNode> getImplementationPtr(); QGate dagger(); QGate control(QVec); virtual void clear_control(); virtual void remap(QVec); virtual bool isDagger() const; virtual size_t getControlVector(QVec&) const; };
Inherited Members¶
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;
Detailed Documentation¶
QPanda2 quantum gate basic classs.
Methods¶
NodeType getNodeType() const
Get current node type.
Returns:
NodeType current node type
See also:
virtual size_t getQuBitVector(QVec&) const
Get qubit vector inside this quantum gate.
Parameters:
QVec& |
qubit vector |
Returns:
size_t
See also:
virtual size_t getTargetQubitNum() const
Get qubit num inside this quantum gate.
Returns:
size_t qubit num
virtual size_t getControlQubitNum() const
Get control qubit num inside this quantum gate.
Returns:
size_t qubit num
virtual QuantumGate* getQGate() const
Get Quantum Gate.
Returns:
QuantumGate *
virtual bool setDagger(bool)
Set dagger to current quantum gate.
Parameters:
bool |
is dagger |
Returns:
bool
virtual bool setControl(QVec)
Set control qubits to current quantum gate.
Parameters:
control qubits vector |
Returns:
bool
See also:
QGate dagger()
Get a dagger quantumgate base on current quantum gate node.
Returns:
QPanda::QGate quantum gate
QGate control(QVec)
Get a control quantumgate base on current quantum gate node.
Parameters:
control qubits vector |
Returns:
QPanda::QGate quantum gate
See also:
virtual void clear_control()
Clear the control qubits for current quantum gate.
Returns:
virtual void remap(QVec)
remap qubit
Returns:
virtual bool isDagger() const
Judge current quantum gate is dagger.
Returns:
bool
virtual size_t getControlVector(QVec&) const
Get control vector fron current quantum gate node.
Parameters:
QVec& |
qubits vector |
Returns:
size_t
See also: