44 virtual std::string
get_name()
const = 0;
77 std::string
get_name()
const override {
return "Depolarizing"; }
116 std::string
get_name()
const override {
return "AmplitudeDamping"; }
156 std::string
get_name()
const override {
return "PhaseDamping"; }
virtual std::string get_name() const =0
Get channel name.
double lambda_
λ = 1 - exp(-t/T2)
virtual ~NoiseChannel()=default
std::string get_name() const override
Get channel name.
std::string get_name() const override
Get channel name.
Amplitude damping (T1 relaxation): |1â© â |0â© decay.
int get_target_qbit() const
Depolarizing channel: Ï â (1-p)Ï + p·I/2^n.
virtual void apply(DensityMatrix &rho)=0
Apply noise channel to density matrix.
Base class for quantum noise channels.
Quantum density matrix Ï for mixed-state representation.
double gamma_
γ = 1 - exp(-t/T1)
double get_error_rate() const
std::string get_name() const override
Get channel name.
int get_target_qbit() const
Phase damping (T2 dephasing): loss of coherence.
double get_lambda() const