Введение

Рекурсия Левинсона или рекурсия Левинсона-Дурбина — это процедура в линейной алгебре для рекурсивного вычисления решения уравнения, включающего матрицу Топлица. Алгоритм выполняется за время O(n), что является значительным улучшением по сравнению с исключением Гаусса-Жордана, которое выполняется за Θ(n³). Алгоритм Левинсона-Дурбина был впервые предложен Норманом Левинсоном в 1947 году, улучшен Джеймсом Дурбином в 1960 году, а затем оптимизирован до 4n² и затем 3n² умножений соответственно У. Ф. Тренчем и С. Зохаром. Другие методы обработки данных включают разложение Шура и разложение Холецкого. По сравнению с ними рекурсия Левинсона (особенно разделенная рекурсия Левинсона) обычно быстрее в вычислительном плане, но более чувствительна к вычислительным неточностям, таким как ошибки округления. Алгоритм Барейса для матриц Топлица (не следует путать с общим алгоритмом Барейса) работает примерно так же быстро, как рекурсия Левинсона, но использует O(n²) памяти, в то время как рекурсия Левинсона использует только O(n) памяти. Однако алгоритм Барейса численно устойчив, в то время как рекурсия Левинсона в лучшем случае лишь слабо устойчива (то есть демонстрирует численную устойчивость для хорошо обусловленных линейных систем). Новые алгоритмы, называемые асимптотически быстрыми или иногда сверхбыстрыми алгоритмами Топлица, могут решать за Θ(n logᵖ n) для различных p (например, p = 2, p = 3). Рекурсия Левинсона остается популярной по нескольким причинам: во-первых, её относительно легко понять; во-вторых, она может быть быстрее сверхбыстрого алгоритма для малых n (обычно n < 256).

Алгоритм Блока Левинсона

Если матрица M не является строго Топлиц, а блочной Топлиц, рекурсия Левинсона может быть выведена аналогичным образом, рассматривая блочную Топлиц-матрицу как Топлиц-матрицу с матричными элементами (Musicus 1988). Блочные Топлиц-матрицы естественно возникают в алгоритмах обработки сигналов при работе с несколькими потоками сигналов (например, в системах MIMO) или циклостационарными сигналами.