Version 1.2.0 (Sep 10, 2004)
  • Removed com.isml.math.* package (If you need Complex numbers, download and use Jakarta Commons Math instead)
  • Documentation is now auto generated
  • Fixed Algebra.normInfinity(DoubleMatrix1D x) (
  • Upgraded package util.concurrent from version 1.3.2 to 1.3.4 (package name edu.oswego... becomes EDU.oswego...)
Version 1.1.0 (Oct 29, 2003)
  • This version breaks the 1.9 Gflop/s barrier on JDK ibm-1.4.1, RedHat 9.0, 2x IntelXeon@2.8 GHz.
  • Redesigned documentation and web site
  • Moved build system to ANT
  • Upgraded package util.concurrent from version 1.3.1 to 1.3.2, which is now a separate jar
  • Upgraded package corejava to corejava-2002-11-16, which is now licensed under LGPL.
  • Removed packages ViolinStrings, edu.cornell.lassp.houle.RngPack, jal.*
  • Colt now requires jdk 1.2.x
  • Fixed covariance bug in cern.jet.stat.Descriptive (scott white "")
  • Fixed bug in cern.jet.random.Normal.nextDouble in combination with setState() (
  • Fixed bug in cern.jet.stat.quantile.EquiDepthHistogram (Brett Neumeier
  • RCDoubleMatrix2D was unnecessarily restricted in shape (double)columns*rows <= Integer.MAX_VALUE). Is now only limited by nonZeroes <= Integer.MAX_VALUE
Version 1.0.3 (Nov 22, 2002)
  • This version breaks the 1.3 Gflop barrier on JDK ibm-1.4.1, RedHat 8.0, 2x Pentium4@2.2 GHz.
  • Upgraded package util.concurrent from version 1.3.0 to 1.3.1
  • Fixed bug in cern.jet.random.Uniform.nextInt (
  • Fixed small bug in cern.colt.Partitioning and cern.colt.matrix.doublealgo.Partitioning
  • Fixed Poisson.staticNextInt()
  • Fixed infinite loop in Logarithmic.nextDouble() for some parameter combinations
  • Fix for CholeskyDecomposition.solve (MG Ferreira "")
  • cern.jet.stat.quantile.QuantileFinderFactory should ignore N if if known_N is false.
  • class PrintFormat is unreliable - do not use it. matrix print formatting is now reverted back to use corejava.Format instead.
  • MersenneTwister had a small problem, which is now fixed with Matsumotos code from 2002/1/26.
  • cern.jet.stat.Probability.studentT and cern.jet.random.StudentT were only defined for values >= 0
  • cern.colt.bitvector.BitVector.replaceFromToWith(int from, int to, boolean value) treated leading partial unit incorrectly (Olivier Janssens "")
Version 1.0.2 (Nov 08, 2001)
  • Added GenericSorting.mergeSort for "stable" in-place sorting of arbitrary shaped data
  • Upgraded the ViolinStrings package to V1.0. Michael Schmeling reports that two split methods which were contributed by Eric Jablow have been added and some minor documentation bugs have been fixed.
  • Upgraded package util.concurrent from version 1.2.5 to 1.3.0
  • Added 2d matrix versions of daxpy(), dcopy(), dscal(), dswap() to Blas, SeqBlas, SmpBlas (
  • MersenneTwister now also allows zero seed (
  • Fix for serious SparseDoubleMatrix2D and Open<type>Map performance degradation
  • RCDoubleMatrix2D.assign(otherMatrix) got faster
  • RCDoubleMatrix2D.assign(double) got faster
  • DenseDoubleMatrix{1,2,3}D.assign(double) got faster
  • DenseDoubleMatrix2D.zMult got a bit faster for very large problem sizes
  • Algebra.normInfinity(DoubleMatrix1D x) and Algebra.normInfinity(DoubleMatrix2D A) were incorrect (
  • SeqBlas.dger() and SeqBlas.dtrmv() were incorrect (
  • ObjectArrayList.toList() threw IndexOutOfBoundsException
  • RCDoubleMatrix2D was unnecessarily restricted in shape (double)columns*rows <= Integer.MAX_VALUE). Is now only limited by nonZeroes <= Integer.MAX_VALUE
  • cern.colt.matrix.linalg.Property.equals(..) gave wrong results when comparing exotic special cases NaN, inf, -inf.
  • cern.colt.matrix.doublealgo.Sorting was not NaN aware. In compliance with the JDK sorts, it now swaps NaNs to the end.
  • Property.isIdentity bug fix
  • Polynomial.p1evl javadoc was misleading
  • Added matrix mergesorts. Matrix quicksorts alone were not enough, because matrices are frequently sorted successively by multiple columns. In order to preserve the relative order of equal elements a so-called "stable" sort was needed. Mergesort is such a thing.

    To enable this, some minor changes were necessary. Please update your source code as follows

    Old style New style

    cern.colt.matrix.doublealgo.Sorting.quickSort.sort(...) or cern.colt.matrix.doublealgo.Sorting.mergeSort.sort(...)

  • matrix.viewSorted(...) methods now use mergesort instead of quicksort.
Version 1.0.1 (May 15, 2000)
  • New blocked algorithm improved performance of out-of-cache matrix-matrix and matrix-vector mult (Blas.dgemm and dgemv).
  • Added parallel implementations of assign(function) to the BLAS (Basic Linear Algebra System). See cern.colt.matrix.linalg.
  • Fixed a bad bug in GenericPermuting. This one caused incorrect results to LU solving.
  • SmpBlas.dgemm and dgemv threw exceptions when asking for transpositions.
Version 1.0.0
  • Powerful, extendible and performant histogram abstractions, improving ways for the statistical study of experimental data.
  • Matrix functionality and performance improvements
  • Sequential and parallel implementations of the BLAS (Basic Linear Algebra System). See cern.colt.matrix.linalg.
  • Sparse row compressed matrix implementation - RCDoubleMatrix2D
  • Major performance improvements for many matrix operations, in particular optimizations detecting function objects for scaling (+,-,*,/, ...), delegating to optimized internal implementations
  • For performance added generalized matrix-matrix and matrix-vector mult: C = alpha*A*B + beta*C and z = alpha*A*y + beta*z with or without transpositions
  • Added the long awaited histogram packages hep.aida , hep.aida.ref and hep.aida.bin. The stable bins formerly found in cern.jet.histo have been moved to hep.aida.bin and cern.jet.histo has been dropped.
  • Added histogram and OLAP cube operators to cern.colt.matrix.doublealgo.Statistic.
  • Added sampling views to cern.colt.matrix.doublealgo.Statistic
  • Efficient matrix quicksort using precomputation; added to cern.colt.matrix.doublealgo.Sorting
  • Stencil methods for finite difference operations in cern.colt.matrix.doublealgo.Stencil
  • DoubleMatrix1D.getNonZeros(IntArrayList indexList, DoubleArrayList valueList, int maxCardinality) had a bug, hence Algebra.inverse sometimes produced wrong answers.
  • QRDecomposition
  • matrix.viewStrides() sometimes gave wrong shape
  • matrix.zMult(...) sometimes threw ArrayIndexOutOfBoundsExceptions
  • DynamicBin1D.max() sometimes gave wrong answer -infinity
  • Distance matrix in cern.colt.matrix.doublealgo.Statistic now works on user defined distance functions
  • Moved cern.colt.matrix.DoubleTransform to cern.colt.matrix.doublealgo.Transform (sorry)
Version 1.0 Beta4
  • Renamed to lower case: EDU.oswego.cs.dl.util.concurrent --> edu.oswego.cs.dl.util.concurrent (resolves collisions of multiple edu packages)
  • cern.colt.matrix.linalg.Algebra.trace() now returns a double.
  • Improved build process (makefile)
  • package cern.colt.matrix - bug fixes and performance improvements
  • Stronger separation of matrix interfaces and matrix implementations:
    • the implementations of matrix data structures moved from package cern.colt.matrix to package cern.colt.matrix.imp
    • matrix factories moved from cern.colt.matrix.algo to cern.colt.matrix
  • Formatter objects - Matrix formatting much extended and now also possible using java.lang.Double.toString(double)
  • Moved cern.jet.math.Unit and cern.jet.math.PhysicalConstants to cern.clhep
  • Uniform.nextDouble() now returns a value between min and max, as specified upon instance construction
  • package cern.colt.matrix.linalg - Linear Algebra
  • Additional convenience methods in matrix factories
  • cern.colt.matrix.DoubleTransform: Additional convenience methods for element-by-element transformations
  • Introduced Object matrices
  • A few additional methods in DynamicBin1D related to sampling, bootstrapping, correlation
  • Performance log of compute intensive matrix computations
  • Now also redistributing util.concurrent framework - Standardized, efficient utility classes commonly encountered in concurrent programming
  • package cern.clhep - Starting to port CLHEP (C++)

Copyright © 1999, CERN - European Organization for Nuclear Research Valid HTML 4.01! Valid CSS!