Nuralanur / aol.com wrote: > Dear all, > > I am searching for some code that can decompose rectangular > matrices according to SVD. > Unfortunately, rb-gsl can only handle square matrices. > > Also, I've have some strange installation error with the linalg library. > (I've posted a message to the list about this). > Is there any other software that can singular-decompose a matrix > that is rectangular and maybe really big and "very rectangular" ? > Can someone who uses linalg tell me what options to use to tell > install.rb what options to use ? > What do you mean by "really big"? Does the matrix fit in *real* memory on your system, or do you need an "out of core" SVD? Is the matrix dense or sparse? And are you just doing the SVD, or is there some real-world processing downstream of the singular values and vectors? IIRC Lapack has a dense in-core SVD built in, and I know that R can do an SVD and many of the statistical functions downstream, like linear regression, principal component analysis, "machine learning", etc. If you're in a hurry, the best course of action might be to "shell out" to R from your Ruby code and read the singular values and vectors back in. Sparse SVDs are a whole different ballgame. IIRC the algorithm of choice is a Lanczos code pioneered in Fortran a couple of decades back by Jane Cullum and Ralph Willoughby. A search of NetLib using http://www.netlib.org/cgi-bin/search.pl turned up this: http://www.netlib.org/tennessee/ut-cs-93-194.ps > > Thank you very much! > > Best regards, > > Axel > > -- M. Edward (Ed) Borasky http://linuxcapacityplanning.com