Текст подпрограммы и версий ( Фортран ) qsjac.zip |
Тексты тестовых примеров ( Фортран ) tqsjac.zip |
Текст подпрограммы и версий ( Си ) qsjac_c.zip |
Тексты тестовых примеров ( Си ) tqsjac_c.zip |
Текст подпрограммы и версий ( Паскаль ) qsjac_p.zip |
Тексты тестовых примеров ( Паскаль ) tqsjac_p.zip |
Вычисление узлов и весов квадратурной формулы Гаусса - Якоби.
Подпрограмма 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 .