I want to store a big matrix (a 720GB variable )

조회 수: 1 (최근 30일)
seokwoo
seokwoo 2011년 4월 14일
I want to store a big matrix. It needs about 720GB memory.
The big matrix is used to calculate eigs fuction (to find eigenvector) as a parameter.
Is it possible to get big matrix (720GB memory or even more) by using distributed computer environment?
I have ten-computers which has 72GB memory, so I want to save the big matrix divided to 10-computers.
Then do eigs function -> result = eigs('big matrix')
So the big matrix could be recognized as one variable even if it is stored in divided computers.
Is this possible?
  댓글 수: 1
Oleg Komarov
Oleg Komarov 2011년 4월 14일
That's a HUGE matrix! How did you get that?

댓글을 달려면 로그인하십시오.

답변 (1개)

Sarah Wait Zaranek
Sarah Wait Zaranek 2011년 4월 14일
I can think of two ways to do this:
1. If you have a sparse matrix, then I would use the sparse data type in MATLAB and probably use a 64bit machine/OS. This will not hold the non-zero values, greatly lessening your memory footprint. d = eig(S) accepts a sparse symmetric matrix S. Otherwise, use eigs in place of eig.
2. Using distributed arrays (across multiple machines). This will do what you suggest in your question, it will create a matrix whose elements are distributed across the memory of multiple machines but can still be treated as one big matrix. To do this you need to have the MATLAB Distributed Computing Server product installed on your cluster. Here is a demo using backslash - but eig should follow the same idea since it is supported for distributed arrays.
  댓글 수: 2
Walter Roberson
Walter Roberson 2011년 4월 14일
Unless something changed in 2011a, it is not possible to use eigs() to calculate all the eigenvalues of a sparse matrix: it errors out and says to use eig() instead.
Also, eigs is *very* slow if you are calculating more than a handful of eigenvalues
Sarah Wait Zaranek
Sarah Wait Zaranek 2011년 4월 14일
Yes --> d = eigs(A) returns a vector of A's six largest magnitude eigenvalues by default.
It depends on what he needs.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by