Material Detail

Universal Java Matrix Package

Universal Java Matrix Package

This video was recorded at 27th International Conference on Machine Learning (ICML), Haifa 2010. The Universal Java Matrix Package (UJMP) is an open source Java library which provides sparse and dense matrix classes, as well as a large number of calculations for linear algebra like matrix multiplication or matrix inverse. Operations such as mean, correlation, standard deviation, replacement of missing values or the calculation of mutual information are supported also. The Universal Java Matrix Package provides various visualization methods, import and export filters for a large number of file formats, and the possibility to link to tables in JDBC databases. Multi-dimensional matrices as well as generic matrices with a specified object type are supported and very large matrices with up to 2^63 rows and columns can be handled even when they do not fit into memory. A central concept of UJMP is the separation of interfaces, abstract classes and their implementations, which makes it very easy to exchange the underlying data storage. Thus, a matrix in our framework can be an array of values in main memory, a file on disk or a table in an SQL database. In fact, the actual storage implementation becomes secondary and UJMP can even integrate other matrix libraries such as JAMA or Colt, making UJMP's visualization and import and export filters available to these libraries. On the other hand, UJMP can also decide to redirect calculations to other matrix libraries, depending on matrix size and computer hardware. UJMP uses multiple threads for calculations, which results in much better performance compared to JAMA or Colt on modern hardware. UJMP also includes interfaces to Matlab, Octave and R, which makes it easy to perform calculations not available in Java. While some parts of UJMP are pretty stable by now, a lot of development is still going on in other parts. Developers are welcome to contribute!


  • User Rating
  • Comments
  • Learning Exercises
  • Bookmark Collections
  • Course ePortfolios
  • Accessibility Info

More about this material


Log in to participate in the discussions or sign up if you are not already a MERLOT member.