|
Sequential Quantum Gate Decomposer
v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
|
Interface for any operation that can be applied to a density matrix. More...
#include <density_operation.h>

Public Member Functions | |
| virtual void | apply_to_density (const double *params, int param_count, DensityMatrix &rho)=0 |
| Apply this operation to the density matrix. More... | |
| virtual std::unique_ptr< IDensityOperation > | clone () const =0 |
| Create a deep copy of this operation. More... | |
| virtual std::string | get_name () const =0 |
| Get operation name for debugging/display. More... | |
| virtual int | get_parameter_num () const =0 |
| Get number of free parameters this operation requires. More... | |
| virtual bool | is_unitary () const =0 |
| Check if this is a unitary operation (gate) or non-unitary (noise) More... | |
| virtual | ~IDensityOperation ()=default |
Interface for any operation that can be applied to a density matrix.
This is the core abstraction that unifies unitary gates and noise channels. Each operation knows how to apply itself efficiently to a density matrix using optimized local kernel application (O(4^N) instead of O(8^N)).
Example implementations:
Definition at line 41 of file density_operation.h.
|
virtualdefault |
|
pure virtual |
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 |
Implemented in squander::density::PhaseDampingOp, squander::density::AmplitudeDampingOp, squander::density::LocalDepolarizingOp, squander::density::DepolarizingOp, and squander::density::GateOperation.
|
pure virtual |
Create a deep copy of this operation.
Implemented in squander::density::PhaseDampingOp, squander::density::AmplitudeDampingOp, squander::density::LocalDepolarizingOp, squander::density::DepolarizingOp, and squander::density::GateOperation.

|
pure virtual |
Get operation name for debugging/display.
Implemented in squander::density::PhaseDampingOp, squander::density::AmplitudeDampingOp, squander::density::LocalDepolarizingOp, squander::density::DepolarizingOp, and squander::density::GateOperation.
|
pure virtual |
Get number of free parameters this operation requires.
Implemented in squander::density::PhaseDampingOp, squander::density::AmplitudeDampingOp, squander::density::LocalDepolarizingOp, squander::density::DepolarizingOp, and squander::density::GateOperation.
|
pure virtual |
Check if this is a unitary operation (gate) or non-unitary (noise)
Implemented in squander::density::GateOperation, and squander::density::NoiseOperation.

1.8.13