[R] Matrix *package*, CHOLMOD error: problem too large

Martin Maechler maechler at stat.math.ethz.ch
Sat Jun 23 00:36:43 CEST 2007


[Jose, if you call the Matrix *package* "library" once more, ...
 GRRRRR! ..]
 

>>>>> "DM" == Duncan Murdoch <murdoch at stats.uwo.ca>
>>>>>     on Fri, 22 Jun 2007 14:04:03 -0400 writes:

    DM> On 6/22/2007 1:26 PM, Jose Quesada wrote:
    >> I have a pretty large sparse matrix of integers:
    >>> dim(tasa)
    >> [1] 91650 37651
    >> 
    >> I need to add one to it in order to take logs, but I'm
    >> getting the following error:
    >> 
    >>> tasa = log(tasa + 1)
    >> CHOLMOD error: problem too large Error in
    >> asMethod(object) : Cholmod error `problem too large'
    >> 
    >> I have 2 Gb of RAM, and the current workspace is barely
    >> 300mb.  Is there any workaround to this? Anyone has any
    >> experience with this error?
    >> 

    DM> If tasa is sparse, then tasa+1 will not be sparse, so
    DM> that's likely your problem.

[of course]

    DM> You might have better luck with

    DM> log1p(tasa)

{very good point, thank you, Duncan!}

    DM> if the authors of the Matrix package have written a
    DM> method for log1p(); if not, you'll probably have to do
    DM> it yourself.

They have not yet.

Note however that this - and expm1() - would automagically work
for sparse matrices if these two functions were part of the
"Math" S4 group generic.

I'd say that there's only historical reason for them *not* to be
part of "Math", and I am likely going to propose to change this
....

Martin Maechler

    DM> Duncan Murdoch



More information about the R-help mailing list