merlin.sampling.autodiff module
Automatic differentiation handling for sampling.
- class merlin.sampling.autodiff.AutoDiffProcess(sampling_method='multinomial')
Bases:
object
Handles automatic differentiation backend and sampling noise integration.
- autodiff_backend(needs_gradient, apply_sampling, shots)
Determine sampling configuration based on gradient requirements.
- Return type:
tuple
[bool
,int
]
- class merlin.sampling.autodiff.SamplingProcess(method='multinomial')
Bases:
object
Handles quantum measurement sampling with different methods.
This class provides functionality to simulate quantum measurement noise by applying different sampling strategies to probability distributions.
- pcvl_sampler(distribution, shots, method=None)
Apply sampling noise to a probability distribution.
- Return type:
Tensor
- Args:
distribution: Input probability distribution tensor method: Sampling method to use (‘multinomial’, ‘binomial’, or ‘gaussian’), defaults to the initialized method shots: Number of measurement shots to simulate
- Returns:
Noisy probability distribution after sampling
- Raises:
ValueError: If method is not one of the valid options