Каков наилучший алгоритм решения матрично-диагональной матрицы? - PullRequest
1 голос
/ 29 апреля 2010

Я пытаюсь найти лучший способ решения пятиугольной матрицы. Есть ли что-то более быстрое, чем устранение по Гауссу?

1 Ответ

4 голосов
/ 29 апреля 2010

Вы должны выполнить декомпозицию матрицы LU или Холецкого, в зависимости от того, является ли ваша матрица эрмитовой положительно определенной или нет, а затем выполнить обратную подстановку с помощью факторов. По сути, это просто исключение Гаусса, но оно имеет лучшие числовые свойства. Я рекомендую использовать LAPACK, так как эти реализации, как правило, самые быстрые и надежные. Посмотрите на подпрограммы _GBSV , где пробел равен одному из s, d, c, z, в зависимости от типа вашего номера.

Редактировать : Если вы спрашиваете, существует ли алгоритм быстрее метода фактора / решения (исключения Гаусса), то нет. Специализированная подпрограмма факторизации для полосовой матрицы занимает около 4n * k ^ 2 операций (k - пропускная способность), в то время как обратное замещение требует около 6 * n * k операций. Таким образом, для фиксированной полосы пропускания вы не можете добиться большего успеха, чем линейное время в n.

...