Моя цель — найти собственные значения и векторы входной матрицы mxn
размер. Поскольку это прямоугольная матрица, преобразовать ее в квадратно-симметричную матрицу, выполнив транспонировать а потом матричное умножение с источником матрица.
После этого я использую библиотеку Intel MKL для определения собственных значений и векторов квадратно-симметричной матрицы. К сожалению, для квадратной симметричной матрицы размера 1000000 x 100000
Время от ~ 35 до ~ 40 секунд, что не подходит для моего приложения.
Любые предложения по улучшению производительности были бы очень полезны.
заранее спасибо
Большие проблемы с собственными значениями стоят дорого. Я бы предложил использовать решатель собственных значений FEAST, который доступен через библиотеку MKL. Я думаю, что FEAST 3.0 не доступен с MKL, но вы можете скачать и скомпилируйте его отдельно.
Он предлагает настраиваемое пространство поиска, если вам нужно только подмножество собственных пар, и распределенное / потоковое распараллеливание.
Других решений пока нет …