Chapter 7 Integration Methods
7.1 The Monte-Carlo integration routine: VAMP
VAMP  is a multichannel extension of the VEGAS  algorithm. For all possible singularities in the integrand, suitable maps and integration channels are chosen which are then weighted and superimposed to build the phase space parameterization. Both grids and weights are modified in the adaption phase of the integration.
The multichannel integration algorithm is implemented as a Fortran95 library with the task of mapping out the integrand and finding suitable parameterizations being completely delegated to the calling program (WHIZARD core in this case). This makes the actual VAMP library completely agnostic of the model under consideration.
7.2 The next generation integrator: VAMP2
VAMP2 is a modern implementation of the integrator package VAMP written in Fortran2003 providing the same features. The backbone integrator is still VEGAS , although implemented differently as in VAMP.
The main advantage over VAMP is the overall faster integration due to the usage of Fortran2003, the possible usage of different random number generators and the complete parallelization of VEGAS and the multichannel integration.
VAMP2 can be set by the SINDARIN option
It is said that the generated grids between VAMP and VAMP2 are incompatible.
7.2.1 Multichannel integration
The usual matrix elements do not factorise with respect to their integration variables, thus making an direct integration ansatz with VEGAS unfavorable.1 Instead, we apply the multichannel ansatz and let VEGAS integrate each channel in a factorising mapping.
The different structures of the matrix element are separated by a partition of unity and the respective mappings, such that each structure factorise at least once. We define the mappings φi : U ↦ Ω, where U is the unit hypercube and Ω the physical phase space. We refer to each mapping as a channel. Each channel then gives rise to a probability density gi : U ↦ [0, ∞), normalised to unity
written for a phase space point p using the mapping φi. The a-priori channel weights αi are defined as partition of unity by ∑i∈ I αi = 1 and 0 ≤ αi ≤ 1. The overall probability density g of a random sample is then obtained by
which is also a non-negative and normalized probability density.
We reformulate the integral
The actual integration of each channel is then done by VEGAS, which shapes the gi.
VEGAS is an adaptive and iterative Monte Carlo algorithm for integration using importance sampling. After each iteration, VEGAS adapts the probability density gi using information collected while sampling. For independent integration variables, the probability density factorises gi = ∏j = 1d gi,j for each integration axis and each (independent) gi,j is defined by a normalised step function
where the steps are 0 = xj, 0 < ⋯ < xj,k < ⋯ < xj,N = 1 for each dimension j. The algorithm randomly selects for each dimension a bin and a position inside the bin and calculates the respective gi,j.