merlin.measurement.process module
Quantum measurement sampling utilities.
- class merlin.measurement.process.SamplingProcess(method='multinomial')
Bases:
objectHandle 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:
- Raises:
ValueError – If
methodis 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:
detector_output (
merlin.core.partial_measurement.DetectorTransformOutput) – Output ofDetectorTransform(partial_measurement=True).grouping (Callable[[torch.Tensor], torch.Tensor] | None) – Optional callable used to group branch probabilities.
- Returns:
Partial-measurement wrapper built from the detector output.
- Return type: