Дробная матрица власти в Clojure

Я пытаюсь работать с переходными матрицами в clojure. При преобразовании, скажем, годовой матрицы перехода рейтинга облигаций в квартальную, мне нужна 0,25 степень квадратной матрицы.

В python мы имеем дробную_матрицу_power от scipy как:

>>> from scipy.linalg import fractional_matrix_power
>>> a = np.array([[1.0, 3.0], [1.0, 4.0]])
>>> b = fractional_matrix_power(a, 0.5)
>>> b
array([[ 0.75592895,  1.13389342],
       [ 0.37796447,  1.88982237]])

В поисках Incanter и Parallel Colt мне еще предстоит что-то найти. Пробираться через javadocs и поиски в Google не помогли, но, может быть, "matrix" и "power" слишком общие, чтобы перейти к тому, что я ищу.

Мне действительно нужно перекодировать функцию Python или R, или я пропускаю какой-нибудь классный сайт с документами Colt?

1 ответ

Возможно, вы уже видели библиотеку core.matrix для Clojure. Он сфокусирован на базовой линейной алгебре и не имеет (пока!) Матричной функции экспоненты, как вы описываете.

Однако, если вы действительно перекодировали вышеприведенный алгоритм из Python в Clojure, я уверен, что это будет долгожданным дополнением к core.matrix,

Вам также следует изучить проект неандертальца, который сфокусирован на использовании графического процессора для матричных операций.

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