Я посмотрел пару таких же проблем и нашел ответы, но я бы сказал, что у меня «особая проблема», потому что это, по крайней мере, странно. Я использую arpack ++ и superlu solver для решения проблемы собственных значений с помощью метода shift и инвертирования.
Проблема возникает, когда размер матрицы приближается. более 6600×6600. Допустим, 7000×7000.
Это часть ошибки:
*** glibc detected *** ./lnsymreg: free(): invalid next size (normal): 0x00000000009f9020 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7eb96)[0x7f195d1e7b96]
/usr/lib/libsuperlu.so.3(get_perm_c+0x2e7)[0x7f195ee39057]
./lnsymreg[0x40f295]
./lnsymreg[0x40bd25]
./lnsymreg[0x40aa68]
./lnsymreg[0x408ac8]
./lnsymreg[0x4053de]
./lnsymreg[0x40436c]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x7f195d18a76d]
./lnsymreg[0x401f39]
======= Memory map: ========
00400000-0041d000 r-xp 00000000 07:00 131922 /home/zokxter /arpack++/examples/superlu/nonsym/lnsymreg
Может кто-нибудь дать мне просто способ подойти к проблеме.
Спасибо.
Задача ещё не решена.