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 Member Functions | Private Attributes
squander::density::LocalDepolarizingOp Class Reference

Local single-qubit depolarizing channel on one target qubit. More...

#include <noise_operation.h>

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

Public Member Functions

void apply_to_density (const double *params, int param_count, DensityMatrix &rho) override
 Apply this operation to the density matrix. More...
 
std::unique_ptr< IDensityOperationclone () const override
 Create a deep copy of this operation. More...
 
double get_error_rate () const
 
std::string get_name () const override
 Get operation name for debugging/display. More...
 
int get_parameter_num () const override
 Get number of free parameters this operation requires. More...
 
int get_target_qbit () const
 
bool is_parametric () const
 
bool is_unitary () const override
 Check if this is a unitary operation (gate) or non-unitary (noise) More...
 
 LocalDepolarizingOp (int target_qbit, double error_rate)
 
 LocalDepolarizingOp (int target_qbit)
 

Private Member Functions

void apply_local_depolarizing (DensityMatrix &rho, double error_rate)
 

Private Attributes

double fixed_error_rate_
 
bool is_parametric_
 
int target_qbit_
 

Detailed Description

Local single-qubit depolarizing channel on one target qubit.

Matches the Qiskit single-qubit depolarizing parameterization: ρ -> (1 - p) ρ + p * I/2 on the target subsystem.

Definition at line 107 of file noise_operation.h.

Constructor & Destructor Documentation

◆ LocalDepolarizingOp() [1/2]

squander::density::LocalDepolarizingOp::LocalDepolarizingOp ( int  target_qbit,
double  error_rate 
)

Definition at line 113 of file noise_operation.cpp.

Here is the caller graph for this function:

◆ LocalDepolarizingOp() [2/2]

squander::density::LocalDepolarizingOp::LocalDepolarizingOp ( int  target_qbit)
explicit

Definition at line 126 of file noise_operation.cpp.

Member Function Documentation

◆ apply_local_depolarizing()

void squander::density::LocalDepolarizingOp::apply_local_depolarizing ( DensityMatrix rho,
double  error_rate 
)
private

Definition at line 154 of file noise_operation.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ apply_to_density()

void squander::density::LocalDepolarizingOp::apply_to_density ( const double *  params,
int  param_count,
DensityMatrix rho 
)
overridevirtual

Apply this operation to the density matrix.

Parameters
paramsPointer to this operation's parameters (may be nullptr if param_count=0)
param_countNumber of parameters for this operation
rhoThe density matrix to modify in-place

Implements squander::density::IDensityOperation.

Definition at line 134 of file noise_operation.cpp.

Here is the call graph for this function:

◆ clone()

std::unique_ptr< IDensityOperation > squander::density::LocalDepolarizingOp::clone ( ) const
overridevirtual

Create a deep copy of this operation.

Returns
Unique pointer to the cloned operation

Implements squander::density::IDensityOperation.

Definition at line 200 of file noise_operation.cpp.

Here is the call graph for this function:

◆ get_error_rate()

double squander::density::LocalDepolarizingOp::get_error_rate ( ) const
inline

Definition at line 121 of file noise_operation.h.

◆ get_name()

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

Get operation name for debugging/display.

Returns
Human-readable name (e.g., "H", "CNOT", "Depolarizing")

Implements squander::density::IDensityOperation.

Definition at line 116 of file noise_operation.h.

Here is the call graph for this function:

◆ get_parameter_num()

int squander::density::LocalDepolarizingOp::get_parameter_num ( ) const
inlineoverridevirtual

Get number of free parameters this operation requires.

Returns
Number of parameters (0 for constant gates/fixed noise)

Implements squander::density::IDensityOperation.

Definition at line 115 of file noise_operation.h.

◆ get_target_qbit()

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

Definition at line 120 of file noise_operation.h.

◆ is_parametric()

bool squander::density::LocalDepolarizingOp::is_parametric ( ) const
inline

Definition at line 122 of file noise_operation.h.

◆ is_unitary()

bool squander::density::NoiseOperation::is_unitary ( ) const
inlineoverridevirtualinherited

Check if this is a unitary operation (gate) or non-unitary (noise)

Returns
true for unitary gates, false for noise channels

Implements squander::density::IDensityOperation.

Definition at line 38 of file noise_operation.h.

Here is the caller graph for this function:

Member Data Documentation

◆ fixed_error_rate_

double squander::density::LocalDepolarizingOp::fixed_error_rate_
private

Definition at line 126 of file noise_operation.h.

◆ is_parametric_

bool squander::density::LocalDepolarizingOp::is_parametric_
private

Definition at line 127 of file noise_operation.h.

◆ target_qbit_

int squander::density::LocalDepolarizingOp::target_qbit_
private

Definition at line 125 of file noise_operation.h.


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