В настоящее время я пишу код, который включает в себя создание разреженной матрицы в Fortran и решение простой линейной системы AX = b. Для этого я использую разреженную матричную библиотеку Pardiso по просьбе супервизоров проекта.Fortran Pardiso проблемы с разреженной матрицей
Код разбит на две части. Первая половина строит матрицу и правую сторону, а вторая половина вызывает Пардисо для решения этой системы. I знает, что первая половина работает, поскольку экспорт этих данных за пределы Fortran и решение системы на Python дает точно ожидаемые результаты. Однако я не могу заставить Pardiso работать нормально, главным образом потому, что неправильно понимаю сообщения об ошибках, которые он дает. В руководстве объясняется очень мало, а интернет-форумы скудны (не предназначены для каламбуров), заполненных вопросами, связанными с Pardiso.
настройки, которые я использую для Pardiso следующим образом:
iparm(1)=0
iparm(2)=2
iparm(6)=0
iparm(10)=13
iparm(11)=1
iparm(13)=1
iparm(19)=0
iparm(21)=1
iparm(26)=1
iparm(52)=1
mtype = 11
iparm(3) = 1
solver=0
mtype=11
Ошибки я получаю:
ошибка проверки PARDISO (sequence_ido, параметры) error_num = 4 Вход:
matrix_number_new 22 ido 32675 несовместимы
Руководство или Интернет не дают никаких указаний относительно того, что это значит. pardiso_chkmatrix
и pardiso_printstats
не выплевывайте никаких ошибок, поэтому я не уверен, что происходит.