Текст подпрограммы и версий
zp43r_c.zip 
Тексты тестовых примеров
tzp43r_c.zip 

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

Назначение

Вычисление значения многочлена, заданного разложением по ортогональным многочленам.

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

Вычисляется величина

                      n  
            Y  =   ∑    Ck Qk -1(X) ,
                     k =1 

где  Х - значение аргумента, C = ( c1, c2, ..., cN ) заданные коэффициенты разложения многочлена по системе { Qk (x) } ортогональных многочленов, удовлетворяющих трехчленному рекуррентному отношению:

        Q0(x)  =  1  ,      Q1(x)  =  x - a1  ,

        Qk +1(x)  =  ( x - ak +1 ) Qk(x) - bk Qk -1(x)  ,     k = 1, 2, ..., N-2 

с известными коэффициентами А = ( a1, a2, ..., aN - 1 ),  B = ( b1, b2, ..., bN - 2 ).

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

    int zp43r_c (real *a, real *b, real *c, real *x, real *y,
            integer *n)

Параметры

a - вещественный вектор длины n - 1, содержащий коэффициенты  ak рекуррентного соотношения;
b - вещественный вектор длины n - 2, содержащий коэффициенты  bk рекуррентного соотношения;
c - вещественный вектор длины  n, содержащий коэффициенты разложения многочлена по системе ортогональных многочленов;
x - значение аргумента (тип: вещественный);
y - вычисляемое значение многочлена (тип: вещественный);
n - число коэффициентов разложения (тип: целый).

Версии: нет

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

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

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

int main(void)
{
    /* Initialized data */
    static float a[2] = { 0.f,1.f };
    static float b[1] = { 1.f };
    static float c__[3] = { 1.f,1.f,1.f };

    /* Local variables */
    extern int zp43r_c(float *, float *, float *, float *, float *, int *);
    static int n;
    static float x, y;

    n = 3;
    x = 1.f;
    zp43r_c(a, b, c__, &x, &y, &n);

    printf("\n %16.7e \n", y);
    return 0;
} /* main */


Результат:    y = 1.