Текст подпрограммы и версий ( Фортран )
qsjac.zip 
Тексты тестовых примеров ( Фортран )
tqsjac.zip 
Текст подпрограммы и версий ( Си )
qsjac_c.zip 
Тексты тестовых примеров ( Си )
tqsjac_c.zip 
Текст подпрограммы и версий ( Паскаль )
qsjac_p.zip 
Тексты тестовых примеров ( Паскаль )
tqsjac_p.zip 

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

Назначение

Вычисление узлов и весов квадратурной формулы Гаусса - Якоби.

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

Подпрограмма QSJАС вычисляет узлы  xi и веса Wi квадратурной формулы Гаусса - Якоби

      b
     ∫ (1 - x)α (1 + x)β  f(x) dx    ≈
    a
                                                          N
                                                  ≈     ∑   Wi  f(xi )    по методу Ньютона .
                                                         i =1 

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

    SUBROUTINE  QSJAC (X, W, ALF, BTA, N, A, B, C) 

Параметры

X - вещественный одномерный массив размерности 512 вычисленных узлов формулы Гаусса - Якоби;
W - вещественный одномерный массив размерности 512 вычисленных весов формулы Гаусса - Якоби;
         ALF -
         BTA  
заданные параметры  α  и  β , соответственно, в весовой функции (1 - x)α (1 + x) β (тип: вещественный);
N - заданное число узлов (и весов) интегрирования в формуле Гаусса - Якоби (2 ≤ N ≤ 512, тип: целый);
A, B, С - вещественные одномерные массивы размерности 512, заданных коэффициентов рекуррентного соотношения для полиномов Якоби.

Версии: нет

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

QSJAC1 - служебная подпрограмма.
QSJAC2 - вещественная подпрограмма - функция, вычисляющая значение логарифма от гамма - функции  ln ( Г (Х) ).

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

 

Подпрограмма QSJAC вычисляет узлы и веса квадратурной формулы Гаусса - Якоби

        N
        ∑   Wi  f(xi )
       i =1 

с абсолютной погрешностью 10 - 10 и для значений 2 ≤ N ≤ 512.

Перед обращением к подпрограмме QSJAC должны быть вычислены коэффициенты  Anα , β,  Bnα , β,  Cnα , β рекуррентного соотношения для полиномов Якоби

  Jnα , β (x)   =   ( Anα , β  x  +  Bnα , β )  Jn -1α , β (x)  -  Cnα , β  Jn -2α , β (x)

  по формулам:
                             ( α + β + 2n )  ( α + β + 2n - 1 )
     Anα , β     =    -------------------------------------------     ,
                                   2n ( α + β + n )

                             ( α + β ) ( α - β ) ( α + β + 2n - 1 )
     Bnα , β     =    ------------------------------------------------     ,
                               2n ( α + β + n ) ( α + β + 2n - 2 )

                             ( α + β + 2n ) ( α + 2n - 1 ) ( β + 2n - 1 )
     Cnα , β     =    ------------------------------------------------------     .
                                  n ( α + β + n ) ( α + β + 2n - 2 ) 

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

       DIMENSION  X(512), W(512), A(512), B(512), C(512)
       REAL  ALF, BTA 
       INTEGER  N
       ALF = 1.0
       BTA = 1.0
       N = 8
       DO 1  K = 2, 512
       A(K) = (ALF + BTA + 2.0*K)*(ALF + BTA + 2.0*K - 1.0)/
     *( 2.0*K*(ALF + BTA + K) )
       B(K) = (ALF + BTA)*(ALF - BTA)*(ALF + BTA + 2.0*K - 1.0)/
     *( 2.0*K*(ALF + BTA + K)*(ALF + BTA + 2.0*K - 2.0) )
       C(K) = (ALF + BTA + 2.0*K)*(ALF + 2.0*K - 1.0)*(BTA + 2.0*K - 1.0)/
     *( K*(ALF + BTA + K)*(ALF + BTA + 2.0*K - 2.0) )
    1 CONTINUE
       CALL  QSJAC (X, W, ALF, BTA, N, A, B, C)

Результаты:

      x1  =   0.9195339081  ,    w1  =  0.0205900956  , 
      x2  =   0.7387738651  ,    w2  =  0.1021477023  ,
      x3  =   0.4779249498  ,    w3  =  0.2253365549  ,
      x4  =   0.1652789576  ,    w4  =  0.3185923136  ,
      x5  = - 0.1652789576  ,    w5  =  0.3185923136  ,
      x6  = - 0.4779249498  ,    w6  =  0.2253365549  ,
      x7  = - 0.7387738651  ,    w7  =  0.1021477023  ,
      x8  = - 0.9195339081  ,    w8  =  0.0205900956  .