Алгоритм Бартельса – Стюарта
В числовой линейной алгебре алгоритм Бартельса – Стюарта используется для численного решения матричного уравнения Сильвестра. . Разработан Р. Х. Бартельсом и Г. В. Стюартом в 1971 году. [ 1 ] это был первый численно стабильный метод, который можно было систематически применять для решения таких уравнений. Алгоритм работает с использованием реальных разложений Шура и трансформировать в треугольную систему, которую затем можно решить с помощью прямой или обратной замены. В 1979 году Г. Голуб , К. Ван Лоан и С. Нэш представили улучшенную версию алгоритма, [ 2 ] известный как алгоритм Хессенберга-Шура. Это остается стандартным подходом к решению уравнений Сильвестра, когда имеет малый и средний размер.
Алгоритм
[ редактировать ]Позволять и предположим, что собственные значения отличны от собственных значений . Тогда матричное уравнение имеет единственное решение. Алгоритм Бартельса – Стюарта вычисляет применив следующие шаги: [ 2 ]
1. Вычислите реальные разложения Шура .
Матрицы и представляют собой блочные верхнетреугольные матрицы с диагональными блоками размера или .
2. Установить
3. Решите упрощенную систему , где . Это можно сделать с помощью прямой замены блоков. В частности, если , затем
где это й столбец . Когда , столбцы должны быть объединены и решены одновременно.
4. Установите
Стоимость вычислений
[ редактировать ]Используя алгоритм QR , реальные разложения Шура на шаге 1 требуют примерно проваливается, так что общие вычислительные затраты равны . [ 2 ]
Упрощения и частные случаи
[ редактировать ]В частном случае, когда и симметрично, решение также будет симметричным. Эту симметрию можно использовать так, что более эффективно находится на этапе 3 алгоритма. [ 1 ]
Алгоритм Хессенберга – Шура
[ редактировать ]Алгоритм Хессенберга – Шура [ 2 ] заменяет разложение на шаге 1 с разложением , где — матрица верхнего Хессенберга . Это приводит к системе вида это можно решить с помощью прямой замены. Преимущество этого подхода в том, что можно найти с помощью отражений Домохозяев по цене проваливается по сравнению с флопов, необходимых для вычисления реального разложения Шура .
Программное обеспечение и реализация
[ редактировать ]Подпрограммы, необходимые для варианта Хессенберга-Шура алгоритма Бартельса-Стюарта, реализованы в библиотеке SLICOT. Они используются в наборе инструментов системы управления MATLAB.
Альтернативные подходы
[ редактировать ]Для больших систем стоимость алгоритма Бартельса – Стюарта может быть непомерно высокой. Когда и являются разреженными или структурированными, так что линейные решения и умножения матриц-векторов с их участием являются эффективными, итерационные алгоритмы потенциально могут работать лучше. К ним относятся методы, основанные на проекциях, которые используют подпространства Крылова итерации , методы, основанные на неявной итерации чередующегося направления (ADI), и гибридизации, которые включают как проекцию, так и ADI. [ 3 ] Итерационные методы также можно использовать для непосредственного построения аппроксимаций низкого ранга к при решении .
Ссылки
[ редактировать ]- ^ Jump up to: а б Бартельс, Р.Х.; Стюарт, GW (1972). «Решение матричного уравнения AX+XB=C[F4]» . Коммуникации АКМ . 15 (9): 820–826. дои : 10.1145/361573.361582 . ISSN 0001-0782 .
- ^ Jump up to: а б с д Голуб, Г.; Нэш, С.; Ссуда, К. Ван (1979). «Метод Хессенберга – Шура для задачи AX + XB = C». Транзакции IEEE при автоматическом управлении . 24 (6): 909–913. дои : 10.1109/TAC.1979.1102170 . hdl : 1813/7472 . ISSN 0018-9286 .
- ^ Симончини, В. (2016). «Вычислительные методы решения линейных матричных уравнений». Обзор СИАМ . 58 (3): 377–441. дои : 10.1137/130912839 . hdl : 11585/586011 . ISSN 0036-1445 . S2CID 17271167 .