решатель разреженных матриц для f90

Я имею дело с матрицами до N = 10 ^ 7 x N = 10 ^ 7; количество ненулевых элементов составляет примерно 6 x N. (Эти элементы сгруппированы по диагонали.) Моя RAM имеет размер 16 Gbt; поэтому мне явно нужен решатель разреженных матриц. Я запускаю Ubuntu LINUX и использую fortran90 (gfortran), точнее говоря, ratfor90.

У меня есть LAPACK, но он, похоже, не поддерживает решение разреженных матриц. (я ошибаюсь?) MATLAB должен быть хорош, но я не хочу тратить много времени на знакомство с ним; время поджимает. У меня установлен old / gold slatec, и я использую его для спецификаций. функции; есть ли у него редкие матричные процедуры?

Я слышал об ARPACK, но можно ли его использовать как простой решатель? можно ли его вызвать из гфортрана?

Любое другое предложение?

Спасибо, - Алекс


person Al Kap    schedule 28.08.2013    source источник


Ответы (2)


Ты прав. Lapack к этой задаче неприменим.

Решатели Direct Sparse предоставляются библиотеками MUMPS, UMFPACK, SuperLU. Также PETSc - это собрание библиотеки, в котором можно найти много информации.

Вы можете найти пакет Ubuntu, доступный для всех этих библиотек.

person ztik    schedule 28.08.2013

ARPACK - это пакет, который решает проблемы с собственными значениями, но сам по себе он не является решателем. Не уверен, что вы сможете решить свою проблему на 16 Гб. Я рекомендую взглянуть на freefem ++

person kuligram    schedule 11.10.2013
comment
Спасибо за комментарий. Freefem кажется отличным пакетом для решения PDF, но, похоже, будет излишним входить в него только для решения разреженных матриц ... - person Al Kap; 15.10.2013