Я хочу сравнить лучшие 2 или 3 библиотеки для вычисления усеченной декомпозиции особых значений (SVD), то есть SVD, где сохраняются только k наибольших сингулярных значений. Кроме того, у меня есть эти ограничения:Лучший способ вычисления усеченного декомпозиции особых значений в java
- Он должен быть библиотекой Java
- Моих матриц разреженных (около 1% без нулевых значений)
- Моих матриц довольно большой (обычно 10k х 5k)
- Моих матриц также могут быть больше, чем высокие (5k х 10k)
Я столкнулся с довольно большим выбором библиотек, но, например, с Colt, я даже не знаю, если алгоритм SVD принимает учитывая, что моя матрица разрежена. Кроме того, я не нашел ни одной библиотеки, которая может напрямую вычислить усеченное решение (которое должно быть намного быстрее). На самом деле меня в основном интересует приблизительная матрица, полученная из усеченного SVD.
Спасибо по заранее за вашу помощь,
Romain Laroche
colt определенно слишком медленный, в моих настройках. Я собираюсь попробовать джаму, но из того, что я читал до сих пор, это не должно быть лучше. – Maveric78f
Кольт слишком медленный, но, что еще важнее, он работает только для прямоугольных матриц, которые выше ширины. – Maveric78f
Я пытаюсь [EJML] (https://code.google.com/p/efficient-java-matrix-library/), следуя рекомендациям [benchmark] (https://code.google.com/p/java-matrix-benchmark /) java-библиотек матриц. Он работает намного лучше, чем Colt, если память Java не заполняет пространство. – Maveric78f