qrunch.quantum.samplers.tensor_network_sampler

Module for tensor network sampler.

Classes

TensorNetworkSampler

Sampler class for sampling from a quantum circuit using a tensor network simulator.

class TensorNetworkSampler

Bases: Sampler

Sampler class for sampling from a quantum circuit using a tensor network simulator.

__init__(simulator: TensorNetworkSimulator, error_mitigator: SamplerErrorMitigator | None = None, measurement_cache: MeasurementCache | None = None) None

Initiate an instance of sampler.

Parameters:
  • simulator (TensorNetworkSimulator) – The tensor network simulator to use.

  • error_mitigator (SamplerErrorMitigator | None) – Error mitigator to be used for encoding the measurement more error resistantly.

  • measurement_cache (MeasurementCache | None) – Cache to use for storing and reusing measurements.

Return type:

None

clear_cache() None

Clear the measurement cache.

Return type:

None

run(circuits: MeasurementCircuit | Sequence[MeasurementCircuit], shots: int | None) QuantumMeasurement | list[QuantumMeasurement]

Start job for sampling on the given circuits a given number of times.

Parameters:
  • circuits (MeasurementCircuit | Sequence[MeasurementCircuit]) – Measurement circuit or sequence of circuits to be sampled.

  • shots (int | None) – Number of measurements to perform.

Return type:

QuantumMeasurement | list[QuantumMeasurement]

supports_shots_equals_none() bool

Return whether the sampler supports shots = None.

TensorNetworkSampler currently only supports finite shots.

Return type:

bool