merlin.measurement.process module

Quantum measurement sampling utilities.

class merlin.measurement.process.SamplingProcess(method='multinomial')

Bases: object

Handle quantum measurement sampling with different methods.

This class provides functionality to simulate quantum measurement noise by applying different sampling strategies to probability distributions.

Parameters:

method (str) – Sampling method to use.

pcvl_sampler(distribution, shots, method=None)

Apply sampling noise to a probability distribution.

Parameters:
  • distribution (torch.Tensor) – Input probability distribution tensor.

  • shots (int) – Number of measurement shots to simulate.

  • method (str | None) – Sampling method to use (‘multinomial’, ‘binomial’, or ‘gaussian’), defaults to the initialized method

Returns:

Noisy probability distribution after sampling.

Return type:

torch.Tensor

Raises:

ValueError – If method is not one of the valid options.

merlin.measurement.process.partial_measurement(detector_output, *, grouping=None)

Build a PartialMeasurement from DetectorTransform(partial_measurement=True) output.

Parameters:
Returns:

Partial-measurement wrapper built from the detector output.

Return type:

PartialMeasurement