pair: class; QPanda::OriginQGate
Implementation class of QGate <doxid-class_q_panda_1_1_q_gate>
. More...<details-class_q_panda_1_1_origin_q_gate>
cpp
#include <QGate.h>
- class OriginQGate:
public
QPanda::QNode<doxid-class_q_panda_1_1_q_node>
, publicQPanda::AbstractQGateNode<doxid-class_q_panda_1_1_abstract_q_gate_node>
{ public: // construction
OriginQGate<doxid-class_q_panda_1_1_origin_q_gate_1a6bdd4074354f640ec28689997633e7b8>
(
QVec<doxid-class_q_panda_1_1_q_vec>
&,QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
* );// methods
virtual
NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
getNodeType<doxid-class_q_panda_1_1_origin_q_gate_1a289a189f32d4fc2f3b39f60f43ed9ef4>
() const; virtual size_tgetQuBitVector<doxid-class_q_panda_1_1_origin_q_gate_1abd21f4492afe40943fd216b911658c3f>
(QVec<doxid-class_q_panda_1_1_q_vec>
&) const; virtual size_tgetTargetQubitNum<doxid-class_q_panda_1_1_origin_q_gate_1afb97fe04738cf235ca585a4c151c2f00>
() const; virtual size_tgetControlQubitNum<doxid-class_q_panda_1_1_origin_q_gate_1a8425692d5f3b68f37e3c59f0d258099a>
() const; virtualQubit<doxid-class_q_panda_1_1_qubit>
*popBackQuBit<doxid-class_q_panda_1_1_origin_q_gate_1a1b3a19e040e57af230b251e77fce0b2a>
(); virtualQuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
*getQGate<doxid-class_q_panda_1_1_origin_q_gate_1a86a84d652e3bc4259db0ccbd6ab82f77>
() const; virtual voidsetQGate<doxid-class_q_panda_1_1_origin_q_gate_1a56c6c33f9aa4f6e7117617c0569175c5>
(QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
); virtual bool :ref:`setDagger<doxid-class_q_panda_1_1_origin_q_gate_1a92e412a3fe47a10b001dbd8cc4f15346>`(bool); virtual bool :ref:`setControl<doxid-class_q_panda_1_1_origin_q_gate_1a252fb142c39d234bed82332ce13b1c46>`(:ref:`QVec<doxid-class_q_panda_1_1_q_vec>`); virtual bool :ref:`isDagger<doxid-class_q_panda_1_1_origin_q_gate_1ac2f8642b4fafff5c9789319673d2a1d4>`() const; virtual size_t :ref:`getControlVector<doxid-class_q_panda_1_1_origin_q_gate_1a3a3c35274292c34bc7fb74ac7be21aa1>`(:ref:`QVec<doxid-class_q_panda_1_1_q_vec>`&) const; virtual void :ref:`PushBackQuBit<doxid-class_q_panda_1_1_origin_q_gate_1ab2b18fc595acbe9c64a365cf6ac957c4>`(:ref:`Qubit<doxid-class_q_panda_1_1_qubit>`); virtual voidremap<doxid-class_q_panda_1_1_origin_q_gate_1a2aa2b6ca3d753ddc7dd372b8227014b0>
(QVec<doxid-class_q_panda_1_1_q_vec>
); virtual voidclear_control<doxid-class_q_panda_1_1_origin_q_gate_1a3ef27230bf8ba1202a06033b6fc82f17>
();
};
cpp
- public:
// methods
virtual
NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
getNodeType<doxid-class_q_panda_1_1_q_node_1a8e8793fe1aabcd13db3ed1f79892c011>
() const = 0; virtual size_tgetQuBitVector<doxid-class_q_panda_1_1_abstract_q_gate_node_1a0e536c808361e0243bffcdb949f5cc46>
(QVec<doxid-class_q_panda_1_1_q_vec>
&) const = 0; virtualQubit<doxid-class_q_panda_1_1_qubit>
*popBackQuBit<doxid-class_q_panda_1_1_abstract_q_gate_node_1a16a32117dd9d453c5219bac6a4223aee>
() = 0; virtual voidPushBackQuBit<doxid-class_q_panda_1_1_abstract_q_gate_node_1a6eff60e20adc05b09f142506716b11a4>
(Qubit<doxid-class_q_panda_1_1_qubit>
) = 0; virtual size_t :ref:`getTargetQubitNum<doxid-class_q_panda_1_1_abstract_q_gate_node_1aba498aceb9db852cf5f52febf01c67c1>`() const = 0; virtual size_t :ref:`getControlQubitNum<doxid-class_q_panda_1_1_abstract_q_gate_node_1a5f01c3abe784f28ab97f1bf7c9846be0>`() const = 0; virtual :ref:`QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>`getQGate<doxid-class_q_panda_1_1_abstract_q_gate_node_1afdc702d1ca93eb404b532fac032bd61d>
() const = 0; virtual voidsetQGate<doxid-class_q_panda_1_1_abstract_q_gate_node_1af754b29a705224c2b8569594bb59c35d>
(QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
*) = 0; virtual boolisDagger<doxid-class_q_panda_1_1_abstract_q_gate_node_1a741d55580cfb5d2597bd25f3236819a8>
() const = 0; virtual size_tgetControlVector<doxid-class_q_panda_1_1_abstract_q_gate_node_1ac82c51d31b345c36c0ce5edf2a8411b7>
(QVec<doxid-class_q_panda_1_1_q_vec>
&) const = 0; virtual voidclear_control<doxid-class_q_panda_1_1_abstract_q_gate_node_1a69d17f7abbab8652e30aef0ef472805f>
() = 0; virtual boolsetDagger<doxid-class_q_panda_1_1_abstract_q_gate_node_1ae930a57233bd67928e5c8abfcd6b1835>
(bool) = 0; virtual boolsetControl<doxid-class_q_panda_1_1_abstract_q_gate_node_1aff311eda65e1ce1105cf54aa10cf8650>
(QVec<doxid-class_q_panda_1_1_q_vec>
) = 0; virtual voidremap<doxid-class_q_panda_1_1_abstract_q_gate_node_1ac5a171d2e8347715631a79f4a3c96d74>
(QVec<doxid-class_q_panda_1_1_q_vec>
) = 0;
Implementation class of QGate <doxid-class_q_panda_1_1_q_gate>
.
pair: function; getNodeType
cpp
virtual NodeType<doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
getNodeType() const
Get current node type.
Returns:
NodeType current node type
See also:
NodeType <doxid-_q_global_variable_8h_1acac9cbaeea226ed297804c012dc12b16>
pair: function; getQuBitVector
cpp
virtual size_t getQuBitVector(QVec<doxid-class_q_panda_1_1_q_vec>
&) const
Get qubit vector inside this quantum gate.
Parameters:
Returns:
size_t
See also:
GateType <doxid-_q_global_variable_8h_1a842ca6790f315b3f79faf3cda6d6789c>
pair: function; getTargetQubitNum
cpp
virtual size_t getTargetQubitNum() const
Get target qubit num inside this quantum gate.
Returns:
size_t qubit num
pair: function; getControlQubitNum
cpp
virtual size_t getControlQubitNum() const
Get control qubit num inside this quantum gate.
Returns:
size_t qubit num
pair: function; popBackQuBit
cpp
virtual Qubit<doxid-class_q_panda_1_1_qubit>
* popBackQuBit()
erase qubit vector element at end
Returns:
Qubit*
pair: function; getQGate
cpp
virtual QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
* getQGate() const
Get Quantum Gate.
Returns:
QuantumGate *
pair: function; setQGate
cpp
virtual void setQGate(QuantumGate<doxid-class_q_g_a_t_e___s_p_a_c_e_1_1_quantum_gate>
*)
Set Quantum Gate.
Parameters:
pair: function; setDagger
cpp
virtual bool setDagger(bool)
Set dagger to current quantum gate.
Parameters:
Returns:
bool
pair: function; setControl
cpp
virtual bool setControl(QVec<doxid-class_q_panda_1_1_q_vec>
)
Set control qubits to current quantum gate.
Parameters:
Returns:
bool
See also:
QVec <doxid-class_q_panda_1_1_q_vec>
pair: function; isDagger
cpp
virtual bool isDagger() const
Judge current quantum gate is dagger.
Returns:
bool
pair: function; getControlVector
cpp
virtual size_t getControlVector(QVec<doxid-class_q_panda_1_1_q_vec>
&) const
Get control vector fron current quantum gate node.
Parameters:
Returns:
size_t
See also:
QVec <doxid-class_q_panda_1_1_q_vec>
pair: function; PushBackQuBit
cpp
virtual void PushBackQuBit(Qubit<doxid-class_q_panda_1_1_qubit>
*)
insert qubit vector element at end
Parameters:
pair: function; remap
cpp
virtual void remap(QVec<doxid-class_q_panda_1_1_q_vec>
)
remap qubit
Returns:
pair: function; clear_control
cpp
virtual void clear_control()
Clear the control qubits for current quantum gate.
See also:
QVec <doxid-class_q_panda_1_1_q_vec>