2010-09-13 3 views
2

У меня есть уравнение y = 3 (x + 1)^2 + 5 (x + 1)^4.Эффективная полиномиальная оценка с алгоритмом Хорнера

Используя схему Хорнера, я мог бы оценить этот многочлен в этой форме, y = 8 + x (26 + x (33 + x (20 + 5x))), что требует 8 арифметических операций.

Я мог бы также оценить его в этой форме, y = (x + 1)^2 * ((5x + 10) x + 8), требуя 7 операций.

Мне сказали, что это можно сделать в 5 операциях, но алгоритм Хорнера должен быть наиболее эффективным, и он может делать это только в 7 операциях. Я что-то упускаю?

+3

Кто сказал, что Хорнера должен быть наиболее эффективным во всех случаях? Это полезная общая техника, а не панацея. –

+0

Спасибо за примечание. – ZuluForce

ответ

6

Пусть a = (x + 1)^2, это 2 ops. Тогда y = 3a + 5a^2 = a (3 + 5a), еще 3 ops в общей сложности 5.

+0

Спасибо. Я удивлен, что не думал о вычислении общего (x + 1), а затем подключался и факторинг. – ZuluForce

1

3(x+1)^2 + 5(x+1)^4 = (x+1)^2[3 + 5(x+1)^2].

я могу сделать это в 5 операций:

1) x+1 
2) (x+1)^2 
3) 5(x+1)^2 
4) 5(x+1)^2 + 3 
5) (x+1)^2[5(x+1)^2 + 3]