Возвратные уравнения
Back Home Up Next

Рассмотрим две задачи, относящиеся к возвратным уравнениям. Начнем с определения.

Уравнение вида

a0×xn + a1×xn-1 + ... + an = 0                                                 (20)

называется возвратным (или возвратным первого рода), если a0 ¹ 0 и коэффициенты членов левой части (20), равноотстоящие от концов, равны между собой. Левую часть (20) называют возвратным многочленом. Записать его можно так:

f(x) = a0×xn + a1×xn-1 + ... + a1×x + a0 .

В дальнейшем нам будут полезны следующие простейшие свойства возвратных уравнений.

Возвратное уравнение не имеет корней, равных нулю (a0 ¹ 0).
Если b есть корень (20), то 1/b также является корнем (20). В самом деле:

Возвратное уравнение f(x)=0 нечетной степени всегда имеет корень, равный -1:

f(-1) = -a0 + a1 - a2 + ... + a2 - a1 + a= 0.

Частное от деления многочлена f(x) нечетной степени на x+1 снова является возвратным многочленом (доказывается по индукции).

Последнее свойство сводит вопрос о решении любых возвратных уравнений к решению возвратных уравнений лишь четной степени:

a0×x2×n + a1×x2×n-1 + ... + ak×xk + ... + a1×x + a0 = 0.                             (21)

 Но для (21) можно записать равносильное уравнение:

                            (22)

 Далее, если положить y=x+1/x и учесть “символьную рекуррентность”:

                      (23)

то индукцией по n доказывается, что левая часть (20) выражается через y в виде некоторого многочлена jn(y) степени n.

адача 47. Пусть

Написать рекурсивную программу-функцию, возвращающую вектор последовательных коэффициентов многочлена jn(y) от старшей степени и ниже.

Решение. Из определения jn(y) и соотношений (23) вытекает, что

                                    (24)

Обозначим через a(k) (k=0, 1, …, n) векторы коэффициентов многочленов jk(y) и дополним их до длины n+1 начальными нулевыми компонентами. Тогда

a(0) = (0, 0, ..., 0, 2)T     и     a(1) = (0, 0, ..., 1, 0)T

Далее, если уже определены векторы a(k-2) и a(k-1), то в соответствии со второй строкой (21) a(k) можно построить следующим образом. Начальную компоненту a(k-1) удаляем, к концу усеченного вектора добавляем нулевую компоненту и из результата вычитаем вектор a(k-2) .

Именно эти идеи и реализованы в рекурсивной функции coeff(n,v,w,k), куда в качестве фактических параметров из головной программы coef(n) передаются значения n, v=a(0), w=a(1), а также вспомогательный параметр k, имеющий начальное значение, равное n, и служащий для организации рекурсивных обращений.

Контрольные примеры:

coef(1)T = [1    0],         coef(4)T = [1    0    -4    0    2],

coef(9)T = [1    0    -9    0    27    0    -30    0    9    0].   

адача 48. Написать рекурсивную программу-функцию, сводящую возвратное уравнение (21) степени 2×n (n=1, 2, …) к уравнению j(y)=0 степени n относительно переменной y=x+1/x. Результат должен быть возвращен в виде вектора последовательных коэффициентов j(y), начиная со старшей степени и далее.

Решение. Фактически нам необходимо перейти от уравнения (21) к равносильному уравнению (22) и произвести подстановку y=x+1/x. А для этого требуется вычислить коэффициенты многочленов jj(y) (j = 0, 1, ..., n), то есть векторы a(j). Но функция coef(j) предыдущей задачи именно это и делает. Головная программа в этом случае может выглядеть так:

При обращении к функции equa(A) в качестве фактического параметра должен передаваться вектор с компонентами, представляющими собой первые n+1 последовательных коэффициентов исходного возвратного уравнения.

 Контрольный пример:

 

Иными словами, получили уравнение:

Замечание. Уравнение f(x)=0 называют возвратным уравнением второго рода, если многочлен f(x) имеет четную степень и его коэффициенты, равноотстоящие от концов, при четных степенях x равны, а при нечетных - равны по абсолютной величине и противоположны по знаку. Для таких уравнений степень также может быть понижена в два раза. Делается это подстановкой z=x-1/x.

Home Содержание Схемы ООД Доска объявлений Поиск