Могут ли быть решены диагональные плюс фиксированные симметричные линейные системы за квадратичное время после предварительного вычисления?

21

Существует ли метод O(n3+n2k) для решения k линейных систем вида (Di+A)xi=bi где A - фиксированная SPD-матрица, а Di - положительные диагональные матрицы?

Например, если каждый Di скалярен, достаточно вычислить СВД из A . Однако, это нарушается для общего D из-за недостаточной коммутативности.

Обновление : ответы пока "нет". У кого-нибудь есть интересная интуиция относительно того, почему? Отсутствие ответа означает, что нет нетривиального способа сжатия информации между двумя некоммутирующими операторами. Это не удивительно, но было бы здорово понять это лучше.

Джеффри Ирвинг
источник
СПД = полуположительно определен?
rcollyer
Да, хотя проблема, по сути, та же, без СПД. Я добавил это ограничение только для того, чтобы системы никогда не были единичными.
Джеффри Ирвинг

Ответы:

19

Ближайшие положительные ответы на ваш вопрос, которые я смог найти, - для разреженных диагональных возмущений (см. Ниже).

С учетом вышесказанного я не знаю ни одного алгоритма для общего случая, хотя есть обобщение упомянутой вами техники для скалярных сдвигов от SPD-матриц ко всем квадратным матрицам:

Для любой квадратной матрицы существует разложение Шура A = U T U H , где U унитарное, T верхняя треугольная, а A + σ I = U ( T + σ I ) U H обеспечивает разложение Шура A + σ I . Таким образом, ваша идея предварительного вычисления распространяется на все квадратные матрицы с помощью алгоритма:AA=UTUHUTA+σI=U(T+σI)UHA+σI

  • Вычислить не более чем за O ( n 3 ) .[U,T]=schur(A)O(n3)
  • Решите каждую через x : = U ( T + σ I ) - 1 U H b в O ( n 2 ) произведении (средняя инверсия - просто обратная замена).(A+σI)x=bx:=U(T+σI)1UHbO(n2)

Эта линия рассуждений сводится к тому подходу, который вы упомянули, когда является SPD, поскольку разложение Шура сводится к EVD для нормальных матриц, и EVD совпадает с SVD для эрмитовых положительно определенных матриц.A

Ответ на обновление: Пока у меня нет доказательств, которых у меня нет, я отказываюсь утверждать, что ответ «нет». Тем не менее, я могу дать некоторое представление о том, почему это трудно, а также другой пример, где ответ - да.

Существенная трудность заключается в том, что, хотя обновление является диагональным, оно по-прежнему имеет полный ранг, поэтому основной инструмент обновления обратного, формула Шермана-Моррисона-Вудбери , похоже, не помогает. Несмотря на то, что случай скалярного сдвига также является полным рангом, это чрезвычайно особый случай, поскольку, как вы упоминали, он коммутирует с каждой матрицей.

С учетом вышесказанного , если каждый был разреженным, т. Е. Каждый из них имел O ( 1 ) ненулей, то формула Шермана-Моррисона-Вудбери дает решение O ( n 2 ) с каждой парой { D , b } . Например, с одним ненулевым значением в j- й диагональной записи, так что D = δ e j e H j :DO(1)O(n2){D,b}jD=δejejH

[A1+δejejH]1=A1δA1ejejHA11+δ(ejHA1ej),

где - это j- й стандартный базисный вектор .ejj

Еще одно обновление: я должен упомянуть, что я попробовал предварительное условие которое @GeoffOxberry предложило на нескольких случайных матрицах SPD 1000 × 1000 с использованием PCG, и, возможно, неудивительно, что, по-видимому, значительно сокращается число итераций, когда | | D | | 2 / | | A | | 2 мало, но не тогда, когда оно равно O ( 1 ) или больше.A11000×1000||D||2/||A||2O(1)

Джек Полсон
источник
12

Если является по диагонали доминирующим для каждого I , то последняя работа Koutis, Miller, и Peng (см сайт Koutis' для работы на симметричных диагонали доминирующих матриц) могут быть использованы для решения каждой системы в O ( п 2(Di+A)i время (фактически O ( m log ( n ) ) время, где m - максимальное количество ненулевых записей в ( D i + A ) за всеO(n2log(n))O(mlog(n))m(Di+A) , так что вы могли бы также воспользоваться редкостью). Тогда общее время выполнения будет O ( n 2 log ( n ) k ) , что лучше, чемподход O ( n 3 k ) решения каждой системы наивно с использованием плотной линейной алгебры, но немного хуже, чем квадратичное время выполнения. просишь.iO(n2log(n)k)O(n3k)

Значительная разреженность в для всех i может быть использована разреженными решателями для получения алгоритма O ( n 2 k ) , но я предполагаю, что если бы вы имели значительную разреженность, то вы бы упомянули об этом.(Di+A)iO(n2k)

Вы также можете использовать в качестве предварительного условия для решения каждой системы, используя итерационные методы, и посмотреть, как это работает.A1

Ответ на обновление : @JackPaulson подчеркивает важность линейной алгебры и алгоритмов. Вместо этого я сосредоточусь на аргументах сложности вычислений.

Вычислительная сложность решения линейных систем и вычислительная сложность умножения матриц по существу равны. (См. Теорию алгебраической сложности .) Если вы могли бы найти алгоритм, который мог бы сжимать информацию между двумя некоммутирующими операторами (игнорируя положительную полуопределенную часть) и непосредственно решать набор систем, которые вы предлагаете за квадратичное время по , то это вероятно, вы могли бы использовать такой алгоритм, чтобы сделать выводы о более быстром умножении матриц. Трудно понять, как можно использовать положительную полуопределенную структуру в плотном прямом методе для линейных систем, чтобы уменьшить ее вычислительную сложность.n

Как и @JackPaulson, я не хочу сказать, что ответ «нет» без доказательства, но, учитывая вышеприведенные связи, проблема очень сложная и представляет текущий исследовательский интерес. Лучшее, что вы могли бы сделать с асимптотической точки зрения, не используя специальную структуру, - это усовершенствование алгоритма Копперсмита и Винограда, дающее алгоритм , где α 2.375 . Этот алгоритм будет трудно кодировать, и он, вероятно, будет медленным для небольших матриц, потому что постоянный фактор, предшествующий асимптотической оценке, вероятно, огромен относительно исключения Гаусса.O(nαk)α2.375

Джефф Оксберри
источник
3
Мне еще предстоит увидеть конкретное утверждение о том, где может быть кроссовер, но несколько авторитетных источников заявили, что (без реализации), Coppersmith-Winograd не может превзойти стандартные методы для размеров матриц, которые смогут поместиться в памяти в ближайшем будущем. (несколько десятилетий). Учитывая, что тесту Linpack на современных топовых машинах требуется больше дня, маловероятно, что Coppersmith-Winograd когда-либо будет использоваться на практике. Штрассен на самом деле практичен для больших задач, хотя он несколько менее численно стабилен.
Джед Браун
Это меня не удивляет. +1 за детали реализации.
Джефф Оксберри
6

Разложение Тейлора первого порядка можно использовать для улучшения сходимости по сравнению с простым запаздыванием. Предположим , что мы имеем предобуславливатель (или факторы прямого решения) для , и мы хотим использовать его для предобусловливание A . Мы можем вычислитьA+DA

A1=(A+DD)1(A+D)(A+D)1=[(A+D)1(A+DD)]1(A+D)1=[I(A+D)1D]1(A+D)1[I+(A+D)1D](A+D)1

A+D

D0Dminσ(A)

2A+DA+D

Джед браун
источник