Quantum++  v1.2
A modern C++11 quantum computing library
qpp::QuditDepolarizingNoise Class Reference

Qudit depolarizing noise. More...

#include <classes/noise.h>

Inheritance diagram for qpp::QuditDepolarizingNoise:
Collaboration diagram for qpp::QuditDepolarizingNoise:

Public Member Functions

 QuditDepolarizingNoise (double p, idx d)
 Qudit depolarizing noise constructor. More...
 
- Public Member Functions inherited from qpp::NoiseBase< NoiseType::StateIndependent >
 NoiseBase (const std::vector< cmat > &Ks, typename std::enable_if< std::is_same< NoiseType::StateDependent, U >::value >::type *=nullptr)
 Constructs a noise instance for StateDependent noise type. More...
 
 NoiseBase (const std::vector< cmat > &Ks, const std::vector< double > &probs, typename std::enable_if< std::is_same< NoiseType::StateIndependent, U >::value >::type *=nullptr)
 Constructs a noise instance for StateIndependent noise type. More...
 
virtual ~NoiseBase ()=default
 Default virtual destructor. More...
 
idx get_d () const noexcept
 Qudit dimension. More...
 
std::vector< cmatget_Ks () const
 Vector of noise operators. More...
 
std::vector< double > get_probs () const
 Vector of probabilities corresponding to each noise operator. More...
 
idx get_last_idx () const
 Index of the last occurring noise element. More...
 
double get_last_p () const
 Probability of the last occurring noise element. More...
 
cmat get_last_K () const
 Last occurring noise element. More...
 
virtual cmat operator() (const cmat &state) const
 Function invocation operator, applies the underlying noise model on the state vector or density matrix state. More...
 
virtual cmat operator() (const cmat &state, idx target) const
 Function invocation operator, applies the underlying noise model on qudit target of the multi-partite state vector or density matrix state. More...
 
virtual cmat operator() (const cmat &state, const std::vector< idx > &target) const
 Function invocation operator, applies the underlying correlated noise model on qudits specified by target of the multi-partite state vector or density matrix state. More...
 

Private Member Functions

std::vector< cmatfill_Ks_ (idx d) const
 Fills the Kraus operator vector. More...
 
std::vector< double > fill_probs_ (double p, idx d) const
 Fills the probability vector. More...
 

Additional Inherited Members

- Public Types inherited from qpp::NoiseBase< NoiseType::StateIndependent >
using noise_type = NoiseType::StateIndependent
 
- Protected Member Functions inherited from qpp::NoiseBase< NoiseType::StateIndependent >
void compute_probs_ (const cmat &state, const std::vector< idx > &target) const
 Compute probability outcomes for StateDependent noise type, otherwise returns without performing any operation (no-op) More...
 
cmat compute_state_ (const cmat &state, const std::vector< idx > &target) const
 Compute the resulting state after the noise was applied. More...
 
- Protected Attributes inherited from qpp::NoiseBase< NoiseType::StateIndependent >
const std::vector< cmatKs_
 Kraus operators. More...
 
std::vector< double > probs_
 probabilities More...
 
idx d_
 qudit dimension More...
 
idx i_
 index of the last occurring noise element More...
 
bool generated_
 invoked, or if the noise is state-independent More...
 

Detailed Description

Qudit depolarizing noise.

Constructor & Destructor Documentation

◆ QuditDepolarizingNoise()

qpp::QuditDepolarizingNoise::QuditDepolarizingNoise ( double  p,
idx  d 
)
inlineexplicit

Qudit depolarizing noise constructor.

Parameters
pNoise probability
dSubsystem dimension

Member Function Documentation

◆ fill_Ks_()

std::vector<cmat> qpp::QuditDepolarizingNoise::fill_Ks_ ( idx  d) const
inlineprivate

Fills the Kraus operator vector.

Parameters
dQudit dimension
Returns
Vector of Kraus operators representing the depolarizing noise

◆ fill_probs_()

std::vector<double> qpp::QuditDepolarizingNoise::fill_probs_ ( double  p,
idx  d 
) const
inlineprivate

Fills the probability vector.

Parameters
pProbability
dQudit dimension
Returns
Probability vector

The documentation for this class was generated from the following file: