@inproceedings{COMPSAC2009-ujmp, title = {Towards a Next-Generation Matrix Library for Java}, author = {Arndt, Holger and Bundschus, Markus and N\"{a}gele, Andreas}, abstract = {In this paper, we present the Universal Java Matrix Package (UJMP), an innovative software architecture in Java to store and process matrices with interfaces to external data sources such as Excel files or SQL-databases, allowing to handle data which would not fit into main memory. In contrast to all other approaches which we are aware of, our package is the only one to support very large matrices with up to 2^63 rows or columns. In addition, the use of variable argument lists provides a convenient way for accessing multi-dimensional data without the need to specify dimensionality at compile time. Arbitrary data types be handled through the use of Java Generics. Another key feature is the strict separation of interfaces and classes, making data storage implementation and math engine exchangeable, at runtime. This flexible architecture allows the user to decide whether operations should be optimized for speed or memory usage and makes the system easily extendable through existing libraries, incorporating their individual strengths.}, booktitle = {33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC)}, pages = {460 -- 467}, keywords = {Java; matrix; mathematics; linear algebra;}, location = {Seattle}, note = "\url{http://www.ujmp.org}", month = {July}, year = {2009} }