qsim:: HybridSimulator
#include <hybrid.h>
Hybrid Feynman-Schrodinger simulator.
Summary
Constructors and Destructors |
|
---|---|
HybridSimulator(Args &&... args)
|
Public types |
|
---|---|
Fuser
|
usingFuserT< IO, GateHybrid >
|
Gate
|
using |
GateFused
|
usingtypename Fuser::GateFused
|
GateKind
|
usingtypename Gate::GateKind
|
fp_type
|
usingtypename Simulator::fp_type
|
Public functions |
|
---|---|
Run(const Parameter & param, HybridData & hd, const std::vector< unsigned > & parts, const std::vector< GateFused > & fgates0, const std::vector< GateFused > & fgates1, const std::vector< uint64_t > & bitstrings, std::vector< std::complex< fp_type >> & results) const
|
bool
Runs the hybrid simulator on a sectioned lattice.
|
Public static functions |
|
---|---|
SplitLattice(const std::vector< unsigned > & parts, const std::vector< Gate > & gates, HybridData & hd)
|
bool
Splits the lattice into two parts, using Schmidt decomposition for gates on the cut.
|
Structs |
|
---|---|
qsim:: |
Contextual data for hybrid simulation. |
qsim:: |
User-specified parameters for gate fusion and hybrid simulation. |
Public types
Fuser
FuserT< IO, GateHybrid > qsim::HybridSimulator::Fuser
Gate
GateT qsim::HybridSimulator::Gate
GateFused
typename Fuser::GateFused qsim::HybridSimulator::GateFused
GateKind
typename Gate::GateKind qsim::HybridSimulator::GateKind
fp_type
typename Simulator::fp_type qsim::HybridSimulator::fp_type
Public functions
HybridSimulator
qsim::HybridSimulator::HybridSimulator( Args &&... args )
Run
bool qsim::HybridSimulator::Run( const Parameter & param, HybridData & hd, const std::vector< unsigned > & parts, const std::vector< GateFused > & fgates0, const std::vector< GateFused > & fgates1, const std::vector< uint64_t > & bitstrings, std::vector< std::complex< fp_type >> & results ) const
Runs the hybrid simulator on a sectioned lattice.
Details | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
||||||||||||||
Returns |
True if the simulation completed successfully; false otherwise.
|
Public static functions
SplitLattice
bool qsim::HybridSimulator::SplitLattice( const std::vector< unsigned > & parts, const std::vector< Gate > & gates, HybridData & hd )
Splits the lattice into two parts, using Schmidt decomposition for gates on the cut.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameters |
|
||||||
Returns |
True if the splitting done successfully; false otherwise.
|