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::AmplitudeDampingChannel Class Reference

Amplitude damping (T1 relaxation): |1⟩ → |0⟩ decay. More...

#include <noise_channel.h>

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

Public Member Functions

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

Private Attributes

double gamma_
 Î³ = 1 - exp(-t/T1) More...
 
int target_qbit_
 

Detailed Description

Amplitude damping (T1 relaxation): |1⟩ → |0⟩ decay.

Models energy relaxation from excited state to ground state. Represents spontaneous emission in real quantum systems.

Kraus operators:

where γ = 1 - exp(-t/T1)

Example:

AmplitudeDampingChannel t1_noise(0, 0.05); // 5% amplitude damping on
qubit 0 DensityMatrix rho(2); t1_noise.apply(rho);

Definition at line 105 of file noise_channel.h.

Constructor & Destructor Documentation

◆ AmplitudeDampingChannel()

squander::density::AmplitudeDampingChannel::AmplitudeDampingChannel ( int  target_qbit,
double  gamma 
)

Constructor.

Parameters
target_qbitTarget qubit index
gammaDamping parameter γ = 1 - exp(-t/T1) ∈ [0, 1]
Exceptions
std::invalid_argumentif gamma not in [0,1]

Definition at line 72 of file noise_channel.cpp.

Member Function Documentation

◆ apply()

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

Apply noise channel to density matrix.

Parameters
rhoDensity matrix (modified in-place)

Implements squander::density::NoiseChannel.

Definition at line 80 of file noise_channel.cpp.

Here is the call graph for this function:

◆ get_gamma()

double squander::density::AmplitudeDampingChannel::get_gamma ( ) const
inline

Definition at line 118 of file noise_channel.h.

Here is the caller graph for this function:

◆ get_name()

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

Get channel name.

Implements squander::density::NoiseChannel.

Definition at line 116 of file noise_channel.h.

◆ get_target_qbit()

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

Definition at line 119 of file noise_channel.h.

Here is the caller graph for this function:

Member Data Documentation

◆ gamma_

double squander::density::AmplitudeDampingChannel::gamma_
private

γ = 1 - exp(-t/T1)

Definition at line 123 of file noise_channel.h.

◆ target_qbit_

int squander::density::AmplitudeDampingChannel::target_qbit_
private

Definition at line 122 of file noise_channel.h.


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