Re: [Rd] Matrix / SparseM conflict (PR#8618)

From: roger koenker <>
Date: Mon 20 Feb 2006 - 15:45:22 GMT

On Feb 20, 2006, at 8:29 AM, Prof Brian Ripley wrote:

> On Mon, 20 Feb 2006, Duncan Murdoch wrote:
>> On 2/20/2006 8:54 AM, wrote:
>>> Full_Name: David Pleydell
>>> Version: 2.2.1
>>> OS: Debian Etch
>>> Submission from: (NULL) (
>>> There appears to be a conflict between the chol functions from
>>> the Matrix and
>>> the SparseM packages. chol() can only be applied to a matrix of
>>> class dspMatrix
>>> if SparseM is not in the path.
>> This isn't a bug, it's simply that both Matrix and SparseM define a
>> generic for chol (though Matrix actually gets it by converting the
>> function in base).
> The problem appears to be that SparseM first redefines chol as an
> S3 generic and then defines S4 methods on it. As no new S3 methods
> are then defined the S3 step would seem unnecessary, but it is used
> to allow the package to define S4 methods on a different signature
> from R's chol().
> (That seems to me to be asking for trouble.)
> Only the package maintainer of SparseM can do anything about this.

I'm happy to modify this, but would welcome advice. The current snafu is a consequence of writing a first version of SparseM with S3 methods and then converting (evidently incompletely) to S4.
> Beyond, that I guess it is a consequence of namespaces that Matrix
> defines methods via a derived generic on base::chol and not on the
> generic chol in SparseM. That needs further thought by someone
> (JMC?) who understands the S4 internals.
>> If you want access to the version in Matrix after attaching SparseM
>> ahead of it in the search path, use Matrix::chol.
> But the whole point of generic functions is to allow one to write
> generic code.
> --
> Brian D. Ripley,
> Professor of Applied Statistics,
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595 mailing list Received on Tue Feb 21 02:59:44 2006

This archive was generated by hypermail 2.1.8 : Tue 21 Feb 2006 - 03:44:41 GMT