From rkoenker @end|ng |rom ||||no|@@edu  Wed Oct  4 11:07:28 2023
From: rkoenker @end|ng |rom ||||no|@@edu (Koenker, Roger W)
Date: Wed, 4 Oct 2023 09:07:28 +0000
Subject: [Rd] as(<dgCMatrix>, "dgTMatrix")' is deprecated.
In-Reply-To: <9cfd5e5c-c28d-4984-8ad2-5133b05d280a@gmail.com>
References: <8BEB8D85-2BC4-4CC7-B783-754688A51B39@illinois.edu>
 <9cfd5e5c-c28d-4984-8ad2-5133b05d280a@gmail.com>
Message-ID: <20A539FF-268A-4154-8C01-E415CC956A96@illinois.edu>

thanks, good to know, although at my age this is the sort of knowledge that has a very short half-life. ;-)

R


> On Oct 4, 2023, at 9:57 AM, Mikael Jagan <jaganmn2 at gmail.com> wrote:
> 
> > There is a call to mosek and I assumed that this wasn?t going to be helpful for most R-devel recipients.  I tried Duncan?s very reasonable suggestion about options() but it didn?t produce the desired error, so perhaps this isn?t really a warning  but something else???
> >
> 
> The details are described in news(package="Matrix") under "Changes in version
> 1.5-0" and implemented in Matrix:::Matrix.DeprecatedCoerce.  That version was
> released in Sep 2022.
> 
> At the time, it was too disruptive to signal a proper deprecation warning
> with every as(., "d(g.|.C)Matrix") call, for every reverse dependency of
> Matrix, so we decided that in those most common cases we would use message()
> instead of warning().   A corollary was that options(warn=n) would not have
> the usual effect, so we advertised an alternative to affected maintainers:
> 
>    in R:
> 
>        options(Matrix.warnDeprecatedCoerce=n)
> 
>    on the command line:
> 
>        R_MATRIX_WARN_DEPRECATED_COERCE=n R CMD check *.tar.gz
> 
> But maybe it is time to begin signaling warnings unconditionally ...
> 
> Mikael
> 
> > For those who might have rmosek installed,  I?m doing:
> >
> > library(REBayes)
> > demo(GLmix1)
> >
> > Thanks,
> > Roger
> >
> >
> > > On Oct 3, 2023, at 6:17 PM, Martin Maechler <maechler using stat.math.ethz.ch> wrote:
> > >
> > >>>>>> Duncan Murdoch
> > >>>>>>    on Tue, 3 Oct 2023 12:59:10 -0400 writes:
> > >
> > >> On 03/10/2023 12:50 p.m., Koenker, Roger W wrote:
> > >>> I?ve been getting this warning for a while now (about
> > >>> five years if memory serves) and I?m finally tired of it,
> > >>> but also too tired to track it down in Matrix.  As far as
> > >>> I can grep I have no reference to either deprecated
> > >>> object, only the apparently innocuous Matrix::Matrix(A,
> > >>> sparse = TRUE).  Can someone advise, Martin perhaps?  I
> > >>> thought it might come from Rmosek, but mosek folks don?t
> > >>> think so.
> > >>> https://urldefense.com/v3/__https://groups.google.com/g/mosek/c/yEwXmMfHBbg/m/l_mkeM4vAAAJ__;!!DZ3fjg!71re8ipw9fFStkMab0wGuPNSzSaAhPI5vwxd1BCQ7a55mYiRpAq2prn9-wREqKL_G2uBYboXISQfxZYCZ9AFxCnwxdzqTw$ 
> > >
> > >> A quick scan of that discussion didn't turn up anything
> > >> relevant, e.g. a script to produce the warning.  Could you
> > >> be more specific, or just post the script here?
> > >
> > >> In general, a good way to locate the source of a warning
> > >> is to set options(warn=2) to turn it into an error, and
> > >> then trigger it.  The traceback from the error will
> > >> include a bunch of junk from the code that catches the
> > >> warning, but it will also include the context where it was
> > >> triggered.
> > >
> > >> Duncan Murdoch
> > >
> > > Indeed.
> > >
> > > But Roger is right that it in the end, (almost surely) it is
> > > from our {Matrix} package.
> > >
> > > Indeed for several years now, we have tried to make the setup
> > > leaner (and hence faster) by not explicitly define coercion
> > > from <everything> to <everything>  because  the size of
> > > <everything> is here about 200, and we don't want to have to provide
> > > 200^2 = 40'000  coercion methods.
> > >
> > > Rather, Matrix package users should use to high level abstract Matrix
> > > classes such as "sparseMatrix" or "CsparseMatrix" or
> > > "TsparseMatrix" or "dMatrix", "symmetricMatrix".
> > >
> > > In the case of  as(<dgCMatrix>, "dgTMatrix") , if you
> > > replace "dgTMatrix" by "TsparseMatrix"
> > > the result will be the same but also work in the future when the
> > > deprecation may have been turned into a defunctation ...
> > >
> > > Martin



[Rd] as(<dgCMatrix>, "dgTMatrix")' is deprecated.
Koenker, Roger W