Учитывая положительно определенную симметричную матрицу, каков самый быстрый алгоритм вычисления обратной матрицы и ее определителя? Для задач, которые меня интересуют, размер матрицы равен 30 или меньше.
- Высокая точность и скорость действительно необходимы. (выполняются миллионы матриц)
- Определитель необходим. В каждом расчете требуется только один элемент обратной матрицы. Спасибо!
algorithms
matrix
заказы
источник
источник
Ответы:
Как отмечает WolfgangBangerth, если у вас нет большого количества этих матриц (миллионов, миллиардов), производительность инверсии матриц обычно не является проблемой.
Если скорость является проблемой, вы должны ответить на следующие вопросы:
Стандартным ответом на вашу проблему обращения небольшой положительно определенной матрицы и вычисления ее детерминанта будет разложение Холецкого. ЕслиA=LLT , тогда det(A)=∏ni=1l2ii и .det(A−1)=∏ni=1l−2ii
Предполагая, что равно на , разложение Холецкого можно вычислить примерно за флопов, что составляет примерно половину стоимости разложения LU. Однако такой алгоритм не будет считаться «быстрым». Рандомизированы разложение LUA n n n3/3 может оказаться более быстрым алгоритмом, который стоит рассмотреть, если (1) вам действительно нужно вычислить большое количество матриц, (2) факторизация действительно является ограничивающим шагом в вашем приложении, и (3) любая ошибка, возникающая при использовании рандомизированного алгоритма, приемлемо. Ваши матрицы, вероятно, слишком малы, чтобы разреженные алгоритмы были полезны, поэтому единственные другие возможности для более быстрых алгоритмов потребовали бы дополнительной структуры матрицы (например, с полосами) или использования структуры проблемы (например, возможно, вы можете разумно реструктурировать свой алгоритм так, чтобы вы не больше нужно вычислять матрицу, обратную или ее определитель). Эффективные алгоритмы определителя - это примерно стоимость решения линейной системы с точностью до постоянного множителя, поэтому те же аргументы, что и для линейных систем, применимы и к вычислению определителей.
источник