Class GeneralQuantumOperator¶
Defined in File general_quantum_operator.hpp
Inheritance Relationships¶
Derived Type¶
public HermitianQuantumOperator
(Class HermitianQuantumOperator)
Class Documentation¶
-
class GeneralQuantumOperator¶
Subclassed by HermitianQuantumOperator
Public Functions
-
explicit GeneralQuantumOperator(const UINT qubit_count)¶
-
GeneralQuantumOperator(const GeneralQuantumOperator &obj)¶
-
virtual ~GeneralQuantumOperator()¶
-
inline virtual bool is_hermitian() const¶
-
virtual void add_operator(const PauliOperator *mpt)¶
-
virtual void add_operator_move(PauliOperator *mpt)¶
-
virtual void add_operator_copy(const PauliOperator *mpt)¶
-
virtual void add_operator(const std::vector<UINT> &target_qubit_index_list, const std::vector<UINT> &target_qubit_pauli_list, CPPCTYPE coef)¶
-
inline virtual UINT get_qubit_count() const¶
-
inline virtual ITYPE get_state_dim() const¶
-
inline virtual UINT get_term_count() const¶
-
inline virtual const PauliOperator *get_term(UINT index) const¶
-
inline virtual std::vector<PauliOperator*> get_terms() const¶
-
virtual GeneralQuantumOperator *get_dagger() const¶
-
virtual std::string to_string() const¶
-
virtual CPPCTYPE get_expectation_value(const QuantumStateBase *state) const¶
-
virtual CPPCTYPE get_expectation_value_single_thread(const QuantumStateBase *state) const¶
-
virtual CPPCTYPE get_transition_amplitude(const QuantumStateBase *state_bra, const QuantumStateBase *state_ket) const¶
-
void add_random_operator(const UINT operator_count)¶
-
void add_random_operator(const UINT operator_count, UINT seed)¶
-
virtual CPPCTYPE solve_ground_state_eigenvalue_by_arnoldi_method(QuantumStateBase *state, const UINT iter_count, const CPPCTYPE mu = 0.0) const¶
-
virtual CPPCTYPE solve_ground_state_eigenvalue_by_power_method(QuantumStateBase *state, const UINT iter_count, const CPPCTYPE mu = 0.0) const¶
-
void apply_to_state(QuantumStateBase *work_state, const QuantumStateBase &state_to_be_multiplied, QuantumStateBase *dst_state) const¶
-
void apply_to_state(QuantumStateBase *state, QuantumStateBase *dst_state) const¶
-
void apply_to_state_single_thread(QuantumStateBase *state, QuantumStateBase *dst_state) const¶
-
virtual GeneralQuantumOperator *copy() const¶
-
SparseComplexMatrixRowMajor get_matrix() const¶
-
virtual boost::property_tree::ptree to_ptree() const¶
-
GeneralQuantumOperator operator+(const GeneralQuantumOperator &target) const¶
-
GeneralQuantumOperator operator+(const PauliOperator &target) const¶
-
GeneralQuantumOperator &operator+=(const GeneralQuantumOperator &target)¶
-
GeneralQuantumOperator &operator+=(const PauliOperator &target)¶
-
GeneralQuantumOperator operator-(const GeneralQuantumOperator &target) const¶
-
GeneralQuantumOperator operator-(const PauliOperator &target) const¶
-
GeneralQuantumOperator &operator-=(const GeneralQuantumOperator &target)¶
-
GeneralQuantumOperator &operator-=(const PauliOperator &target)¶
-
GeneralQuantumOperator operator*(const GeneralQuantumOperator &target) const¶
-
GeneralQuantumOperator operator*(const PauliOperator &target) const¶
-
GeneralQuantumOperator operator*(CPPCTYPE target) const¶
-
GeneralQuantumOperator &operator*=(const GeneralQuantumOperator &target)¶
-
GeneralQuantumOperator &operator*=(const PauliOperator &target)¶
-
GeneralQuantumOperator &operator*=(CPPCTYPE target)¶
Protected Functions
-
void _apply_pauli_to_state(std::vector<UINT> pauli_id_list, std::vector<UINT> target_index_list, QuantumStateBase *state) const¶
-
void _apply_pauli_to_state_single_thread(std::vector<UINT> pauli_id_list, std::vector<UINT> target_index_list, QuantumStateBase *state) const¶
-
explicit GeneralQuantumOperator(const UINT qubit_count)¶