Skip to contents

Voter i at \(x_i\) picks party j at \(z_j\) with probability proportional to \(\exp(\lambda_j - \beta \|x_i - z_j\|^2)\) (valences \(\lambda\)); party j maximises its expected share. The equilibrium is found by alternating best responses (BFGS on the analytic gradients) from start (default: the parties spread on a circle of radius \(\sqrt{tr V}/2\) about the electoral mean), polished by Newton steps on the joint first-order conditions. Schofield (2007): with electoral covariance V (divisor n) and \(\rho_j\) the share of party j when all sit at the mean, the Hessian of party j's share there is \(2\beta \rho_j (1 - \rho_j) C_j\) with \(C_j = 2\beta(1 - 2\rho_j) V - I\); the mean is a local Nash equilibrium iff every \(C_j\) is negative definite.

Usage

LogitCompetition(
  voters,
  valence,
  beta,
  start = NULL,
  tol = 1e-10,
  max_iter = 500L
)

Arguments

voters

Voter ideal points (n x d matrix).

valence

Party valences.

beta

Spatial salience.

start

Optional starting positions (p x d).

tol

Stop when no party moves more than tol.

max_iter

Maximum best-response rounds.

Value

List with positions, shares, gradients, hessian_eigenvalues, is_local_nash, characteristic_matrices, mean_shares, convergence_coefficient, rounds, converged.

References

Schofield, N. (2007). The mean voter theorem: necessary and sufficient conditions for convergent equilibrium. Review of Economic Studies 74, 965-980.

Examples

X <- rbind(c(-1, 0), c(1, 0), c(0, 2), c(0, -2))
LogitCompetition(X, c(0, 0, 0), 0.1)$is_local_nash
#> [1] TRUE