Инверсия матриц, умножение и собственные вычисления в Hadoop

Мне нужно выполнить эти три шага: - Найти инверсию квадратной симметричной матрицы - Умножить результат на другую квадратную симметричную матрицу - Наконец, найти собственные векторы и собственные значения результирующей матрицы

Код Python:

S_i = np.linalg.inv(S1)
S_m = S_i*S2
evector, evalue = np.linalg.eig(S_m)

Существует ли существующая реализация этих шагов в структуре Hadoop Map-Reduce?

Я знаю о реализации SVD в Mahout, и обратная матрица может быть вычислена с использованием SVD при условии, что в Hadoop есть эффективная реализация умножения. Кроме того, я не смог найти никакой реализации вычисления собственного вектора для Hadoop.

Любые предложения / указатели будут полезны.

1 ответ

Чтобы вписать вычисления векторов Eigen в MapReduce, вы можете взглянуть на это: http://en.wikipedia.org/wiki/Divide-and-conquer_eigenvalue_algorithm

Также этот ответ здесь, как реализовать вычисление собственных значений с MapReduce/Hadoop? подробности как

PageRank решает проблему доминантных собственных векторов, итеративно находя стационарное состояние дискретного потока в сети.

Другие вопросы по тегам