Алгоритм Бэрликэмпа-Мэсси

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