Текст подпрограммы и версий ( Фортран )
zp60r.zip  zp60d.zip 
Тексты тестовых примеров ( Фортран )
tzp60r.zip  tzp60d.zip 
Текст подпрограммы и версий ( Си )
zp60r_c.zip  zp60d_c.zip 
Тексты тестовых примеров ( Си )
tzp60r_c.zip  tzp60d_c.zip 
Текст подпрограммы и версий ( Паскаль )
zp60r_p.zip  zp60e_p.zip 
Тексты тестовых примеров ( Паскаль )
tzp60r_p.zip  tzp60e_p.zip 

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

Назначение

Вычисление значений полиномов Чебышева от последовательности значений аргументов

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

Пусть задана последовательность значений X = (x1, x2,..., xM). Подпрограмма ZP60R вычисляет значения полиномов Чебышева Tk ( xi ), k = 0, 1,..., N, которые размещаются в двумерном массиве  T  размеров N + 1 на M следующим образом:

                            |   T0( x1 ),  T0( x2 ),  ...  ,  T0( xM )    |
                            |   T1( x1 ),  T1( x2 ),  ...  ,  T1( xM )    |
                  T   =     . . . . . . . . . . . . . .                                                   (1)
                            |   TN( x1 ),  TN( x2 ), ... ,  TN( xM )  |

Вычисления выполняются по рекуррентному соотношению

           Tk( xi )   =   2 xi Tk-1( xi )  -  Tk-2( xi ),   k = 2, 3,..., N 

Бахвалов Н.С. Численные методы. М.: Наука, 1977

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

    SUBROUTINE  ZP60R (X, M, N, N1, T) 

Параметры

X - вещественный одномерный массив, длины M, содержащий заданные значения аргументов;
M - длина массива X (тип: целый);
N - заданное максимальное значение степеней полиномов Чебышева, значения которых необходимо вычислить на заданной сетке X (тип: целый);
N1 - заданное значение, равное N+1 (тип: целый);
T - вещественный двумерный массив размеров N1 на M, в котором размещаются вычисленные значения полиномов Чебышева в виде (1)

Версии

ZP60D - вычисление значений полиномов Чебышева от последовательности значений аргументов в режиме удвоенной точности; при этом параметры X и T должны иметь тип DOUBLE PRECISION

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

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

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

      DIMENSION X(6), T(5, 6) 
      DATA X /0.0, 1.0, 2.0, 3.0, 4.0, 5.0/ 
      M = 6 
      N = 4 
      N1 = 5 
      CALL  ZP60R (X, M, N, N1, T) 

Результаты: 

                     |    1    1     1       1       1        1    |
                     |    0    1     2       3       4        5    |
           T  =    |  -1    1     7    17      31      49    |
                     |    0    1   26    99   244      485   |
                     |    1    1   97  577  1921   4801   |