This page is a companion for the
paper "Optimal sequential contests"
by Toomas Hinnosaar.
For the notation and the computation algorithm, please refer to the paper.
To simply compute an equilibrium in a contest, it might be more convenient to use this page.

Separate files, depending on the type of contest:

**fContestEquilibriumLinear.m**: calculations for linear g(X)=α case. Note that this is exact equilibrium in linear case, but quite accurate with total effort close to 1.

Inputs: vN, sAlpha, where vN=[n1,...nT], for example [1,2,1] and sAlpha=-g'(1) > 0 is a real number.**fContestEquilibriumTullock.m**: calculations for Tullock payoffs, i.e. g(X)=X(1-X). It uses matlab polynomial operations for relatively efficient calculations.

Input: just vN, for example [1,2,1].

Caveat: when the degree of the polynomial gets large (i.e. many periods), then it does not seem to be very accurate and therefore with large enough total effort it sufficiently close to 1, it saves time and computations and uses approximation from fContestEquilibriumTullock.m**fContestEquilibrium.m**: calculation for arbitrary payffs.

Inputs: vN,fG, for example [1,2,1],@(X)(X*(1-X)). It uses matlab's symbolic math to compute all the necessary functions.

Caveats:

(1) The function does not check if condition 1 is satisfied, so for some functions the results may not be equilibrium outcomes.

(2) In case of large contest (i.e. when the total effort is sufficiently close to 1), it saves time and computations by using approximation from fContestEquilibriumLinear.m**fCondition1.m**: verifies condition 1, i.e. sufficent condition for the characterization.

Inputs:fFt,sXprev, a function f_{t}and the highest root of f_{t+1}