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
Since this is such a huge calculation, I think you're going to run into performance problems alongside your storage problems. So I would look at parallelising this problem, and getting mutliple machines/cores to process a subset of data.
Luckily a matrix multiplication solution will decompose naturally. But I would be looking at some form of grid or distributed computing solution.