В настоящее время я работаю над решением очень больших симметричных (но не положительно определенных) систем, порожденных некоторыми определенными алгоритмами. Эти матрицы имеют хороший разреженный блок, который можно использовать для параллельного решения. Но я не могу решить, должен ли я использовать прямой подход (например, мультифронтальный) или итеративный (предварительно подготовленный GMRES или MINRES). Все мои исследования показывают, что итерационные решатели (даже при довольно быстрой сходимости из 7 внутренних итераций) не могут превзойти прямой оператор '\' в MATLAB. Но в теории прямые методы должны быть более дорогостоящими. Как это происходит? Есть ли какой-либо современный документ или бумага для такого случая? Могу ли я использовать разреженность блоков в параллельных системах с использованием прямых методов так же эффективно, как гибкие итерационные решатели, такие как GMRES?