Более быстрый способ использования фортрана с октавой - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь смешать фортран с октавой для некоторых своих работ.

Я создал матрицу в fortran и записал ее в файл данных с помощью следующей команды.

do i=1,n
write(1,*) (/(a(i,j),j=1,n)/)
end do

Затем Я загружаю эту матрицу в октаву с помощью dlmread и диагонализирую матрицу с помощью eigs. Затем снова массив, содержащий собственные значения, сохраняется в файле в октаве.

После этого я загружаю файл в fortran и читаю этот массив.

Недостаток этого метода в том, что он требует огромное время для записи матрицы и чтения, а также для матрицы размером 10k * 10k требуется 2 ГБ. Есть ли другой способ вызвать подпрограммы октавы, такие как eigs в fortran, чтобы сделать это быстрее?

...