# Local Moves

Local samplers propose to modify only a limited set of quantum numbers at the time. The samplers describe below can be used for any quantum system with a local (and finite) discrete Hilbert space.

## MetropolisLocal

This sampler acts locally only on one local degree of freedom , and proposes a new state: , where .

The transition probability associated to this sampler can be decomposed into two steps:

- One of the site indices is chosen with uniform probability.
- Among all the possible () values that can take, one of them is chosen with uniform probability.

For example, in the case of spin particles, and the possible local values are .
In this case then `MetropolisLocal`

is equivalent to flipping a random spin.

In the case of bosons, with occupation numbers , `MetropolisLocal`

would pick a random local occupation number uniformly between and .

Parameter | Possible values | Description | Default value |
---|---|---|---|

None | None | None | None |

### Example

```
pars['Sampler']={
'Name' : 'MetropolisLocal',
}
```

## MetropolisLocalPt

This sampler performs parallel-tempering moves in addition to
the local moves implemented in `MetropolisLocal`

. The number of replicas can be chosen by the user.

Parameter | Possible values | Description | Default value |
---|---|---|---|

`Nreplicas` |
Integer | The number of effective temperatures for parallel tempering, | None |

### Example

```
pars['Sampler']={
'Name' : 'MetropolisLocalPt',
'Nreplicas' : 64,
}
```

## MetropolisExchange

This sampler acts locally only on two local degree of freedom and , and proposes a new state: , where in general and . The sites and are also chosen to be within a maximum graph distance of .

The transition probability associated to this sampler can be decomposed into two steps:

- A pair of indices , and such that , is chosen with uniform probability.
- The sites are exchanged, i.e. and .

Notice that this sampling method generates random permutations of the quantum numbers, thus global quantities such as the sum of the local quantum numbers are conserved during the sampling. This scheme should be used then only when sampling in a region where is needed, otherwise the sampling would be strongly not ergodic.

Parameter | Possible values | Description | Default value |
---|---|---|---|

`Dmax` |
Integer | The maximum graph distance allowed for exchanges | 1 |

### Example

```
pars['Sampler']={
'Name' : 'MetropolisExchange',
}
```

## MetropolisExchangePt

This sampler performs parallel-tempering moves in addition to
the local exchange moves implemented in `MetropolisExchange`

. The number of replicas can be chosen by the user.

Parameter | Possible values | Description | Default value |
---|---|---|---|

`Dmax` |
Integer | The maximum graph distance allowed for exchanges | 1 |

`Nreplicas` |
Integer | The number of effective temperatures for parallel tempering, | None |

### Example

```
pars['Sampler']={
'Name' : 'MetropolisExchangePt',
}
```

- Previous
- Next