Parallel Colt is a set of multithreaded version of
Colt
Colt(s) or COLT may refer to:
*Colt (horse), an intact (uncastrated) male horse under four years of age
People
* Colt (given name)
*Colt (surname)
Places
*Colt, Arkansas, United States
*Colt, Louisiana, an unincorporated community, United States ...
. It is a collection of
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
libraries for High Performance Scientific and Technical Computing written in
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
. It contains all the original capabilities of Colt and adds several new ones, with a focus on multi-threaded algorithms.
Capabilities
Parallel Colt has all the capabilities of the original Colt library, with the following additions.
* Multithreading
* Specialized Matrix data structures
* JPlasma
** Java port of PLASMA (Parallel Linear Algebra for Scalable Multi-core Architectures).
* CSparseJ
** CSparseJ is a Java port of CSparse (a Concise Sparse matrix package).
* Netlib-java
** Netlib is a collection of mission-critical software components for linear algebra systems (i.e. working with vectors or matrices).
* Solvers and preconditioners
** Mostly adapted from
Matrix Toolkit Java
* Nonlinear Optimization
** Java translations of the 1-dimensional minimization routine from the
MINPACK MINPACK is a library of FORTRAN subroutines for the solving of systems of nonlinear equations, or the least-squares minimization of the residual of a set of linear or nonlinear equations.
MINPACK, along with other similar libraries such as LINPA ...
* Matrix reader/writer
* All classes that use
floating-point arithmetic
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
are implemented in single and double precision.
* Parallel quicksort algorithm
Usage Example
Example of Singular Value Decomposition (SVD):
DenseDoubleAlgebra alg = new DenseDoubleAlgebra();
DenseDoubleSingularValueDecomposition s = alg.svd(matA);
DoubleMatrix2D U = s.getU();
DoubleMatrix2D S = s.getS();
DoubleMatrix2D V = s.getV();
Example of matrix multiplication:
DenseDoubleAlgebra alg = new DenseDoubleAlgebra();
DoubleMatrix2D result = alg.mult(matA,matB);
References
{{reflist, refs=
[{{cite web , url=https://sites.google.com/site/piotrwendykier/software/parallelcolt Official site , title=Parallel Colt Project Page , work=Parallel Colt, accessdate=June 15, 2013]
Java (programming language) libraries