Parallel Colt

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.

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

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);
gollark: Also, it's ridiculously verbose and you don't get stack traces.
gollark: It's meant to encode the idea of the thing *or* an error being returned, but it doesn't; there's nothing in the type preventing you from just returning two things, or zero things.
gollark: (also, like many Go things it is not well integrated with anything else; the multiple returns aren't first class like python tuples, you can't unpack them into function calls, etc)
gollark: I like the basic concept, you can do fun stuff with it, but using them for error handling like that is not great.
gollark: You can also just use sshfs for mounting a remote filesystem over SSH.

References

  1. Official site "Parallel Colt Project Page" Check |url= value (help). Parallel Colt. Retrieved June 15, 2013.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.