josiann.moves.sequential.Metropolis

class josiann.moves.sequential.Metropolis(*, variances, bounds=None, repr_attributes=(), **kwargs)[source]

Metropolis step obtained from a multivariate normal distribution with mean <x> and covariance matrix <variances>

Instantiate a Move.

Parameters:
  • variances (ndarray[Any, dtype[float64]]) – list of variances between dimensions, which will be set as the diagonal of the covariance matrix.

  • bounds (Optional[ndarray[Any, dtype[Union[float64, int64]]]] (default: None)) – optional sequence of (min, max) bounds for values to propose in each dimension.

  • repr_attributes (tuple[str, ...] (default: ())) – list of attribute names to include in the string representation of this Move.

  • kwargs (Any) –

Methods

Metropolis.__init__

Instantiate a Move.

Metropolis.get_proposal

Generate a new proposed vector x.

Metropolis.set_bounds

Set bounds for the move.

Methods

Metropolis.__init__(*, variances, bounds=None, repr_attributes=(), **kwargs)[source]

Instantiate a Move.

Parameters:
  • variances (ndarray[Any, dtype[float64]]) – list of variances between dimensions, which will be set as the diagonal of the covariance matrix.

  • bounds (Optional[ndarray[Any, dtype[Union[float64, int64]]]] (default: None)) – optional sequence of (min, max) bounds for values to propose in each dimension.

  • repr_attributes (tuple[str, ...] (default: ())) – list of attribute names to include in the string representation of this Move.

  • kwargs (Any) –

Metropolis.get_proposal(x, state)

Generate a new proposed vector x.

Parameters:
  • x (ndarray[Any, dtype[TypeVar(DT_ARR, bound= Union[float64, int64])]]) – current vector x of shape (ndim,).

  • state (State) – current state of the SA algorithm.

Return type:

ndarray[Any, dtype[TypeVar(DT_ARR, bound= Union[float64, int64])]]

Returns:

New proposed vector x of shape (ndim,).

Metropolis.set_bounds(bounds)

Set bounds for the move.

Parameters:

bounds (Union[tuple[float, float], Sequence[tuple[float, float]], None]) – sequence of (min, max) bounds for values to propose in each dimension.

Return type:

None