библиотека c ++ для вычисления наибольшего собственного вектора большой разреженной матрицы

В рамках более масштабной задачи (спектральная кластеризация на изображениях) я должен вычислить собственный вектор, соответствующий наибольшему собственному значению матрицы.
Матрица довольно большая (250000 строк / столбцов), симметричная и с полосами ~ 100 записей в каждой строке.

На самом деле мне даже не нужен реальный собственный вектор, но (относительно) грубая аппроксимация была бы достаточной, поэтому я подозреваю, что итерационный решатель был бы наиболее подходящим.

Кажется, ARPACK был бы предпочтительным оружием, но необходимость компилировать его из кода Fortran и затем оборачивать интерфейс C ++ вокруг него, кажется своего рода поворотом. Есть ли альтернативы (желательно полностью закодированные в c ++)?

В настоящее время использую OpenCV и Eigen3, я даже думал о реализации своего собственного метода итераций, но почему-то я думаю, что должна быть библиотека, которая делает его более эффективным и стабильным, чем я когда-либо мог …

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector