|
Maestro 0.2.11
Unified interface for quantum circuit simulation
|
#include <MPSDummySimulator.h>
Public Types | |
| using | GateClass = QC::TensorNetworks::MPSSimulatorInterface::GateClass |
| using | IndexType = long long int |
| using | MatrixClass = QC::TensorNetworks::MPSSimulatorInterface::MatrixClass |
Public Member Functions | |
| MPSDummySimulator (size_t N) | |
| void | ApplyGate (const GateClass &gate, IndexType qubit, IndexType controllingQubit1=0) |
| void | ApplyGate (const QC::Gates::AppliedGate< MatrixClass > &gate) |
| void | ApplyGate (const std::shared_ptr< Circuits::IOperation<> > &gate) |
| void | ApplyGates (const std::vector< QC::Gates::AppliedGate< MatrixClass > > &gates) |
| void | ApplyGates (const std::vector< std::shared_ptr< Circuits::IOperation<> > > &gates) |
| void | Clear () |
| std::unique_ptr< MPSDummySimulator > | Clone () const |
| std::vector< long long int > | ComputeOptimalQubitsMap (const std::vector< std::shared_ptr< Circuits::Circuit<> > > &layers, int nrShuffles=25, int nrSwaps=10) |
| void | EvaluateMeetingPositionCost (IndexType meetPosition, const std::vector< std::shared_ptr< Circuits::IOperation<> > > &upcomingGates, long long int currentGateIndex, int lookaheadDepth, int lookaheadDepthWithHeuristic, double currentCost, double &bestCost, bool useSameDummy=false) |
| IndexType | FindBestMeetingPosition (const std::vector< std::shared_ptr< Circuits::IOperation<> > > &upcomingGates, long long int currentGateIndex, int lookaheadDepth, int lookaheadDepthWithHeuristic, double currentCost, double &bestCost) |
| const std::vector< double > & | getCurrentBondDimensions () const |
| double | getGrowthFactorGate () const |
| double | getGrowthFactorSwap () const |
| const std::vector< double > & | getMaxBondDimensions () const |
| size_t | getNrQubits () const |
| const std::vector< IndexType > & | getQubitsMap () const |
| const std::vector< IndexType > & | getQubitsMapInv () const |
| double | getTotalSwappingCost () const |
| void | print () const |
| void | SetCurrentBondDimensions (const std::vector< double > &dims) |
| void | setGrowthFactorGate (double factor) |
| void | setGrowthFactorSwap (double factor) |
| void | SetInitialQubitsMap (const std::vector< long long int > &initialMap) |
| void | SetMaxBondDimension (IndexType val) |
| void | setTotalSwappingCost (double cost) |
| void | SwapQubitsToPosition (IndexType qubit1, IndexType qubit2, IndexType meetPosition) |
Definition at line 33 of file MPSDummySimulator.h.
| using Simulators::MPSDummySimulator::GateClass = QC::TensorNetworks::MPSSimulatorInterface::GateClass |
Definition at line 37 of file MPSDummySimulator.h.
| using Simulators::MPSDummySimulator::IndexType = long long int |
Definition at line 35 of file MPSDummySimulator.h.
| using Simulators::MPSDummySimulator::MatrixClass = QC::TensorNetworks::MPSSimulatorInterface::MatrixClass |
Definition at line 36 of file MPSDummySimulator.h.
|
inline |
Definition at line 39 of file MPSDummySimulator.h.
References SetMaxBondDimension().
Referenced by Clone(), and EvaluateMeetingPositionCost().
|
inline |
Definition at line 178 of file MPSDummySimulator.h.
References getNrQubits().
|
inline |
Definition at line 134 of file MPSDummySimulator.h.
References ApplyGate().
Referenced by ApplyGate(), ApplyGate(), ApplyGates(), ApplyGates(), and EvaluateMeetingPositionCost().
|
inline |
Definition at line 138 of file MPSDummySimulator.h.
References ApplyGate(), Circuits::kCCXGateType, and Circuits::kGate.
|
inline |
Definition at line 212 of file MPSDummySimulator.h.
References ApplyGate().
Referenced by ComputeOptimalQubitsMap().
|
inline |
Definition at line 217 of file MPSDummySimulator.h.
References ApplyGate().
|
inline |
Definition at line 71 of file MPSDummySimulator.h.
|
inline |
Definition at line 45 of file MPSDummySimulator.h.
References MPSDummySimulator().
|
inline |
Definition at line 442 of file MPSDummySimulator.h.
References ApplyGates(), getNrQubits(), getTotalSwappingCost(), and SetInitialQubitsMap().
Referenced by Network::SimpleDisconnectedNetwork< Time, Controller >::OptimizeMPSInitialQubitsMap().
|
inline |
importanceFactor
Definition at line 258 of file MPSDummySimulator.h.
References MPSDummySimulator(), ApplyGate(), FindBestMeetingPosition(), getTotalSwappingCost(), and SwapQubitsToPosition().
Referenced by FindBestMeetingPosition().
|
inline |
Definition at line 385 of file MPSDummySimulator.h.
References EvaluateMeetingPositionCost().
Referenced by EvaluateMeetingPositionCost().
|
inline |
Definition at line 242 of file MPSDummySimulator.h.
|
inline |
Definition at line 66 of file MPSDummySimulator.h.
|
inline |
Definition at line 65 of file MPSDummySimulator.h.
|
inline |
Definition at line 246 of file MPSDummySimulator.h.
|
inline |
Definition at line 63 of file MPSDummySimulator.h.
Referenced by ApplyGate(), and ComputeOptimalQubitsMap().
|
inline |
Definition at line 248 of file MPSDummySimulator.h.
|
inline |
Definition at line 250 of file MPSDummySimulator.h.
|
inline |
Definition at line 253 of file MPSDummySimulator.h.
Referenced by ComputeOptimalQubitsMap(), and EvaluateMeetingPositionCost().
|
inline |
Definition at line 127 of file MPSDummySimulator.h.
|
inline |
Definition at line 232 of file MPSDummySimulator.h.
|
inline |
Definition at line 69 of file MPSDummySimulator.h.
Referenced by Network::SimpleDisconnectedNetwork< Time, Controller >::OptimizeMPSInitialQubitsMap().
|
inline |
Definition at line 68 of file MPSDummySimulator.h.
Referenced by Network::SimpleDisconnectedNetwork< Time, Controller >::OptimizeMPSInitialQubitsMap().
|
inline |
Definition at line 222 of file MPSDummySimulator.h.
Referenced by ComputeOptimalQubitsMap().
|
inline |
Definition at line 73 of file MPSDummySimulator.h.
Referenced by MPSDummySimulator(), and Network::SimpleDisconnectedNetwork< Time, Controller >::OptimizeMPSInitialQubitsMap().
|
inline |
Definition at line 252 of file MPSDummySimulator.h.
|
inline |
Definition at line 794 of file MPSDummySimulator.h.
Referenced by EvaluateMeetingPositionCost().