.. index:: pair: class; QPanda::PauliOp .. _doxid-class_q_panda_1_1_pauli_op: template class QPanda::PauliOp ============================== .. toctree:: :hidden: Overview ~~~~~~~~ Pauli operator class. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include template class PauliOp { public: // typedefs typedef std::pair`> :target:`PauliItem`; typedef std::vector<:ref:`PauliItem`> :target:`PauliData`; typedef std::map`> :target:`PauliMap`; // construction :ref:`PauliOp`(); :target:`PauliOp`(const :ref:`T`& value); :target:`PauliOp`(double value); :target:`PauliOp`( const std::string& key, const :ref:`T`& value ); :target:`PauliOp`(const :ref:`PauliMap`& map); :target:`PauliOp`(PauliOp&& op); :target:`PauliOp`(const PauliOp& op); :target:`PauliOp`(:ref:`PauliData`&& pauli); :target:`PauliOp`(const :ref:`PauliData`& pauli); // methods PauliOp& :target:`operator =` (const PauliOp& op); PauliOp& :target:`operator =` (PauliOp&& op); PauliOp :ref:`dagger`() const; PauliOp :ref:`remapQubitIndex`(std::map& index_map); size_t :ref:`getMaxIndex`(); bool :ref:`isEmpty`(); bool :ref:`isAllPauliZorI`(); void :ref:`setErrorThreshold`(double threshold); double :ref:`error_threshold`() const; std::string :ref:`toString`() const; :ref:`PauliData` :ref:`data`() const; QHamiltonian :ref:`toHamiltonian`(bool* ok = nullptr) const; PauliOp :ref:`operator +` (const PauliOp& rhs) const; PauliOp :ref:`operator -` (const PauliOp& rhs) const; PauliOp :ref:`operator *` (const PauliOp& rhs) const; PauliOp& :ref:`operator +=` (const PauliOp& rhs); PauliOp& :ref:`operator -=` (const PauliOp& rhs); PauliOp& :ref:`operator *=` (const PauliOp& rhs); }; .. _details-class_q_panda_1_1_pauli_op: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Pauli operator class. Construction ------------ .. index:: pair: function; PauliOp .. _doxid-class_q_panda_1_1_pauli_op_1a9815d5433225e566a21f3d19bcbe5d7c: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp() Constructor of :ref:`PauliOp ` class. Methods ------- .. index:: pair: function; dagger .. _doxid-class_q_panda_1_1_pauli_op_1a499271559b14d78c63c4ef48b61c3f5a: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp dagger() const get the Transposed conjugate matrix .. rubric:: Returns: :ref:`PauliOp ` return the Transposed conjugate matrix .. index:: pair: function; remapQubitIndex .. _doxid-class_q_panda_1_1_pauli_op_1aca2197981a42eb94ddccf73c0467d5b1: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp remapQubitIndex(std::map& index_map) remap qubit index .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - std::map& - qubit index map .. rubric:: Returns: :ref:`PauliOp ` return remapped qubit index map .. index:: pair: function; getMaxIndex .. _doxid-class_q_panda_1_1_pauli_op_1af4d431d9eed6f123a32b5203cc063027: .. ref-code-block:: cpp :class: doxyrest-title-code-block size_t getMaxIndex() get the max index .. rubric:: Returns: size_t the max index .. index:: pair: function; isEmpty .. _doxid-class_q_panda_1_1_pauli_op_1a31d6d3bb84aa3debcd85bbef231309fc: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isEmpty() Judge whether it is empty. .. rubric:: Returns: bool if data is empty, return true, or else return false .. index:: pair: function; isAllPauliZorI .. _doxid-class_q_panda_1_1_pauli_op_1aa0dd2e9cb815ed793c5eabf275b8c76d: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool isAllPauliZorI() Judge whether all of data is "Z". .. rubric:: Returns: bool if all data is "Z", return true, or else return false .. index:: pair: function; setErrorThreshold .. _doxid-class_q_panda_1_1_pauli_op_1a8b95cdfc2791383ef37a3971951bfa6c: .. ref-code-block:: cpp :class: doxyrest-title-code-block void setErrorThreshold(double threshold) set error threshold .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - double - threshold val .. index:: pair: function; error_threshold .. _doxid-class_q_panda_1_1_pauli_op_1a1f089bda4a44272deae129675396210f: .. ref-code-block:: cpp :class: doxyrest-title-code-block double error_threshold() const get error threshold .. rubric:: Returns: double return the error threshold val .. index:: pair: function; toString .. _doxid-class_q_panda_1_1_pauli_op_1aefa7ba3179d1f1e1e228388ae19231f4: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::string toString() const data to string .. rubric:: Returns: std::string convert data val to string .. index:: pair: function; data .. _doxid-class_q_panda_1_1_pauli_op_1a409e2a18d8c04189f32d93662d471a83: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`PauliData` data() const get data .. rubric:: Returns: PauliData return Pauli data .. index:: pair: function; toHamiltonian .. _doxid-class_q_panda_1_1_pauli_op_1a8108a6c5ce3a841bef877ad8acbfd5e0: .. ref-code-block:: cpp :class: doxyrest-title-code-block QHamiltonian toHamiltonian(bool* ok = nullptr) const convert data to Hamiltonian .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - bool\* - save the convert result, default is nullptr .. rubric:: Returns: QHamiltonian the convert result .. index:: pair: function; operator+ .. _doxid-class_q_panda_1_1_pauli_op_1aea667fb76deb422536b30a46d699d26a: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp operator + (const PauliOp& rhs) const overload + .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left + PauliOp_right) .. index:: pair: function; operator- .. _doxid-class_q_panda_1_1_pauli_op_1acabf9859cc7ec060674fe8e8ac0dd436: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp operator - (const PauliOp& rhs) const overload - .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left - PauliOp_right) .. index:: pair: function; operator* .. _doxid-class_q_panda_1_1_pauli_op_1afcc8b975f91a92c743a55f46a26a071d: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp operator * (const PauliOp& rhs) const overload \* .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left \* PauliOp_right) .. index:: pair: function; operator+= .. _doxid-class_q_panda_1_1_pauli_op_1a27be3f087ea755a6f215362c5da07927: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp& operator += (const PauliOp& rhs) overload += .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left += PauliOp_right) .. index:: pair: function; operator-= .. _doxid-class_q_panda_1_1_pauli_op_1ac708f5038b0de144ef7e769ef774dc57: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp& operator -= (const PauliOp& rhs) overload -= .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left -= PauliOp_right) .. index:: pair: function; operator*= .. _doxid-class_q_panda_1_1_pauli_op_1a8471110ff429d2a4b1b0f16064facc14: .. ref-code-block:: cpp :class: doxyrest-title-code-block PauliOp& operator *= (const PauliOp& rhs) overload \*= .. rubric:: Returns: :ref:`PauliOp ` return (PauliOp_left \*= PauliOp_right)