MATLAB: How can i compute PCA for a huge data set

out of memorypcaprincompsvd

hello Everybody, i have a huge data set (120 raw X 600000 columns) my Hardware is core i5, 2.5 GHz, 8 GB RAM, Win8 64 bit, MATLAB R2013a 64 bit. i read that i may get ~4TB memory if i use 64 bit operating system and 64 bit MATLAB version.
on my hardware i computed PCA (princomp) command and get the results, and i tried to recompute it again but i got (out of memory) error message.
could any one help me to know what is the problem? and i can't reduce the data set dimension also i heard about PCA by SVD that it can be used in the case of not square matrix. is that true?
thanks

Best Answer

This is a limitation of you RAM (8 GB) and the amount of data you can hold on your workspace. Clear out your memory and try again by using the clear function. Or upgrade your RAM, this is not the limitation of pca which by default already uses SVD: