.. index:: pair: class; MPS_Tensor .. _doxid-class_m_p_s___tensor: class MPS_Tensor ================ .. toctree:: :hidden: .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class MPS_Tensor { public: // fields std::vector<:ref:`cmatrix_t`> :target:`m_physical_index`; // construction :target:`MPS_Tensor`(); :target:`MPS_Tensor`( const :ref:`cmatrix_t`& data0, const :ref:`cmatrix_t`& data1 ); // methods size_t :target:`get_dim`() const; std::vector<:ref:`cmatrix_t`> :target:`get_data`() const; :ref:`cmatrix_t` :target:`get_data`(size_t i) const; void :target:`apply_swap`(); void :target:`apply_matrix`( const :ref:`cmatrix_t`& mat, bool swapped = false ); void :target:`mul_gamma_by_left_lambda`(const :ref:`rvector_t`& Lambda); void :target:`mul_gamma_by_right_lambda`(const :ref:`rvector_t`& Lambda); void :target:`div_gamma_by_left_lambda`(const :ref:`rvector_t`& Lambda); void :target:`div_gamma_by_right_lambda`(const :ref:`rvector_t`& Lambda); void :target:`apply_pauli`(:ref:`GateType` gate); static MPS_Tensor :target:`contract`( const MPS_Tensor& left_gamma, const :ref:`rvector_t`& lambda, const MPS_Tensor& right_gamma ); static void :target:`decompose`( MPS_Tensor& temp, MPS_Tensor& left_gamma, :ref:`rvector_t`& lambda, MPS_Tensor& right_gamma ); static void :target:`contract_2_dimensions`( const MPS_Tensor& left_gamma, const MPS_Tensor& right_gamma, :ref:`cmatrix_t`& result ); };