About SVD

Hello,

Does anyone know what can I use to calculate the SVD frome a large Matrix? I used Jama Api but for my Matrix (8464 rows and 400 columns) it gives me an Heap memory error at this line:

SingularValueDecomposition s = new SingularValueDecomposition(A);

I know it is a large Matrix, but Matlab computes that in 10 seconds on my computer.

What can I do? Is there anyone who had this problem?

Thanks

[437 byte] By [Adi.Ma] at [2007-10-2 19:37:39]
# 1

> it gives me an

> Heap memory error at this line:

>

> SingularValueDecomposition s = new

> SingularValueDecomposition(A);

Can you post the exact and full error message? Is it OutOfMemoryError? If so you can start a JVM with more than the default (64MB) by using the -Xmx option (see java documentation).

Lokoa at 2007-7-13 21:26:10 > top of Java-index,Other Topics,Algorithms...
# 2

JAMA's algorithms are pretty vanilla. MATLAB uses the ATLAS BLAS library, which is highly tuned for different machine architectures. For large matrices you will certaintly want to use ATLAS. You need the Java interface available here:

http://rs.cipr.uib.no/mtj/

and the ATLAS libs here:

http://math-atlas.sourceforge.net/

Good luck.

RadcliffePikea at 2007-7-13 21:26:10 > top of Java-index,Other Topics,Algorithms...