whizard is hosted by Hepforge, IPPP Durham
Previous Up Next

Chapter 7  Integration Methods

7.1  The Monte-Carlo integration routine: VAMP

VAMP [32] is a multichannel extension of the VEGAS [33] 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 [33], 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

  $integration_method = "vamp2"

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



∂ φi−1
∂ p

dµ(p) = 1,    gii−1(p)) ≥ 0,

written for a phase space point p using the mapping φi. The a-priori channel weights αi are defined as partition of unity by ∑iI αi = 1 and 0 ≤ αi ≤ 1. The overall probability density g of a random sample is then obtained by

g(p) = 
i ∈ I
 αi gii−1(p)) 

∂ φi−1
∂ p


which is also a non-negative and normalized probability density.

We reformulate the integral

I(f) = 
i ∈ I


∂ φi−1
∂ p


The actual integration of each channel is then done by VEGAS, which shapes the gi.

7.2.2  VEGAS

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

gi,j (xj) = 
NΔ xj,k
,    xj,k − Δ xj,k ≤ xj < xj,k,

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.

7.2.3  Channel equivalences

The automated mulitchannel phasespace configuration can lead to a surplus of degrees of freedom, e.g. for a highly complex process with a large number of channels (VBS). In order to marginalize the redundant degrees of freedom of phasespace configuration, the adaptation distribution of the grids are aligned in accordance to their phasespace relation, hence the binning of the grids is equialized. These equivalences are activated by default for VAMP and VAMP2, but can be steered by:

  ?use_vamp_equivalences = true

One prerequisite for the VEGAS algorithm is that the integral factorises, and such produces only the best results for those.

Previous Up Next