Maestro 0.3.11
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Simulators Namespace Reference

Bounded online routing based on current physical bond dimensions. More...

Namespaces

namespace  DistributedGpuApi
namespace  FactoryBackends
namespace  MPOValidation
namespace  Private
namespace  RoutingConfig
namespace  TensorQueries

Classes

class  Configuration
struct  FusionGate
class  FusionRoutingOperation
class  GateFusion
struct  GateFusionStatistics
class  ISimulator
 Interface class for a quantum computing simulator. More...
class  ISimulatorObserver
 Interface class for a quantum computing simulator observer. More...
class  IState
 Interface class for a quantum computing simulator state. More...
class  MPSDummySimulator
class  PathIntegralSimulator
class  QCSimExtendedStabilizer
class  QcsimPauliPropagator
class  QuantumChannel
 A local completely-positive, trace-preserving map in Kraus form. More...
class  QuestLibSim
struct  RoutingGateInfo
class  SimulatorObserverProxy
 A proxy class for a quantum computing simulator observer. More...
class  SimulatorsFactory
 Factory for simulators. More...

Enumerations

enum class  SimulationType : int {
  kStatevector ,
  kMatrixProductState ,
  kStabilizer ,
  kTensorNetwork ,
  kPauliPropagator ,
  kExtendedStabilizer ,
  kPathIntegral ,
  kDensityMatrix ,
  kMatrixProductOperator ,
  kOther
}
 The type of simulation. More...
enum class  SimulatorType : int {
  kQiskitAer ,
  kQCSim ,
  kCompositeQiskitAer ,
  kCompositeQCSim ,
  kGpuSim ,
  kQuestSim ,
  kDistGpuSim ,
  kDistMpiGpuSim
}
 The type of simulator. More...

Functions

double ControlledSchmidtRank (double traceAbs)
double EffectiveSchmidtRank (const Eigen::MatrixXcd &u)
uint64_t GenerateRandomSeed (SimulatorType type, const std::unordered_map< std::string, std::string > &options={})
bool IsControlledRoutingGate (Circuits::QuantumGateType type)
bool IsDistributedGpuSimulator (SimulatorType type)
bool IsGpuSimulator (SimulatorType type)
template<class MatrixFn>
double RoutingSchmidtRank (Circuits::QuantumGateType type, double angle, MatrixFn &&matrix)
template<class Matrix>
void ValidateGenericGate (const ISimulator &simulator, std::initializer_list< Types::qubit_t > targets, const Matrix &matrix)

Detailed Description

Bounded online routing based on current physical bond dimensions.

Work4 uses a four-interaction forecast. Work24 uses a common-prefix forecast budget across its candidate meeting positions. The caller selects a policy and supplies the current operation window. This planner neither executes gates nor changes the backend's state.


Class Documentation

◆ Simulators::GateFusionStatistics

struct Simulators::GateFusionStatistics

Definition at line 23 of file Simulator.h.

Collaboration diagram for Simulators::GateFusionStatistics:
Class Members
uint64_t backendGates = 0
uint64_t fusedBlocks = 0
uint64_t submittedGates = 0

Enumeration Type Documentation

◆ SimulationType

enum class Simulators::SimulationType : int
strong

The type of simulation.

Enumerator
kStatevector 

statevector simulation type

kMatrixProductState 

matrix product state simulation type

kStabilizer 

Clifford gates simulation type.

kTensorNetwork 

Tensor network simulation type.

kPauliPropagator 

Pauli propagator simulation type.

kExtendedStabilizer 

Extended stabilizer simulation type.

kPathIntegral 

Path integral simulation type.

kDensityMatrix 

Density matrix simulation type.

kMatrixProductOperator 

Matrix product operator simulation type.

kOther 

other simulation type, could occur for the aer simulator, which also has unitary and superop methods

Definition at line 108 of file State.h.

◆ SimulatorType

enum class Simulators::SimulatorType : int
strong

The type of simulator.

Enumerator
kQiskitAer 

qiskit aer simulator type

kQCSim 

qcsim simulator type

kCompositeQiskitAer 

composite qiskit aer simulator type

kCompositeQCSim 

composite qcsim simulator type

kGpuSim 

gpu simulator type

kQuestSim 

quest simulator type

kDistGpuSim 

state distributed across local GPUs

kDistMpiGpuSim 

state distributed across MPI ranks/GPUs

Definition at line 78 of file State.h.

Function Documentation

◆ ControlledSchmidtRank()

double Simulators::ControlledSchmidtRank ( double traceAbs)
inline

Definition at line 32 of file RoutingGateInfo.h.

Referenced by RoutingSchmidtRank().

◆ EffectiveSchmidtRank()

double Simulators::EffectiveSchmidtRank ( const Eigen::MatrixXcd & u)
inline

◆ GenerateRandomSeed()

uint64_t Simulators::GenerateRandomSeed ( SimulatorType type,
const std::unordered_map< std::string, std::string > & options = {} )
inline

◆ IsControlledRoutingGate()

◆ IsDistributedGpuSimulator()

◆ IsGpuSimulator()

◆ RoutingSchmidtRank()

◆ ValidateGenericGate()

template<class Matrix>
void Simulators::ValidateGenericGate ( const ISimulator & simulator,
std::initializer_list< Types::qubit_t > targets,
const Matrix & matrix )