|
Sequential Quantum Gate Decomposer
v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Depolarizing noise channel: Ï â (1-p)Ï + p·I/2^n. More...
#include <noise_operation.h>

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< IDensityOperation > | clone () const override |
| Create a deep copy of this operation. More... | |
| DepolarizingOp (int qbit_num, double error_rate) | |
| Create depolarizing noise with fixed error rate. More... | |
| DepolarizingOp (int qbit_num) | |
| Create parametric depolarizing noise (1 parameter) 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_qbit_num () const |
| bool | is_parametric () const |
| bool | is_unitary () const override |
| Check if this is a unitary operation (gate) or non-unitary (noise) More... | |
Private Member Functions | |
| void | apply_depolarizing (DensityMatrix &rho, double error_rate) |
Private Attributes | |
| double | fixed_error_rate_ |
| bool | is_parametric_ |
| int | qbit_num_ |
Depolarizing noise channel: Ï â (1-p)Ï + p·I/2^n.
Represents uniform noise that replaces the quantum state with the maximally mixed state with probability p. Physically models interaction with a thermal environment.
Properties:
Can be parametric (error rate from parameter array) or fixed.
Example:
Definition at line 64 of file noise_operation.h.
| squander::density::DepolarizingOp::DepolarizingOp | ( | int | qbit_num, |
| double | error_rate | ||
| ) |
Create depolarizing noise with fixed error rate.
| qbit_num | Number of qubits the noise acts on |
| error_rate | Fixed depolarizing probability p â [0, 1] |
Definition at line 31 of file noise_operation.cpp.

|
explicit |
Create parametric depolarizing noise (1 parameter)
| qbit_num | Number of qubits the noise acts on |
Definition at line 41 of file noise_operation.cpp.
|
private |
Definition at line 69 of file noise_operation.cpp.


|
overridevirtual |
Apply this operation to the density matrix.
| params | Pointer to this operation's parameters (may be nullptr if param_count=0) |
| param_count | Number of parameters for this operation |
| rho | The density matrix to modify in-place |
Implements squander::density::IDensityOperation.
Definition at line 48 of file noise_operation.cpp.


|
overridevirtual |
Create a deep copy of this operation.
Implements squander::density::IDensityOperation.
Definition at line 101 of file noise_operation.cpp.

|
inline |
Definition at line 89 of file noise_operation.h.
|
inlineoverridevirtual |
Get operation name for debugging/display.
Implements squander::density::IDensityOperation.
Definition at line 83 of file noise_operation.h.


|
inlineoverridevirtual |
Get number of free parameters this operation requires.
Implements squander::density::IDensityOperation.
Definition at line 82 of file noise_operation.h.

|
inline |
Definition at line 88 of file noise_operation.h.
|
inline |
|
inlineoverridevirtualinherited |
Check if this is a unitary operation (gate) or non-unitary (noise)
Implements squander::density::IDensityOperation.
Definition at line 38 of file noise_operation.h.

|
private |
Definition at line 94 of file noise_operation.h.
|
private |
Definition at line 95 of file noise_operation.h.
|
private |
Definition at line 93 of file noise_operation.h.
1.8.13