coarse_grain
qemcmc.coarse_grain ¶
CoarseGraining ¶
CoarseGraining class to generate partitions of spins for quantum proposals.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
n
|
int
|
Number of spins in the system. |
required |
subgroups
|
list[list[int]]
|
A list of subgroups, where each subgroup is a list of spin indices. If None, the entire set of spins is treated as one subgroup. |
None
|
subgroup_probs
|
list[float]
|
A list of probabilities corresponding to each subgroup, used for weighted random selection. Must sum to 1. If None, subgroups are selected uniformly at random. |
None
|
repeated
|
bool
|
If True, then multiple subgroups are run on the quantum computer in serial, if not then only one subgroup is selected at random and run on the quantum computer. Default is |
True
|
Source code in src/qemcmc/coarse_grain.py
sample ¶
Randomly samples a subgroup according to the specified probability distribution.
get_partitions ¶
Returns partitions of spins for sequential quantum updates.
If the user provided explicit subgroups at initialisation, those are sampled accordingly.
returned directly (all if repeated=True, otherwise just the first).
If no subgroups were specified, random disjoint partitions of
approximate size n/m are generated.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
m
|
int
|
The number of partitions to generate. Ignored if user-specified subgroups are provided. |
required |