Java Eigensolvers - PullRequest
       8

Java Eigensolvers

6 голосов
/ 12 марта 2011

Кто-нибудь знает о eigensolver в Java, который может дать мне только несколько наименьших собственных векторов без вычисления всей собственной разложения (а именно, второго наименьшего EV)?Я посмотрел на Colt, Jama, MTJ, UJMP, но эти пакеты вычисляют все собственные векторы.

Ответы [ 3 ]

2 голосов
/ 24 марта 2011

Можете ли вы описать вашу матрицу более подробно?Это редкость?В общем случае, разреженные пакеты линейной алгебры имеют методы для вычисления только нескольких наименьших или наибольших собственных пар.Например, вы можете попытаться использовать ARPACK из Java.

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

0 голосов
/ 10 мая 2016

MTJ включает в себя netlib-java и имеет оболочку для использования arpack, так что можно решить для заданного числа собственных значений и есть выбор атрибутов тех.

См https://github.com/fommil/matrix-toolkits-java/blob/master/src/test/java/no/uib/cipr/matrix/sparse/ArpackSymTest.java

и http://static.javadoc.io/com.googlecode.matrix-toolkits-java/mtj/1.0.4/no/uib/cipr/matrix/sparse/ArpackSym.html

0 голосов
/ 21 марта 2011

Не знаю, поможет ли это вам, но этой математической библиотеки нет в вашем списке.

Apache Commons Math

...