igraph-help
[Top][All Lists]

## Re: [igraph] Bonpower Crashes (Sparse matrix Help)

 From: Surendar Swaminathan Subject: Re: [igraph] Bonpower Crashes (Sparse matrix Help) Date: Mon, 13 Apr 2009 10:31:49 -0700

Hello Gabor,

I did some work on the bonpow working on different graph. Please bear with me.Bonpow and the sparse matrix is working for this graph object but only if I know the exponential value.

For example. I am attaching a file along with this email.
The file 'Graph1.RData' (306 KB) is available for download a
When I run bonpow(g) it throws an error

Error in solve.default(id - exponent * d, tol = tol) :
system is computationally singular: reciprocal condition number = 1.15648e-18
Then what I did is substituted the value in the option

bonpow(g,exp=1.15648e-18)

Bonpow is working and I got very convincing results. With respect to the sparse matrix.I substitute the same value for the exp in solve the sparse matrix is working fine without , but I have not validated the results yet.

Example 2.

The file 'Graph12.RData' (272 KB) is available for download at
With respect to this graph when I use bonpow(g) it works fine and did not throw me an error.I think it is calculating with the exp=1 by default I validated the result and it is not convincing.Nodes at the periphery has the highest bonpow (nodes which has just one connect to the giant component).This graph worked on the sparse matrix with out any error and I have not validated the results yet.

Can you tell why it is happening only with respect to this graph. I really dont understand can I think the sparse matrix is working properly.I am guessing everything depends on the reciprocal value.Is there anyway to find the reciprocal value for each graph.

Nathan

On Wed, Apr 8, 2009 at 9:11 AM, Surendar Swaminathan wrote:
Hello Gabor,

Thank you very much for the input.R was crashed and I am not able to reproduce them.A window pop up asking me to terminate the program and there is only two option close or send error report I guess it must be that R Crashed.

Otherwise I get the error with the two graphs I sent.I will post to the R help

Thank you very much.
Nathan

On Wed, Apr 8, 2009 at 2:27 AM, Gábor Csárdi wrote:
Hello Nathan,

On Wed, Apr 8, 2009 at 1:07 AM, Surendar Swaminathan
[...]
> Error
>
> Error in solve(id - exponent * d, tol = tol) :
>   INTEGER() can only be applied to a 'integer', not a 'NULL'

This is not a crash, it is an error message. Maybe it does not matter
for you, but it does matter if one wants to find the bug. It seems to
be a problem in the Matrix package, for me it fails in various ways.
E.g. if I simplify() the first graph and keep only the giant component
of it, then I get:

Error in solve(id - exponent * d, tol = tol) :
cs_lu(A) failed: near-singular A (or out of memory)

which is fine, it just says that the equation cannot be solved. But
for some graphs I also get

> bp <- bonpow.sparse(g2, exponent=0.9)
Error in solve(id - exponent * d, tol = tol) :
INTEGER() can only be applied to a 'integer', not a 'builtin'

and sometimes it really crashes:

> bp <- bonpow.sparse(g2, exponent=0.9)
*** glibc detected *** corrupted double-linked list: 0x0000000003188ae0 ***

This is on Linux and R 2.8.1.

Anyway, this is an issue with 'solve' from the 'Matrix' package. Try
to post to R-help, send the bonpow.sparse code and the links to your
graphs. Your subject line should be something like "Matrix package,
solve() errors and crashes". Make sure you also send the output of the
sessionInfo() command.

Best,
G.

[...]
> Error
> Error: cannot allocate vector of size 3.3 Gb
> In addition: Warning messages:
> 1: In solve(id - exponent * d, tol = tol) :
>   Reached total allocation of 1535Mb: see help(memory.size)
> 2: In solve(id - exponent * d, tol = tol) :
>   Reached total allocation of 1535Mb: see help(memory.size)
> 3: In solve(id - exponent * d, tol = tol) :
>   Reached total allocation of 1535Mb: see help(memory.size)
> 4: In solve(id - exponent * d, tol = tol) :
>   Reached total allocation of 1535Mb: see help(memory.size)

This is a memory issue. Maybe see ?Memory, but I don't it would ever
work on 32bit Windows XP.

[...]

--
Gabor Csardi <address@hidden>     UNIL DGM

_______________________________________________
igraph-help mailing list