From Efficient Java Matrix Library
Jump to navigation Jump to search


EJML has been developed most by Peter Abeles in his spare time. Much of the development of EJML was inspired by his frustration with existing libraries at that time. They had very poor performance with small matrices, excessive memory creation/destruction, (arguably) not the best API, and tended to be quickly abandoned by their developers after decided he liked one. The status of Java numerical libraries has improved since then in general. More recently, Graph BLAS operations have been added by Florentin Dorre (paper), filling in an often requested feature.

Additional thanks should go towards the Institute for Human Machine Cognition (IHMC) which encouraged the continued development of EJML and even commissioned the inclusion of the first few complex matrix operations after he had left. HEBI Robotics sponsored the continued developement of support for sparse matrix operations, a much needed feature.

All the feedback and bug reports from its users have also had a significant influence on this library. Without their encouragement and help it would be less stable and much less flushed out than it is today. The book Fundamentals of Matrix Computations by David S. Watkins also significantly influence the development of the library in its early days. It is probably the best introduction to to the computational side of linear algebra written so far and includes many important implementation details left out in other books.


EJML is entirely self contained and is only dependent on JUnit for tests.