PopulationEuclideanBox

class svvamp.PopulationEuclideanBox(V, C, box_dimensions, shift=None)[source]

Population with ‘Euclidean box’ model.

Parameters:
  • V – Integer. Number of voters.
  • C – Integer. Number of candidates.
  • box_dimensions – 1d array of numbers. The length of the Euclidean box along each axis.
  • shift – 1d array of numbers, same dimension as box_dimensions. Shift for the mean position of the candidates.
Returns:

A Population object.

Let us note n_dim the number of elements in sigma. For each voter and each candidate, a position is independently and uniformly drawn in a rectangular box of dimensions box_dimensions[0],... , box_dimensions[n_dim - 1]. If shift is used, the distribution of positions for candidates is displaced by this vector.

Let d[v, c] denote the Euclidean distance between voter v and candidate c. Then preferences_ut[v, c] = A - d[v, c], where A is such that the average utility is 0 over the whole population.

If ndim = 1, the population is single-peaked.