Алгоритм Бэрликэмпа-Мэсси
- Задача: дана последовательность длины n, порожденная линейным реккурентным соотношением длины k (n >= 2k)
- Достаточно взять первые 2k чисел, т.е. пусть n = 2k и асимптотика будет от k
- Простое решение за O(k3) -- Гаусс.
- Алгоритм Бэрликэмпа-Мэсси решает данную задачу за O(k2)
- 2k чисел − многочлен A. k неизвестных − многочлен P
- Fk = 5Fk-1 + 7Fk-2 ⇒ P(x) = 7x2 + 5x - 1, где 7 и 5 будут неизвестными.
- Рассмотрим A(x)P(x). Все промежуточные коэффициенты будут равны нулю.
- A(x)P(x) = R(x) + x2kS(x), где degR, degS < k
- Даны, A(x) и x2k, найти P(x), R(x), S(x) можно расширенным алгоритмом Евклида.