Алгоритм Видемана для решения Ax = 0 за O(nk) (10 апреля 2014)
- Ссылки
- [Wiedemann, смотри в конце слайдов]
- [Расширенный алгоритм Евклида для многочленов, смотри 17 главу]
- [Что-то, что гуглится на тему Берликэмпа-Месси]
- k − число ненулевых элементов в матрице A, пусть k ≥ n.
- Теорема Гамильтона-Кэли: χA(A) = 0
- Рассмотрим случайные вектора x, y. И последовательность zk = xAky, k ≥ 0, первые ее m членов можно посчитать за O(mk)
- ∀P : P(A) = 0 ⇒ xP(A)y = 0 ⇒ zk линейно реккурентно порождена, длина рекуурентности не более n
- Алгоритмом Берликэмпа-Месси за O(m2) найдем реккурентное соотношение. Алгоритм корректен, если m ≥ 2n.
- w = ΣqkAkz, w можно посчитать за O(mk), с большой вероятностью w ≠ 0
- xAw = 0, x − случаен ⇒ с большой вероятностью Aw = 0, w − нетривиальное решение системы
- Общее время работы: O(nk)