Кольт (библиотеки)
Оригинальный автор(ы) | НИСТ |
---|---|
Стабильная версия | 1.2.0
/ 9 сентября 2004 г. |
Операционная система | Кросс-платформенный |
Тип | Библиотека |
Лицензия | ЦЕРН и LGPL |
Веб-сайт | АС |
Colt — это набор библиотек с открытым исходным кодом для высокопроизводительных научных и технических вычислений, написанных на Java и разработанных в CERN . Кольт был разработан с упором на физику высоких энергий, но применим и для решения многих других задач. Последний раз Colt обновлялся в 2004 году (когда текущей версией была Java 1.4), и его кодовая база была включена в кодовую базу Parallel Colt , которая получила более позднее развитие.
Colt предоставляет инфраструктуру для масштабируемых научных и технических вычислений на Java. Это особенно полезно в области физики высоких энергий в ЦЕРН. Он содержит, среди прочего, эффективные и удобные структуры данных и алгоритмы для автономного и онлайн-анализа данных, линейной алгебры, многомерных массивов, статистики, построения гистограмм, моделирования Монте-Карло, параллельного и параллельного программирования. Он объединяет некоторые из лучших концепций, проектов и реализаций, придуманных сообществом с течением времени, портирует или улучшает их и вводит новые подходы там, где возникает необходимость.
Возможности
[ редактировать ]Ниже приводится обзор возможностей Colt, перечисленных на веб-сайте проекта: [1]
Особенность | Описание |
---|---|
Шаблонные списки и карты | Динамическое изменение размера списков, содержащих объекты или примитивные типы данных, такие как int, double и т. д. Операции с примитивными массивами, алгоритмы в списках Colt и алгоритмы JAL (см. ниже) можно свободно смешивать с нулевыми затратами на копирование. Подробнее. Автоматическое увеличение и уменьшение карт, содержащих объекты или примитивные типы данных, такие как int, double и т. д. |
Шаблонные многомерные матрицы | Плотные и разреженные 1-, 2-, 3- и d-мерные матрицы фиксированного размера (без изменения размера), содержащие объекты или примитивные типы данных, такие как int, double и т. д.; Также известны как многомерные массивы или кубы данных. |
Линейная алгебра | Стандартные матричные операции и разложения. LU, QR, Холецкий, собственное значение, сингулярное значение. |
Гистограммирование | Компактная, расширяемая, модульная и производительная функция построения гистограмм. AIDA предлагает функции построения гистограмм HTL и HBOOK. |
Математика | Инструменты для базовой и продвинутой математики: арифметика и алгебра, полиномы и ряды Чебышева, функции Бесселя и Эйри, константы и единицы измерения, тригонометрические функции и т. д. |
Статистика | Инструменты для базовой и расширенной статистики: оценки, гамма-функции, бета-функции, вероятности, специальные интегралы и т. д. |
Случайные числа и случайная выборка | Сильный, но быстрый. Частично порт CLHEP. |
полезный | Эффективные служебные классы, часто встречающиеся в параллельном и параллельном программировании. |
Пример использования
[ редактировать ]Пример разложения по сингулярным значениям (SVD):
SingularValueDecomposition s = new SingularValueDecomposition(matA);
DoubleMatrix2D U = s.getU();
DoubleMatrix2D S = s.getS();
DoubleMatrix2D V = s.getV();
Пример умножения матрицы:
Algebra alg = new Algebra();
DoubleMatrix2D result = alg.mult(matA,matB);
Ссылки
[ редактировать ]- ^ «Страница проекта Кольта» . Кольт . Проверено 15 июня 2013 г.