Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
List of all members | Public Member Functions | Private Attributes
squander::density::PhaseDampingChannel Class Reference

Phase damping (T2 dephasing): loss of coherence. More...

#include <noise_channel.h>

Inheritance diagram for squander::density::PhaseDampingChannel:
Inheritance graph
[legend]

Public Member Functions

void apply (DensityMatrix &rho) override
 Apply noise channel to density matrix. More...
 
double get_lambda () const
 
std::string get_name () const override
 Get channel name. More...
 
int get_target_qbit () const
 
 PhaseDampingChannel (int target_qbit, double lambda)
 Constructor. More...
 

Private Attributes

double lambda_
 Î» = 1 - exp(-t/T2) More...
 
int target_qbit_
 

Detailed Description

Phase damping (T2 dephasing): loss of coherence.

Models phase randomization without energy loss. Represents decoherence in real quantum systems.

Kraus operators:

where λ = 1 - exp(-t/T2)

Example:

PhaseDampingChannel t2_noise(0, 0.03); // 3% phase damping on qubit 0
DensityMatrix rho(2);
t2_noise.apply(rho);

Definition at line 145 of file noise_channel.h.

Constructor & Destructor Documentation

◆ PhaseDampingChannel()

squander::density::PhaseDampingChannel::PhaseDampingChannel ( int  target_qbit,
double  lambda 
)

Constructor.

Parameters
target_qbitTarget qubit index
lambdaDephasing parameter λ = 1 - exp(-t/T2) ∈ [0, 1]
Exceptions
std::invalid_argumentif lambda not in [0,1]

Definition at line 132 of file noise_channel.cpp.

Member Function Documentation

◆ apply()

void squander::density::PhaseDampingChannel::apply ( DensityMatrix rho)
overridevirtual

Apply noise channel to density matrix.

Parameters
rhoDensity matrix (modified in-place)

Implements squander::density::NoiseChannel.

Definition at line 139 of file noise_channel.cpp.

Here is the call graph for this function:

◆ get_lambda()

double squander::density::PhaseDampingChannel::get_lambda ( ) const
inline

Definition at line 158 of file noise_channel.h.

Here is the caller graph for this function:

◆ get_name()

std::string squander::density::PhaseDampingChannel::get_name ( ) const
inlineoverridevirtual

Get channel name.

Implements squander::density::NoiseChannel.

Definition at line 156 of file noise_channel.h.

◆ get_target_qbit()

int squander::density::PhaseDampingChannel::get_target_qbit ( ) const
inline

Definition at line 159 of file noise_channel.h.

Here is the caller graph for this function:

Member Data Documentation

◆ lambda_

double squander::density::PhaseDampingChannel::lambda_
private

λ = 1 - exp(-t/T2)

Definition at line 163 of file noise_channel.h.

◆ target_qbit_

int squander::density::PhaseDampingChannel::target_qbit_
private

Definition at line 162 of file noise_channel.h.


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