Class QuantumGate_Probabilistic

Inheritance Relationships

Base Type

  • public QuantumGateBase

Class Documentation

class QuantumGate_Probabilistic : public QuantumGateBase

Stochastic unitary operations

Public Functions

QuantumGate_Probabilistic(std::vector<double> distribution, std::vector<QuantumGateBase *> gate_list)

Constructor

Parameters
  • distribution: Probability that gate occurs

  • gate_list: List of gate

virtual ~QuantumGate_Probabilistic()
virtual void update_quantum_state(QuantumStateBase *state)

Update quantum state

Parameters
  • state: Quantum state to be updated

virtual QuantumGateBase *copy() const

Generate deep copy of itself

Return

Deep copy of itself

virtual void set_matrix(ComplexMatrix &matrix) const

Set gate matrix of itself

Parameters
  • matrix: Referencing variables to set matrix

Protected Attributes

Random random
std::vector<double> _distribution
std::vector<double> _cumulative_distribution
std::vector<QuantumGateBase *> _gate_list