qemcmc.utils.helpers¶
Classes¶
Represents a single step in an MCMC trajectory. |
|
Container for the sequence of states produced during an MCMC run. |
|
Functions¶
|
|
|
Generate a random state for a given number of spins. |
|
Returns all possible binary strings of length n=num_spins |
|
Parmeters: |
|
Returns magnetization for all unique states |
|
|
|
|
|
|
|
Validate coarse-graining subgroups. |
Module Contents¶
- class qemcmc.utils.helpers.MCMCState[source]¶
Represents a single step in an MCMC trajectory.
Stores the proposed configuration, whether it was accepted by the Metropolis rule, its energy, and the position of the step in the chain.
- class qemcmc.utils.helpers.MCMCChain(states: List[MCMCState] | None = None, name: str | None = 'MCMC')[source]¶
Container for the sequence of states produced during an MCMC run.
This class records all proposed states, tracks accepted configurations, and provides helper methods for extracting trajectories, energies, and empirical distributions from the Markov chain.
- qemcmc.utils.helpers.plot_chains(chains: list[MCMCChain], color: str, label: str, plot_individual_chains: bool = True)[source]¶
- qemcmc.utils.helpers.get_random_state(num_spins: int) str[source]¶
Generate a random state for a given number of spins.
- Parameters:
num_spins (int) – The number of spins in the system.
- Returns:
A bitstring representing the random state.
- Return type:
str
- qemcmc.utils.helpers.get_all_possible_states(num_spins: int) list[source]¶
Returns all possible binary strings of length n=num_spins
- Paremeters:
num_spins: n length of the bitstring
- Returns:
A list of all possible binary strings of length num_spins.
- Return type:
list
- qemcmc.utils.helpers.magnetization_of_state(bitstring: str) float[source]¶
- Parmeters:
bitstring: for eg: ‘010’
- Returns:
Magnetization for the given bitstring
- Return type:
float
- qemcmc.utils.helpers.dict_magnetization_of_all_states(list_all_possible_states: list) dict[source]¶
Returns magnetization for all unique states
- Parameters:
list_all_possible_states
- Returns:
A dictionary mapping each state to its magnetization value.
- Return type:
dict
- qemcmc.utils.helpers.validate_subgroups(subgroups, subgroup_probs, n_spins)[source]¶
Validate coarse-graining subgroups.
- Requirements:
subgroups is a non-empty list of non-empty sequences
each element is an int in [0, n-1]
each subgroup has no duplicate indices
every spin from 0 to n-1 appears in at least one subgroup
- Raises:
ValueError/TypeError –