Текст подпрограммы и версий ( Фортран )
qs82r.zip  qs82d.zip 
Тексты тестовых примеров ( Фортран )
tqs82r.zip  tqs82d.zip 
Текст подпрограммы и версий ( Си )
qs82r_c.zip  qs82d_c.zip 
Тексты тестовых примеров ( Си )
tqs82r_c.zip  tqs82d_c.zip 
Текст подпрограммы и версий ( Паскаль )
qs82r_p.zip  qs82e_p.zip 
Тексты тестовых примеров ( Паскаль )
tqs82r_p.zip  tqs82e_p.zip 

Подпрограмма:  QS82R

Назначение

Вычисление определенного N - кратного (2 ≤ N ≤ 15) интеграла по прямоугольному параллелепипеду методом Гаусса.

Математическое описание

QS82R вычисляет N - кратный интеграл по квадратурной формуле

        b1 b2    bN
       ∫   ∫  ...  ∫  f (x1, x2, ... , xN) dx1 dx2 ... dxNa1 a2    aN
       N                      k1      k2       kN
 ≈ ( ∏ ( bi - ai )/2 )  ∑      ∑  ...  ∑  cn1 cn2 ... cnN *
      i=1                    n1=1  n2=1   nN=1
 * f (  ( b1 - a1 )/2 xn1 + ( a1 + b1 )/2 ,  ( b2 - a2 )/2 xn2 + ( a2 + b2 )/2 ,
         ... , ( bN - aN )/2 xnN + ( aN + bN )/2  ) , 

где 2 ≤ ki ≤ 128, а xni и cni ( ni = 1, 2, ..., ki ) соответственно узлы и веса квадратурной формулы Гаусса для отрезка [-1, 1].

Я.М.Жилейкин, А.Г.Симакин. Набор стандартных программ приближенного вычисления многократных интегралов с помощью квадратурных формул Гаусса. Сб. "Численный анализ на ФОРТРАНе", вып. 19, Изд-во МГУ, 1977.

Использование

    SUBROUTINE  QS82R (RINT, N, A, B, F, NP, X, W) 

Параметры

RINT - вещественная переменная, содержащая вычисленное значение интеграла;
N - заданная кратность интегрирования (тип: целый);
A, B - вещественные векторы длины N, задающие соответвенно нижние и верхние пределы интегрирования;
F - имя вещественной подпрограммы - функции, вычисляющей подинтегральную функцию f (x);
NP - целый вектоp длины N, задающий число узлов интегрирования по каждой переменной:  NP (I) = kI,  I = 1, 2, ..., N;
X, W - вещественные двумерные массивы размера N на 64, используемые в подпрограмме как рабочие.

Версии

QS82D - вычисление с удвоенной точностью определенного N - кратного (2 ≤ N ≤ 15) интеграла по прямоугольному параллелепипеду методом Гаусса.

Вызываемые подпрограммы

QS80R - подпрограмма вычисления узлов и весов Гаусса - Лежандра.
QS80D - подпрограмма вычисления с удвоенной точностью узлов и весов Гаусса - Лежандра.

Замечания по использованию

 

Компоненты вектоpа NP в пределах от 2 до 128.

Первый оператор подпрограммы - функции F должен иметь вид
      FUNCTION F(X) ,
где X - вещественный вектоp длины N, являющийся аргументом подинтегральной функции.

В подпрограмме QS82D параметры RINT, A, B, F, X, W имеют тип DOUBLE PRECISION.

Пример использования

      FUNCTION  F(X)
      DIMENSION  X(5)
      S = 0.
      DO 1 I = 1, 5
      R = X(I)
   1 S = S + R*R
      F = EXP (-0.5*S)
      RETURN
      END

      EXTERNAL  F
      DIMENSION  A(5), B(5), NP(5), X(5, 64), W(5, 64)
      N = 5
      DO 1 I = 1, N
      A(I) = -3.
      B(I) = 3.
   1 NP(I) = 10
      CALL  QS82R (RINT, N, A, B, F, NP, X, W)

Результат:   RINT  =  97.6288