Colt (libraries)

Colt
Original authorNIST
Stable release
1.2.0 / September 9, 2004 (2004-09-09)
Operating systemCross-platform
TypeLibrary
LicenseCERN and LGPL
Websiteacs.lbl.gov/software/colt/

Colt is a set of open-source libraries for high-performance scientific and technical computing written in Java and developed at CERN. Colt was developed with a focus on high energy physics, but is applicable to many other problems. Colt was last updated in 2004 (when Java 1.4 was the current release) and its code base has been incorporated into the Parallel Colt code base, which has received more recent development.

Colt contains, among other things, data structures and algorithms for offline and online data analysis, linear algebra, multi-dimensional arrays, statistics, histogramming, Monte Carlo simulation, and parallel & concurrent programming.

Capabilities

The following is an overview of Colt's capabilities, as listed on the project's website:[1]

Feature Description
Templated Lists and Maps Dynamically resizing lists holding objects or primitive data types such as int, double, etc. Operations on primitive arrays, algorithms on Colt lists and JAL algorithms (see below) can freely be mixed at zero copy overhead. More details. Automatically growing and shrinking maps holding objects or primitive data types such as int, double, etc.
Templated Multi-dimensional matrices Dense and sparse fixed sized (non-resizable) 1,2, 3 and d-dimensional matrices holding objects or primitive data types such as int, double, etc.; Also known as multi-dimensional arrays or Data Cubes.
Linear Algebra Standard matrix operations and decompositions. LU, QR, Cholesky, Eigenvalue, Singular value.
Histogramming Compact, extensible, modular and performant histogramming functionality. AIDA offers the histogramming features of HTL and HBOOK.
Mathematics Tools for basic and advanced mathematics: Arithmetics and Algebra, Polynomials and Chebyshev series, Bessel and Airy functions, Constants and Units, Trigonometric functions, etc.
Statistics Tools for basic and advanced statistics: Estimators, Gamma functions, Beta functions, Probabilities, Special integrals, etc.
Random Numbers and Random Sampling Strong yet quick. Partly a port of CLHEP.
util.concurrent Efficient utility classes commonly encountered in parallel & concurrent programming.

Usage example

Example of singular value decomposition (SVD):

SingularValueDecomposition s = new SingularValueDecomposition(matA);
DoubleMatrix2D U = s.getU();
DoubleMatrix2D S = s.getS();
DoubleMatrix2D V = s.getV();

Example of matrix multiplication:

Algebra alg = new Algebra();
DoubleMatrix2D result = alg.mult(matA,matB);

See also

References

  1. ^ "Colt Project Page". Colt. Retrieved June 15, 2013.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.