все.
У меня мало опыта по решению уравнений линейной алгебры.
Но теперь мне нужно решить сжатое линейное уравнение для большого разреженного блока.
то есть Ax=b
.
Матрица A
состоит из подблоков, размер которых (nb,nb)
. и размер A
составляет (N,N)
субблоков.
Тогда реальный размер матрицы A
равен (nb*N,nb*N)
.
Существует только несколько подблоков. И A
является доминирующим по диагонали.
Я попробовал встроенные щупальцы Eigen. то есть SimplicialLLT и BiCGSTAB, первое медленно, а второе не может сходиться.
Затем я попробовал сторонние решатели Eigen с Intel MKL, то есть PardisoLLT 、 PardisoLDLT и PardisoLU. Они тоже были медленными.
Наконец, я попробовал сторонние решатели Eigen с SuiteSparse, то есть CHOLMOD и SPQR. Первый медленный, в то время как второй дал то же значение ввода, похоже, он не работал.
Думаю, возможно, это из-за того, что я использовал решатели неправильно, что я не воспользовался функцией "сжатия блока" и, таким образом, вызвал много бесполезных вычислений.
Может ли кто-нибудь дать мне несколько советов?