Линейные системы уравнений распространены в вычислительной статистике. Одна особая система, с которой я столкнулся (например, в факторном анализе), это система
где Здесь D - диагональная матрица n × n со строго положительной диагональю, Ω - симметричная положительная полуопределенная матрица m × m (с m ≪ n ), а B - произвольная n × м матрица. Нас просят решить диагональную линейную систему (легкую), которая возмущена матрицей низкого ранга. Наивный способ решить эту проблему выше, чтобы инвертировать A , используя формулу Woodbury в
, Однако это не совсем правильно, поскольку факторизации Холецкого и QR обычно могут значительно ускорить решение линейных систем (и нормальных уравнений). Недавно я подошел к следующей статье , в которой, похоже, используется подход Холецкого, и упоминается численная нестабильность инверсии Вудбери. Тем не менее, документ представляется в виде черновика, и я не смог найти численных экспериментов или подтверждающих исследований. Каков уровень техники для решения описанной мной проблемы?
1
@gappy, вы рассматривали возможность использования QR (или Cholesky) разложения для матрицы (средний член в формуле Вудберри)? Остальные операции представляют собой простые умножения матриц. Основным источником нестабильности является вычисление Ω - 1 . Поскольку т < < п Я подозреваю , это применение QR или Cholesky в сочетании с Вудбери будет быстрее , чем QR по всей матрице A . Это, конечно, не состояние дел, а общие замечания.
—
mpiktas
Я подозреваю, что то, что защищает Матиас Сигер, находится в от уровня техники, он очень яркий парень, и такого рода проблемы неоднократно возникают в моделях, которые он исследует. Я использую методы, основанные на Холецком, по тем же причинам. Я подозреваю, что в «Матричных вычислениях» Голуба и Ван Лоана есть обсуждение, которое является стандартным справочником для такого рода вещей (хотя у меня нет моей копии в руках).
—
Дикран Marsupial
Следует отметить , что, принимая ваша задача эквивалентна решению системы ( я + ˉ Б Ом ˉ Б Т ) х = ˉ б , где ˉ Ь = Д - 1 / 2 б . Это немного упрощает проблему. Теперь, если Σ = ˉ B Ω ˉ B T , мы знаем, что Σ положительно полуопределена с не более положительных собственных значений. Поскольку m ≪ n , нахождение m наибольших собственных значений и соответствующих собственных векторов может быть выполнено различными способами. Тогда решение имеет вид x = Q ( I + Λ ) - 1 Q T ˉ b, где Σ = Q Λ Q T дает собственное разложение Σ .
—
кардинал
в обоих случаях.) Обратите внимание, что все инверсии имеют диагональные матрицы и поэтому тривиальны.
—
кардинал