qsim::QSimHRunner

#include <run_qsimh.h>

Helper struct for running qsimh.

Summary

Public types

Fuser using
typename HybridSimulator::Fuser
Gate using
HybridData using
Parameter using
fp_type using
typename HybridSimulator::fp_type

Public static functions

Run(const Parameter & param, const Circuit & circuit, const std::vector< unsigned > & parts, const std::vector< uint64_t > & bitstrings, std::vector< std::complex< fp_type >> & results)
bool
Evaluates the amplitudes for a given circuit and set of output states.

Public types

Fuser

typename HybridSimulator::Fuser qsim::QSimHRunner::Fuser

Gate

typename HybridSimulator::Gate qsim::QSimHRunner::Gate

HybridData

typename HybridSimulator::HybridData qsim::QSimHRunner::HybridData

Parameter

typename HybridSimulator::Parameter qsim::QSimHRunner::Parameter

fp_type

typename HybridSimulator::fp_type qsim::QSimHRunner::fp_type

Public static functions

Run

bool qsim::QSimHRunner::Run(
  const Parameter & param,
  const Circuit & circuit,
  const std::vector< unsigned > & parts,
  const std::vector< uint64_t > & bitstrings,
  std::vector< std::complex< fp_type >> & results
)

Evaluates the amplitudes for a given circuit and set of output states.

Details
Parameters
param
Options for gate fusion, parallelism and logging. Also specifies the size of the 'prefix' and 'root' sections of the lattice.
circuit
The circuit to be simulated.
parts
Lattice sections to be simulated.
bitstrings
List of output states to simulate, as bitstrings.
results
Output vector of amplitudes. After a successful run, this will be populated with amplitudes for each state in 'bitstrings'.
Returns
True if the simulation completed successfully; false otherwise.