C'è un progetto molto bello da cui puoi trarre spunto:

http://math.nist.gov/javanumerics/jama/