Software:Parallel Colt

From HandWiki
Parallel Colt
Original author(s)Piotr Wendykier
Stable release
0.9.4 / March 21, 2010 (2010-03-21)
Operating systemCross-platform
TypeLibrary
LicenseVarious
Websitesites.google.com/site/piotrwendykier/software/parallelcolt

Parallel Colt is a set of multithreaded version of Colt. It is a collection of open-source libraries for High Performance Scientific and Technical Computing written in Java. 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.[1]

  • 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
  • Nonlinear Optimization
    • Java translations of the 1-dimensional minimization routine from the MINPACK
  • Matrix reader/writer
  • All classes that use floating-point arithmetic 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