The Colt distribution provides an infrastructure for scalable scientific and technical computing in Java. It contains, among others, efficient and usable data structures and algorithms for Off-line and On-line Data Analysis, Linear Algebra, Multi-dimensional arrays, Statistics, Histogramming and Monte Carlo Simulation, Parallel & Concurrent Programming.
The Colt distribution consists of several free Java libraries, for user convenience bundled under one single uniform umbrella. Namely the Colt library, the Jet library, the JAL library, the RngPack library, the CoreJava library, the Concurrent library and the VNI library. The Colt library provides fundamental general-purpose data structures optimized for numerical data, such as resizable arrays, dense and sparse matrices (multi-dimensional arrays), linear algebra, associative containers and buffer management. The Jet library contains mathematical and statistical tools for data analysis, powerful histogramming functionality, Random Number Generators and Distributions useful for (event) simulations, and more. The JAL library, a partial port of the C++ Standard Template Library developed by Silicon Graphics, contains a wide range of efficiently coded general-purpose algorithms on arrays. The RngPack library contains random number generators. The CoreJava library contains C-like print formatting. The Concurrent library contains standardized, efficient utility classes commonly encountered in parallel & concurrent programming. Finally, the VNI library contains mathematical functions and complex numbers.
You should use Colt if your applications consume significant ressources and
mainly deal with numerical concepts. In overlapping areas, the kit is competitive
or superior to toolkits such as STL,
Root,
HTL, CLHEP, TNT,
GSL,
C-RAND
/ WIN-RAND, (all C/C++) as well as
IBM Array,
JDK 1.2 Collections framework,
JGL (all Java), in terms of performance, (re)usability and functionality.
Colt is available on the CERN Colt homepage.
Follow the instructions to download it. A distribution download contains
HTML documentation | Executive summary, installation details, a tutorial, a reference manual, FAQs, news, and feedback |
Javadoc HTML API documentation | Extensive documentation for each package, class, and method. |
One single cross-platform shared library | The file colt.jar is a cross-platform shared library containing the entire distribution compiled to immediately executable format. Thus, a user can start to work by setting one single environment variable. He/she never needs to bother about compilation/architecture/linker issues. |
Source code for all libraries | and everything else needed to build the entire distribution from scratch - in case you want to have fun |
Makefile | Automatically builds the entire download file from scratch. Everything from compilation, HTML documentation, javadoc, jarring, zipping, packaging, etc. is build by this makefile, even the sentence you currently read. |
Note | People interested in using but not building the distribution will never need the source codes and the makefile; they can be deleted. |
For example by using Winzip, or
jar -xvf colt1.0.3.zip (ships with the JDK and can be found in the same directory as javac), or by typing
unzip colt1.0.3.zip
IMPORTANT: Using tools other than jar may produce subtle inconsistencies. On Digital Unix unzip may produce lowercase file names where they should be upper case. On Linux, Solaris and other Unixes unzip may not correctly restore file and directory permissions, preventing you from browsing the HTML documentation (although you can manually correct that). In short, tools other than jar are not officially supported.
The directory should now contain a README.html file, the files colt.jar, src.zip and a directory doc.
Unix
The command to set environment variables may be one of set, export, or setenv. For example,
export CLASSPATH=usr/local/lib/colt.jar:$CLASSPATH
In case of problems, see the JDK documentation Solaris CLASSPATH.
Windows
set CLASSPATH=D:\colt\colt.jar;%CLASSPATH%
In case of problems, see the JDK documentation Windows CLASSPATH.
The entire distribution is implemented in 100% pure Java, and runs on any platform that uses Sun's JDK or other compatible VMs. Colt, Jet and util.concurrent require JDK 1.2.0 or higher. JAL, RngPack, CoreJava and VNI require JDK 1.1.x or higher. Tested on Linux, Solaris and NT. In addition, users are running it on AIX, Digital Unix, SGI and HP. Everything also runs happily under JDK1.3.
Subscribing
Join the discussion mailing list. This list will also announce the availability of new releases. To sign up for the list, please send an email to ListServer@listbox.cern.ch. The email should have the body
subscribe colt
The email's subject is irrelevant. Your name and address will not be used for purposes other than this mailing list.Posting
To post to the list, send mail to colt@listbox.cern.ch.
Unsubscribing
To unsubscribe from the list send an email to ListServer@listbox.cern.ch.The email should have the body
unsubscribe colt
The email's subject is irrelevant.
Yes. There is a name clash. Colt is both a Java library and the name of a larger distribution containing several libraries, including the Colt library. The Colt library is not shipped separately, only as part of the Colt distribution.