Кольт (библиотеки) - Colt (libraries)

Кольт
Оригинальный автор (ы)NIST
Стабильный выпуск
1.2.0 / 9 сентября 2004 г. (2004-09-09)
Операционная системаКроссплатформенность
ТипБиблиотека
ЛицензияЦЕРН и LGPL
Интернет сайтACS.lbl.gov/программного обеспечения/ colt/

Кольт это набор Открытый исходный код Библиотеки для высокопроизводительных научных и технических вычислений, написанные на Ява и разработан в ЦЕРН. Кольт был разработан с упором на физику высоких энергий, но может применяться для решения многих других задач. Последний раз Colt обновлялся в 2004 году (когда текущим выпуском была Java 1.4), и его кодовая база была включена в Параллельный кольт кодовая база, получившая более позднее развитие.

Colt предоставляет инфраструктуру для масштабируемых научных и технических вычислений на Java. Это особенно полезно в области физики высоких энергий в ЦЕРНе. Он содержит, среди прочего, эффективные и удобные структуры данных и алгоритмы для автономного и оперативного анализа данных, линейной алгебры, многомерных массивов, статистики, гистограмм, моделирования Монте-Карло, параллельного и параллельного программирования. Он объединяет некоторые из лучших концепций, проектов и реализаций, со временем придуманных сообществом, переносит или улучшает их и вводит новые подходы там, где возникает необходимость.

Возможности

Ниже приводится обзор возможностей Colt, перечисленных на веб-сайте проекта:[1]

ОсобенностьОписание
Шаблонные списки и картыДинамическое изменение размеров списков, содержащих объекты или примитивные типы данных, такие как int, double и т. Д. Операции с примитивными массивами, алгоритмы со списками Colt и алгоритмы JAL (см. Ниже) могут свободно смешиваться с нулевыми накладными расходами на копирование. Подробнее. Автоматическое увеличение и уменьшение карт, содержащих объекты или примитивные типы данных, такие как int, double и т. Д.
Шаблонные многомерные матрицыПлотные и разреженные матрицы фиксированного размера (без изменения размера) 1,2, 3 и d, содержащие объекты или примитивные типы данных, такие как int, double и т. Д .; Также известны как многомерные массивы или кубы данных.
Линейная алгебраСтандартные матричные операции и разложения. LU, QR, Холецкий, собственное значение, сингулярное значение.
ГистограммаКомпактная, расширяемая, модульная и высокопроизводительная функция гистограмм. AIDA предлагает функции гистограммы HTL и HBOOK.
МатематикаИнструменты для базовой и продвинутой математики: арифметика и алгебра, многочлены и ряды Чебышева, функции Бесселя и Эйри, константы и единицы, тригонометрические функции и т. Д.
СтатистикаИнструменты для базовой и расширенной статистики: оценки, гамма-функции, бета-функции, вероятности, специальные интегралы и т. Д.
Случайные числа и случайная выборкаСильный, но быстрый. Частично порт CLHEP.
util.concurrentЭффективные служебные классы, часто встречающиеся в параллельном и параллельном программировании.

Пример использования

Пример разложения по сингулярным значениям (SVD):

SingularValueDecomposition s = новый SingularValueDecomposition(matA);DoubleMatrix2D U = s.getU();DoubleMatrix2D S = s.GetS();DoubleMatrix2D V = s.getV();

Пример умножения матриц:

Алгебра alg = новый Алгебра();DoubleMatrix2D результат = alg.мульт(matA,matB);

Рекомендации

  1. ^ "Страница проекта Кольта". Кольт. Получено 15 июня, 2013.