|
Maestro 0.3.11
Unified interface for quantum circuit simulation
|
#include <FusionGate.h>
Public Types | |
| using | Kind = Circuits::QuantumGateType |
Public Member Functions | |
| void | Apply (ISimulator &sim) const |
| std::vector< FusionGate > | Expand (unsigned width) const |
| bool | IsStructured () const |
| bool | Matches (const FusionGate &other) const |
| Eigen::MatrixXcd | Matrix () const |
| double | SchmidtRank () const |
| Types::qubits_vector | Targets () const |
Static Public Member Functions | |
| static FusionGate | FromCircuit (const Circuits::IQuantumGate<> &gate) |
Public Attributes | |
| Eigen::MatrixXcd | generic |
| Kind | kind = Kind::kNone |
| std::array< double, 4 > | params {} |
| Types::qubits_vector | qubits |
Definition at line 11 of file FusionGate.h.
Definition at line 13 of file FusionGate.h.
|
inline |
Definition at line 161 of file FusionGate.h.
References Simulators::ISimulator::ApplyCCX(), Simulators::ISimulator::ApplyCH(), Simulators::ISimulator::ApplyCP(), Simulators::ISimulator::ApplyCRx(), Simulators::ISimulator::ApplyCRy(), Simulators::ISimulator::ApplyCRz(), Simulators::ISimulator::ApplyCSwap(), Simulators::ISimulator::ApplyCSx(), Simulators::ISimulator::ApplyCSxDAG(), Simulators::ISimulator::ApplyCU(), Simulators::ISimulator::ApplyCX(), Simulators::ISimulator::ApplyCY(), Simulators::ISimulator::ApplyCZ(), Simulators::ISimulator::ApplyGenericOneQubitGate(), Simulators::ISimulator::ApplyGenericThreeQubitGate(), Simulators::ISimulator::ApplyGenericTwoQubitGate(), Simulators::ISimulator::ApplyH(), Simulators::ISimulator::ApplyK(), Simulators::ISimulator::ApplyP(), Simulators::ISimulator::ApplyRx(), Simulators::ISimulator::ApplyRy(), Simulators::ISimulator::ApplyRz(), Simulators::ISimulator::ApplyS(), Simulators::ISimulator::ApplySDG(), Simulators::ISimulator::ApplySwap(), Simulators::ISimulator::ApplySx(), Simulators::ISimulator::ApplySxDAG(), Simulators::ISimulator::ApplyT(), Simulators::ISimulator::ApplyTDG(), Simulators::ISimulator::ApplyU(), Simulators::ISimulator::ApplyX(), Simulators::ISimulator::ApplyY(), Simulators::ISimulator::ApplyZ(), generic, kind, params, and qubits.
Referenced by Simulators::Private::FusionState::SubmitGate().
|
inline |
Definition at line 267 of file FusionGate.h.
Referenced by Simulators::Private::FusionState::SubmitGate().
|
inlinestatic |
Definition at line 112 of file FusionGate.h.
References generic, Circuits::IQuantumGate< Time >::GetGateType(), Circuits::IQuantumGate< Time >::GetMatrix(), Circuits::IGateOperation< Time >::GetNumQubits(), Circuits::IQuantumGate< Time >::GetParams(), Circuits::IGateOperation< Time >::GetQubit(), kind, params, and qubits.
Referenced by Simulators::Private::FusionState::SubmitGate().
|
inline |
Definition at line 132 of file FusionGate.h.
References kind.
|
inline |
|
inline |
Definition at line 27 of file FusionGate.h.
References Circuits::CCXGate< Time >::GetMatrix(), Circuits::CHGate< Time >::GetMatrix(), Circuits::CPGate< Time >::GetMatrix(), Circuits::CRxGate< Time >::GetMatrix(), Circuits::CRyGate< Time >::GetMatrix(), Circuits::CRzGate< Time >::GetMatrix(), Circuits::CSwapGate< Time >::GetMatrix(), Circuits::CSxDagGate< Time >::GetMatrix(), Circuits::CSxGate< Time >::GetMatrix(), Circuits::CUGate< Time >::GetMatrix(), Circuits::CXGate< Time >::GetMatrix(), Circuits::CYGate< Time >::GetMatrix(), Circuits::CZGate< Time >::GetMatrix(), Circuits::HadamardGate< Time >::GetMatrix(), Circuits::KGate< Time >::GetMatrix(), Circuits::PhaseGate< Time >::GetMatrix(), Circuits::RxGate< Time >::GetMatrix(), Circuits::RyGate< Time >::GetMatrix(), Circuits::RzGate< Time >::GetMatrix(), Circuits::SdgGate< Time >::GetMatrix(), Circuits::SGate< Time >::GetMatrix(), Circuits::SwapGate< Time >::GetMatrix(), Circuits::SxDagGate< Time >::GetMatrix(), Circuits::SxGate< Time >::GetMatrix(), Circuits::TdgGate< Time >::GetMatrix(), Circuits::TGate< Time >::GetMatrix(), Circuits::UGate< Time >::GetMatrix(), Circuits::XGate< Time >::GetMatrix(), Circuits::YGate< Time >::GetMatrix(), Circuits::ZGate< Time >::GetMatrix(), kind, params, and qubits.
Referenced by SchmidtRank().
|
inline |
Definition at line 103 of file FusionGate.h.
References kind, Matrix(), params, qubits, and Simulators::RoutingSchmidtRank().
|
inline |
Definition at line 19 of file FusionGate.h.
| Eigen::MatrixXcd Simulators::FusionGate::generic |
Definition at line 17 of file FusionGate.h.
Referenced by Apply(), FromCircuit(), Matches(), and Simulators::Private::FusionState::SubmitGate().
| Kind Simulators::FusionGate::kind = Kind::kNone |
Definition at line 14 of file FusionGate.h.
Referenced by Apply(), Expand(), FromCircuit(), IsStructured(), Matches(), Matrix(), SchmidtRank(), Simulators::Private::FusionState::SubmitGate(), and Targets().
| std::array<double, 4> Simulators::FusionGate::params {} |
Definition at line 16 of file FusionGate.h.
Referenced by Apply(), FromCircuit(), Matches(), Matrix(), SchmidtRank(), and Simulators::Private::FusionState::SubmitGate().
| Types::qubits_vector Simulators::FusionGate::qubits |
Definition at line 15 of file FusionGate.h.
Referenced by Apply(), Expand(), FromCircuit(), Matches(), Matrix(), SchmidtRank(), Simulators::Private::FusionState::SubmitGate(), and Targets().