проблема массива Java - PullRequest
       39

проблема массива Java

1 голос
/ 30 января 2010

Я задавал вопрос раньше, но Даффимо сказал, что это не ясно, поэтому я собираюсь опубликовать его снова здесь Я использую Jama API для расчета SVD. Я очень хорошо знаю о джаме и СВД. Jama не работает, если в вашем столбце больше строк. У меня такая ситуация. Что я должен делать?? любая помощь? Я тоже не могу транспонировать матрицу, поскольку она может давать неправильные результаты. Спасибо.

П.С .: Я рассчитываю LSI с помощью джама. Я иду как столбец (документы) и строки (условия)

Ответы [ 4 ]

1 голос
/ 27 февраля 2010

Почему бы не использовать транспонирование? Если X = USV ', то X' = VS'U '. Правильно?

Транспонируйте свою матрицу. Получите U, S и V. Переставьте все обратно.

1 голос
/ 31 января 2010

Если я правильно понимаю, вы пытаетесь вычислить SVD матрицы, которая не является квадратной, и у вас есть библиотека JAMA, которая работает только с квадратными матрицами?Если я вас правильно понял, то ответ на ваш вопрос очевиден: найдите библиотеку, которая вычисляет SVD для неквадратных матриц.Если я правильно помню, что Numeric Recipes содержит такой алгоритм, я думаю, вы можете найти много других источников в Google.

0 голосов
/ 13 февраля 2012

Я сейчас очень поздно отвечу. Но я думал, что лучше поздно, чем никогда

Но я знаю, что jblas эффективно выполняет SVD.

0 голосов
/ 29 апреля 2010

Поскольку вы работаете с LSI, вы можете использовать SVDLIBJ, который является Java-эквивалентом SVDLIBC, который является одной из наиболее масштабируемых реализаций SVD, которые доступны бесплатно. В пакете S-Space уже установлен инструмент командной строки для SVDLIBJ . Кроме того, вы можете использовать их библиотеки Matrix и избегать командной строки, если это лучше соответствует вашим потребностям.

...