Как я могу использовать Scheme / Lisp / Clojure для задач Matrix / LP? - PullRequest
6 голосов
/ 18 июля 2009

Мне нужно выполнить численный анализ, подобный тому, который поддерживается MatLab или NumPy. Есть ли хорошая библиотека, которая поддерживается Scheme / Lisp / Clojure (Java)? Я не хочу оставлять свои круглые скобки.

Большое спасибо.

Ответы [ 5 ]

7 голосов
/ 18 июля 2009

Для Common Lisp см.

  • Matlisp : матричный пакет для Common Lisp (включает BLAS и LAPACK);
  • GSLL : Научная библиотека GNU для Lisp;

и другие на клики .

5 голосов
/ 18 июля 2009

Incanter - основанная на Clojure R-подобная статистическая вычислительная и графическая среда для JVM. В основе Incanter лежат библиотека чисел Parallel Colt, многопоточная версия Colt, библиотека графиков JFreeChart, а также несколько других библиотек Java и Clojure.

http://incanter.org/

5 голосов
/ 18 июля 2009

Лисп:

http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/math/matrix/0.html

Java:

Jama: http://math.nist.gov/javanumerics/jama/
Colt: http://acs.lbl.gov/~hoschek/colt/
Apache Commons математика: http://commons.apache.org/math/

Если важна скорость, вы можете попробовать Параллельный кольт: http://sites.google.com/site/piotrwendykier/software/parallelcolt

3 голосов
/ 18 июля 2009

Схема PLT приведена в пакете plt-linalg на планете. Существует также mzgsl , в котором есть привязки для научной библиотеки GNU.

2 голосов
/ 15 апреля 2013

core.matrix в настоящее время находится в стадии разработки, которая предоставит Clojure всесторонние возможности N-мерного массива (стиль NumPy): https://github.com/mikera/matrix-api

Важный момент, касающийся core.matrix, заключается в том, что он поддерживает несколько различных реализаций фоновой матрицы через один и тот же API.

Например, уже есть довольно хорошая / быстрая реализация чистого Java core.matrix под названием vectorz-clj , а другая - Clatrix , которая использует собственные библиотеки JBLAS.

Отказ от ответственности: я основной вкладчик в core.matrix и vectorz-clj.:

...