Рекурсия Левинсона
Рекурсия Левинсона или рекурсия Левинсона-Дурбина — это процедура в линейной алгебре , позволяющая рекурсивно вычислить решение уравнения, включающего матрицу Теплица . Алгоритм Θ за n ( работает 2 ) время, что является значительным улучшением по сравнению с методом исключения Гаусса–Жордана , который работает за Θ( n 3 ).
Алгоритм Левинсона-Дурбина был впервые предложен Норманом Левинсоном в 1947 году, улучшен Джеймсом Дурбином в 1960 году и впоследствии улучшен до 4 n 2 а затем 3 н 2 умножения У. Ф. Тренча и С. Зохара соответственно.
Другие методы обработки данных включают разложение Шура и разложение Холецкого . По сравнению с ними рекурсия Левинсона (особенно разделенная рекурсия Левинсона) имеет тенденцию быть быстрее в вычислительном отношении, но более чувствительна к вычислительным неточностям, таким как ошибки округления .
Алгоритм Барейсса для матриц Теплица (не путать с общим алгоритмом Барейсса ) работает примерно так же быстро, как рекурсия Левинсона, но использует O ( n 2 ) пространства, тогда как рекурсия Левинсона использует только O ( n ) пространства. Однако алгоритм Барейсса численно стабилен . [1] [2] тогда как рекурсия Левинсона в лучшем случае лишь слабо устойчива (т. е. она демонстрирует численную устойчивость для хорошо обусловленных линейных систем). [3]
Новые алгоритмы, называемые асимптотически быстрыми или иногда сверхбыстрыми алгоритмами Теплица, могут решать в Θ( n log п n ) для различных p (например, p = 2, [4] [5] р = 3 [6] ). Рекурсия Левинсона остается популярной по нескольким причинам; во-первых, это относительно легко понять в сравнении; с другой стороны, он может быть быстрее сверхбыстрого алгоритма при малых n (обычно n < 256). [7]
Вывод [ править ]
Предыстория [ править ]
Матричные уравнения имеют вид
Алгоритм Левинсона-Дурбина можно использовать для любого такого уравнения, если M — известная матрица Теплица с ненулевой главной диагональю. Здесь — известный вектор , и — неизвестный вектор чисел x i, который еще предстоит определить.
В рамках этой статьи ê i — это вектор, полностью состоящий из нулей, за исключением i -го места, которое содержит значение единицы. Его длина будет неявно определяться окружающим контекстом. Термин N относится к ширине приведенной выше матрицы — M — размера N × N. матрица Наконец, в этой статье верхние индексы относятся к индуктивному индексу , тогда как нижние индексы обозначают индексы. Например (и определение) в этой статье матрица T н — это матрица размера n × n , которая копирует верхний левый размера n × n блок из M , то есть T н ij знак равно M ij .
Т н также является матрицей Теплица, то есть ее можно записать как
Вводные шаги [ править ]
Алгоритм выполняется в два этапа. На первом этапе два набора векторов, называемые прямым и обратным устанавливаются векторами. Прямые векторы используются для получения набора обратных векторов; то их можно сразу выбросить. Обратные векторы необходимы для второго шага, где они используются для построения желаемого решения.
Рекурсия Левинсона – Дурбина определяет n й «прямой вектор», обозначаемый , как вектор длины n, который удовлетворяет:
Затем й «обратный вектор» определяется аналогично; это вектор длины n, который удовлетворяет:
Важное упрощение может произойти, когда M является симметричной матрицей ; то эти два вектора связаны соотношением b н я = ж н n +1− i — то есть они переворачивают строки друг друга. В этом особом случае это может сэкономить некоторые дополнительные вычисления.
Получение обратных векторов [ править ]
Даже если матрица несимметрична, то n й Вектор вперед и назад можно найти из векторов длины n - 1 следующим образом. Во-первых, прямой вектор можно расширить нулем, чтобы получить:
Идя от Т п -1 до Т н , дополнительный столбец, добавленный в матрицу, не искажает решение, когда для расширения прямого вектора используется ноль. дополнительная строка Однако добавленная в матрицу исказила решение; и это создало нежелательный член ошибки ε f , который появляется на последнем месте. Приведенное выше уравнение дает ему значение:
Эта ошибка будет вскоре возвращена и устранена из нового прямого вектора; но сначала обратный вектор необходимо продлить аналогичным (хотя и обратным) способом. Для обратного вектора
Как и раньше, дополнительный столбец, добавленный в матрицу, не нарушает этот новый обратный вектор; но дополнительная строка делает. Здесь мы имеем еще одну нежелательную ошибку ε b со значением:
Эти два термина ошибки можно использовать для формирования прямых и обратных векторов более высокого порядка, описанных следующим образом. Используя линейность матриц, для всех имеет место следующее тождество: :
Если α и β выбраны так, что правая часть дает ê 1 или ê n , то величина в скобках будет соответствовать определению n й вектор вперед или назад соответственно. Если выбраны альфа и бета, векторная сумма в скобках проста и дает желаемый результат.
Чтобы найти эти коэффициенты, , таковы, что:
и соответственно , таковы, что:
Умножив оба предыдущих уравнения на получается следующее уравнение:
Теперь, когда все нули в середине двух векторов выше игнорируются и сворачиваются, остается только следующее уравнение:
После решения этих задач (с использованием формулы обратной матрицы Крамера 2×2) новые прямые и обратные векторы будут следующими:
Таким образом, выполнение этих векторных суммирований дает n й векторы вперед и назад от предыдущих. Остается только найти первый из этих векторов, а затем быстрые суммы и умножения дают оставшиеся. Первые прямой и обратный векторы просто:
Использование обратных векторов [ править ]
Вышеупомянутые шаги дают N обратных векторов для M . Отсюда более произвольное уравнение:
Решение может быть построено тем же рекурсивным способом, которым были построены обратные векторы. Соответственно, необходимо обобщить на последовательность промежуточных , такой, что .
Затем решение строится рекурсивно с учетом того, что если
Затем снова расширяем нулем и определяем константу ошибки, где это необходимо:
Затем мы можем использовать n й обратный вектор, чтобы исключить ошибку и заменить ее нужной формулой следующим образом:
Расширение этого метода до тех пор, пока n = N не даст решение .
На практике эти этапы часто выполняются одновременно с остальной частью процедуры, но они образуют единое целое и заслуживают того, чтобы рассматриваться как отдельный этап.
Блок-алгоритм Левинсона [ править ]
Если M не является строго Теплицем, а блочным Теплицем, рекурсия Левинсона может быть получена почти таким же способом, рассматривая блочную матрицу Теплица как матрицу Теплица с матричными элементами (Musicus 1988). Блочные матрицы Теплица естественным образом возникают в алгоритмах обработки сигналов при работе с несколькими потоками сигналов (например, в системах MIMO ) или циклостационарными сигналами.
См. также [ править ]
Примечания [ править ]
- ^ Боянчик и др. (1995).
- ^ Брент (1999).
- ^ Кришна и Ван (1993).
- ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 25 марта 2012 г. Проверено 1 апреля 2013 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 15 ноября 2009 г. Проверено 28 апреля 2009 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «Архивная копия» (PDF) . saaz.cs.gsu.edu . Архивировано из оригинала (PDF) 18 апреля 2007 года . Проверено 12 января 2022 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 5 сентября 2006 г. Проверено 15 августа 2006 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка )
Ссылки [ править ]
Определение источников
- Левинсон, Н. (1947). «Критерий ошибки Винера RMS при проектировании и прогнозировании фильтров». Дж. Математика. Физ. , т. 25, стр. 261–278.
- Дурбин, Дж. (1960). «Подбор моделей временных рядов». Преподобный Инст. Межд. Стат. , т. 28, стр. 233–243.
- Тренч, ВФ (1964). «Алгоритм обращения конечных теплицевых матриц». Дж. Сок. Промышленность. Прил. Математика. , т. 12, стр. 515–522.
- Музыкус, БР (1988). «Алгоритмы Левинсона и быстрого Холецкого для теплицевых и почти теплицевых матриц». РЛЭ ТР №538, МИТ. [1]
- Дельсарт П. и Генен ЮВ (1986). «Алгоритм Сплита Левинсона». Транзакции IEEE по акустике, речи и обработке сигналов , v. ASSP-34(3), стр. 470–478.
Дальнейшая работа
- Боянчик, А.В.; Брент, РП; Де Хоог, Франция; Сладкий, ДР (1995). «Об устойчивости алгоритмов факторизации Барейсса и связанных с ним Теплица». Журнал SIAM по матричному анализу и приложениям . 16 : 40–57. arXiv : 1004.5510 . дои : 10.1137/S0895479891221563 . S2CID 367586 .
- Брент Р.П. (1999), «Стабильность быстрых алгоритмов для структурированных линейных систем», Быстрые надежные алгоритмы для матриц со структурой (редакторы — Т. Кайлат, А. Х. Сайед), глава 4 ( SIAM ).
- Банч, младший (1985). «Устойчивость методов решения систем уравнений Теплица». СИАМ J. Sci. Стат. Вычислить. , т. 6, стр. 349–364. [2]
- Кришна, Х.; Ван, Ю. (1993). «Алгоритм Сплит-Левинсона слабо устойчив» . SIAM Journal по численному анализу . 30 (5): 1498–1508. дои : 10.1137/0730078 .
Резюме
- Бэкстрем, Т. (2004). «2.2. Рекурсия Левинсона – Дурбина». Линейное прогнозирующее моделирование речи – ограничения и разложение пар линейного спектра. Докторская диссертация. Номер отчета. 71 / Хельсинкский технологический университет, лаборатория акустики и обработки аудиосигналов. Эспоо, Финляндия. [3]
- Клербаут, Джон Ф. (1976). «Глава 7 – Применение метода наименьших квадратов для сигналов». Основы обработки геофизических данных. Пало-Альто: Научные публикации Блэквелла. [4]
- Пресс, WH; Теукольский, С.А.; Феттерлинг, WT; Фланнери, BP (2007), «Раздел 2.8.2. Матрицы Теплица» , Численные рецепты: искусство научных вычислений (3-е изд.), Нью-Йорк: Cambridge University Press, ISBN 978-0-521-88068-8
- Голуб, Г.Х., и Лоан, К.Ф. Ван (1996). «Раздел 4.7: Теплиц и родственные системы» Матричные вычисления , Издательство Университета Джонса Хопкинса