# Maximum Matrix Size

Asked by Ted Satterthwaite

Hello!
I am working with a very large (86,000 x 86,000 nodes) matrix that must be split up for matlab to handle it. Can BGL accommodate such matrices?
Cheers,
Ted Satterthwaite

## Question information

Language:
English Edit question
Status:
Solved
For:
Matlab BGL Edit question
Assignee:
No assignee Edit question
Solved by:
Ted Satterthwaite
Solved:
Last query:
 Revision history for this message David Gleich (dgleich) said on 2010-10-08: #1

Ted:

The short answer is that no, MatlabBGL cannot work with matrices that
have been split up. However, are your sure that you have to split up
your matrix? MatlabBGL easily works with matrices up to size 10
million assuming that the matrix is _sparse_. Is your matrix sparse?
In other words, are there relatively few edges for each vertex?

David

On Fri, Oct 8, 2010 at 8:48 AM, Ted Satterthwaite
<email address hidden> wrote:
> New question #128439 on Matlab BGL:
>
> Hello!
> I am working with a very large (86,000 x 86,000 nodes) matrix that must be split up for matlab to handle it.  Can BGL accommodate such matrices?
> Cheers,
> Ted Satterthwaite
>
>
> --
> You received this question notification because you are an answer
> contact for Matlab BGL.
>

 Revision history for this message Ted Satterthwaite (sattertt) said on 2010-10-08: #2

Hi David:
Thanks so much for your rapid reply. The matrix could be made more or less sparse depending on how we threshold the correlations (this is resting state fMRI timeseries).

A couple very basic q's:
Is there a given number of edges we should shoot for as a maximum? (I.e. did you mean 10 million edges max?)
Does it help if the edges are binary, or can we keep them weighted?
Is there a certain format to keep the matrix in that will use less memory and prevent it from crashing?

Cheers,
Ted

 Revision history for this message David Gleich (dgleich) said on 2010-10-08: #3

Ted:

10 million edges shouldn't be a problem on a modern computer, or even
a slightly old one. 10 million vertices and 100 million edges
shouldn't be too stressing for modern equipment either. Have you used
sparse matrices in Matlab before? They only store the non-zero values
and are key to working with large matrices efficiently.

If you have a list of values and indices
A = sparse(i,j,v)
will create a matrix with A(i(k),j(k)) = v(k) and A = "0" everywhere
else. Although it doesn't store any of the zeros.

David

On Fri, Oct 8, 2010 at 10:00 AM, Ted Satterthwaite
<email address hidden> wrote:
> Question #128439 on Matlab BGL changed:
>
>    Status: Answered => Open
>
> Ted Satterthwaite is still having a problem:
> Hi David:
> Thanks so much for your rapid reply.  The matrix could be made more or less sparse depending on how we threshold the correlations (this is resting state fMRI timeseries).
>
> A couple very basic q's:
> Is there a given number of edges we should shoot for as a maximum? (I.e. did you mean 10 million edges max?)
> Does it help if the edges are binary, or can we keep them weighted?
> Is there a certain format to keep the matrix in that will use less memory and prevent it from crashing?
>
> Thanks so much for your advice.
>
> Cheers,
> Ted
>
> --
> You received this question notification because you are an answer
> contact for Matlab BGL.
>

 Revision history for this message Ted Satterthwaite (sattertt) said on 2010-10-08: #4

Hi David--
That's wonderful and works great! I am not very experienced with matlab-- thanks for your help.
Cheers,
Ted

To post a message you must log in.