Я пытаюсь решить линейную систему Ax=b
где A
is 3x3
симметричный положительно определенный.Для 3х3 только симметричной и положительно определенной линейной системы Холецкий все еще быстрее, чем Домхолдер?
Хотя это низкий масштаб, мне придется повторять его для разных A
s миллионов раз. Поэтому эффективность по-прежнему важна.
Существует множество решателей для линейных систем (C++, через Eigen). Я лично предпочитаю: HouseholderQr().solve()
, и llt().solve()
, ldlt().solve()
.
Я знаю, что когда n
очень велик, решатели, основанные на разложении Холески, быстрее, чем у Домахолдеров. Но для моего случая, когда n
всего 3, как я могу сравнить их относительную эффективность? Есть ли какая-либо формула для точного анализа float operation
?
спасибо
LAPACK очень медленно для небольших матриц, к тому же, если его только 3x3, то все должно быть раскатывают в Эйгене Я надеюсь – Lindon
Я не уверен, я согласен, что LAPACK очень медленно для малые матрицы. Мне было бы интересно увидеть контрольный показатель между ним и Эйген. Поставщики также реализуют свои собственные версии функций LAPACK, таких как DPOSV. Было бы интересно проверить версию INTEL MKL LAPACK. – codehippo