Skip to content

Latest commit

 

History

History
390 lines (215 loc) · 11 KB

class_QPanda_OriginQGate.rst

File metadata and controls

390 lines (215 loc) · 11 KB

pair: class; QPanda::OriginQGate

class QPanda::OriginQGate

Overview

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>, public QPanda::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_t getQuBitVector<doxid-class_q_panda_1_1_origin_q_gate_1abd21f4492afe40943fd216b911658c3f>(QVec<doxid-class_q_panda_1_1_q_vec>&) const; virtual size_t getTargetQubitNum<doxid-class_q_panda_1_1_origin_q_gate_1afb97fe04738cf235ca585a4c151c2f00>() const; virtual size_t getControlQubitNum<doxid-class_q_panda_1_1_origin_q_gate_1a8425692d5f3b68f37e3c59f0d258099a>() const; virtual Qubit<doxid-class_q_panda_1_1_qubit>* popBackQuBit<doxid-class_q_panda_1_1_origin_q_gate_1a1b3a19e040e57af230b251e77fce0b2a>(); virtual QuantumGate<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 void setQGate<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 void remap<doxid-class_q_panda_1_1_origin_q_gate_1a2aa2b6ca3d753ddc7dd372b8227014b0>(QVec<doxid-class_q_panda_1_1_q_vec>); virtual void clear_control<doxid-class_q_panda_1_1_origin_q_gate_1a3ef27230bf8ba1202a06033b6fc82f17>();

};

Inherited Members

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_t getQuBitVector<doxid-class_q_panda_1_1_abstract_q_gate_node_1a0e536c808361e0243bffcdb949f5cc46>(QVec<doxid-class_q_panda_1_1_q_vec>&) const = 0; virtual Qubit<doxid-class_q_panda_1_1_qubit>* popBackQuBit<doxid-class_q_panda_1_1_abstract_q_gate_node_1a16a32117dd9d453c5219bac6a4223aee>() = 0; virtual void PushBackQuBit<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 void setQGate<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 bool isDagger<doxid-class_q_panda_1_1_abstract_q_gate_node_1a741d55580cfb5d2597bd25f3236819a8>() const = 0; virtual size_t getControlVector<doxid-class_q_panda_1_1_abstract_q_gate_node_1ac82c51d31b345c36c0ce5edf2a8411b7>(QVec<doxid-class_q_panda_1_1_q_vec>&) const = 0; virtual void clear_control<doxid-class_q_panda_1_1_abstract_q_gate_node_1a69d17f7abbab8652e30aef0ef472805f>() = 0; virtual bool setDagger<doxid-class_q_panda_1_1_abstract_q_gate_node_1ae930a57233bd67928e5c8abfcd6b1835>(bool) = 0; virtual bool setControl<doxid-class_q_panda_1_1_abstract_q_gate_node_1aff311eda65e1ce1105cf54aa10cf8650>(QVec<doxid-class_q_panda_1_1_q_vec>) = 0; virtual void remap<doxid-class_q_panda_1_1_abstract_q_gate_node_1ac5a171d2e8347715631a79f4a3c96d74>(QVec<doxid-class_q_panda_1_1_q_vec>) = 0;

Detailed Documentation

Implementation class of QGate <doxid-class_q_panda_1_1_q_gate>.

Methods

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>