class QPanda::KarusError

#include <NoiseSimulator.h>

class KarusError
{
public:
    // construction

    KarusError();
    KarusError(const std::vector<QStat>&);

    KarusError(
        const std::vector<QStat>&,
        const std::vector<double>&
        );

    // methods

    bool has_karus_error();
    void set_unitary_probs(std::vector<double>& probs_vec);
    void get_unitary_probs(std::vector<double>& probs_vec) const;
    void set_unitary_matrices(std::vector<QStat>& unitary_matrices);
    void get_unitary_matrices(std::vector<QStat>& unitary_matrices) const;
    void set_karus_matrices(std::vector<QStat>& karus_matrices);
    void get_karus_matrices(std::vector<QStat>& karus_matrices) const;
    KarusError tensor(const KarusError& karus_error);
    KarusError expand(const KarusError& karus_error);
    KarusError compose(const KarusError& karus_error);
    size_t get_qubit_num() const;
    KarusErrorType get_karus_error_type();
};