FUNINT - calculation of functional integrals from the real functionals of the integral and exponential form

Author: Yu.Yu.Lobanov
You are
visitor here.

Language: Fortran

The FUNINT program is designed to the numerical evaluation of functional integrals in the problems of physics and mathematics [1]. This program realizes the approach to the theory of functional integrals and to the methods of their computations on a basis of definition of the Lebesgue integral in the abstract metric space, developed in [1].

As distinct from the stochastic methods (Monte-Carlo), this program uses the deterministic algorithms for computation of functional integrals. These algorithms have been elaborated in [2]. It gives an opportunity of obtaining the results with the guaranteed (not probabilistic) error estimate and ensures the higher speed of convergence of approximations to the exact value of the integral.

The FUNINT program calculates the following functional integral:

where the integration is performed over the space f2 of continuous functions on [0,1] with the zero values at the ends of the segment;
f3 is the conditional Wiener measure on the space f4, f9 is the real functional of the form

f6 is a real parameter, f7 and f8 are the real functions that should be defined by the user.

The basis of computation is formed by the approximation formulas described in [2].

These formulas enable one to evaluate the functional integral by computation of (n+m) - dimensional Riemann integral, where n and m are arbitrary integer numbers.
The formulas are exact on a class of polynomial functionals of degree f132m+1. It means that for the functionals f9 from this class the remainder term f10 is equal to zero. For all other integrable functionals f9 the error of calculation is determined by the theorems proven in [1]. As it follows from estimate of the remainder (see. [1]), the speed of convergence of approximations, obtained using these formulas, to the exact value of the integral as f14, m fixed, has the order of f11.

The FUNINT program uses the algorithm that corresponds to m = 1, i.e. the remainder term equals zero for the polynomial functionals of degree f133, and in all other cases the speed of convergence has the order of f15.
For the accuracy of about 0.1% it is usually sufficient to choose the value of parameter n by the order of 10 or smaller. The FUNINT program assumes computation of n-dimensional integral by the Korobov method [3] using the existing program MIKOR, which allows using the value of dimension kf1320. In order to integrate over the variable t in the expression for f9, the existing program for the double precision integral evaluation by the Simpson's method, DSIMPS is used.


  1. А.Д.Егоров, Е.П.Жидков, Ю.Ю.Лобанов. Введение в теорию и приложения
    функционального интегрирования. М: Физматлит, 2006.
  2. Yu.Yu.Lobanov. Deterministic computation of functional integrals,
    Comp. Phys. Comm., 99 (1996) 59-72.
  3. Н.М.Коробов, Теоретико-числовые методы в приближенном анализе.
    М.: Физматгиз, 1963.


Internal units: FX, FUNC, FUN1, FUN2, RHO
External units: DSIMPS(D120),MIKOR(D121)(from the program library JINRLIB)
F1, F2 (supplied by the user)



Description of the variables:

K - total multiplicity of the Riemann integral (K=N+1);
X,AX,BX - working arrays of the length K (must be declared by DIMENSION statement in the main program);
XM - the value of the upper limit of integration over the variable u (can be chosen as 4-10 due to existence of the factor exp(-u**2), depending on the actual form of the functional) (see detailed description);
EPS - the required relative accuracy of computation of the functional integral;
R - the result of calculation.

In the main program before calling FUNINT the following variables must be defined:

B - the value of the real parameter f9 in the expression for the functional f9;
M=1 - the value of the parameter m;
DX - array of the length 2 (must be declared by DIMENSION statement):
DX(1) и DX(2) - the initial and the maximal final numbers of points in the multidimensional integration mesh for the MIKOR program;
L - the periodization order for MIKOR, 0f13Lf1310 (recommended are L=1,2,3);
H - relative boundary layer width for MIKOR (recommended is 0.1f13Hf1310.0).

These variables must be stored in the COMMON-block PAR:

If the variables DX(1),DX(2),L,M and H are set f13 0, the choice of the values for these variables will be done in the program automatically.

The user must also write the functions FUNCTION F1(X) and FUNCTION F2(X) in accordance with the form of the integrated functional f9.


  1. If the functional integral over the space f12 with the boundary values f16, is to be calculated, it can be transformed to the integral over the space f17 using the change of the variables described in [1].
  2. The accuracy of the result and the efficiency of calculations depend on the choice of the integration parameters using by MIKOR. In case of improper definition of these parameters and when the required accuracy cannot be reached, the corresponding diagnostic will be displayed.

Detailed description and sources (in Russian) are submitted.

The investigation has been performed at the Laboratory of Information Technologies, JINR.

home up e-mail