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

From: roger koenker <rkoenker_at_uiuc.edu>
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, dpleydel@univ-fcomte.fr wrote:
>>> Full_Name: David Pleydell
>>> Version: 2.2.1
>>> OS: Debian Etch
>>> Submission from: (NULL) (193.55.70.206)
>>>
>>>
>>> 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, ripley@stats.ox.ac.uk
> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel 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