---
title: UniformPauliSubset (latest version)
description: API reference for samplomatic.distributions.UniformPauliSubset in the latest version of samplomatic
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/samplomatic/auto/distributions-uniform-pauli-subset
---

# UniformPauliSubset

*class* `samplomatic.distributions.UniformPauliSubset(num_subsystems: int, paulis: ndarray)`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/distributions/uniform_pauli_subset.py#L29-L102)

Bases: [`Distribution`](/docs/api/samplomatic/auto/distributions-distribution "samplomatic.distributions.distribution.Distribution")

The uniform distribution over a subset of virtual Pauli gates.

Here, `paulis` is an array with elements corresponding to Paulis as enumerated in [`PauliRegister`](/docs/api/samplomatic/auto/virtual-registers-pauli-register "samplomatic.virtual_registers.PauliRegister"). The length of an individual Pauli should be a divisor of `num_subsystems`. The output [`PauliRegister`](/docs/api/samplomatic/auto/virtual-registers-pauli-register "samplomatic.virtual_registers.PauliRegister") is partitioned contiguously such that each part samples independently from `paulis`.

```python
>>> import numpy as np
>>> from samplomatic.distributions import UniformPauliSubset
>>>
>>> # Create a distribution that samples a random phase on each qubit
>>> z_distribution = UniformPauliSubset(3, np.array([[0], [1]]))
>>>
>>> # Create a correlated phase distribution
>>> z_corr_distribution = UniformPauliSubset(3, np.array([[0, 0, 0], [1, 1, 1]]))
```

**Parameters**

- **num\_subsystems** – The number of subsystems this distribution samples.
- **paulis** – The subset of Paulis to sample from.

**Raises**

[**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError) – If the number of subsystems is not divisible by the length of an element of `paulis`.

**Attributes Summary**

|                                                                                                                                             |                                      |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
| [`paulis`](#samplomatic.distributions.UniformPauliSubset.paulis "samplomatic.distributions.UniformPauliSubset.paulis")                      | The subset of Paulis to sample from. |
| [`register_type`](#samplomatic.distributions.UniformPauliSubset.register_type "samplomatic.distributions.UniformPauliSubset.register_type") | The virtual gate type being sampled. |

**Methods Summary**

|                                                                                                                                                        |                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- |
| [`from_name`](#samplomatic.distributions.UniformPauliSubset.from_name "samplomatic.distributions.UniformPauliSubset.from_name")(num\_subsystems, name) | Return a new instance from a specific distribution name. |
| [`sample`](#samplomatic.distributions.UniformPauliSubset.sample "samplomatic.distributions.UniformPauliSubset.sample")(size, rng)                      | Sample the distribution.                                 |

**Attributes Documentation**

### paulis

The subset of Paulis to sample from.

### register\_type

**Methods Documentation**

### from\_name

*classmethod* `from_name(num_subsystems: int, name: str) → UniformPauliSubset`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/distributions/uniform_pauli_subset.py#L68-L79)

Return a new instance from a specific distribution name.

**Parameters**

- **num\_subsystems** – The number of subsystems this distribution samples.
- **name** – The distribution name to use.

**Returns**

The new distribution.

### sample

`sample(size, rng)`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/distributions/uniform_pauli_subset.py#L90-L95)

Sample the distribution.

**Parameters**

- **size** – The number elements to sample.
- **rng** – A randomness generator.

**Returns**

The samples.
