Я использую UMFPACK для решения Ax = B, где A и B — матрицы. В настоящее время в моей реализации я решаю x (:, i) = A \ b (:, i) один за другим, чтобы получить x. Есть ли способ напрямую получить x без необходимости циклически перебирать каждый столбец B, как это делает LAPACK?
Боюсь, что нет. Руководство пользователя UMFPACK p59, о umfpack _ * _ решить рутину (ы):
Эта процедура не решает несколько правых частей и не позволяет хранить b в виде разреженных столбцов.
Также в разделе «Будущая работа»:
Процедуры решения могут обрабатывать несколько правых и редких правых сторон.
Что скорее подразумевает, что это не поддерживается в настоящее время.
Других решений пока нет …