I\'m working on a Java application that needs working on very large matrices. For example multiplying two 10 million * 10 million matrices!
Of course the Java heap does not
Use whatever sparse matrix algorithm applies to your data. ( on the assumption that you don't have 2.4 PB of disk space to hold 3 off 10^8 square non-sparse matrices of doubles, let alone that much RAM for an in-memory database - Blue Gene/Q 'only' has 1.6 PB .)