Martin Maechler
2020-Jul-21 14:00 UTC
[Rd] trivial typo in ?Matrix::sparse.model.matrix.Rd
>>>>> "AS" == Abby Spurdle >>>>> on Wed, 22 Jul 2020 00:28:12 +1200 writes:>> "No documentation for ?sparse.model.matrix? in >> specified packages and libraries", but it's there after >> "library(Ecfun)". I find that interesting, because "Matrix" does not >> appear in the Ecfun DESCRIPTION file. AS> Not interesting. AS> Note the imports and depends fields. AS> (Of your own packages). >> AND I don't see 'repr = ("C", >> "R", "T")' in the "sparse.model.matrix" help file I do see. AS> Martin's comment used future tense. Indeed. It's not even yet in the *development* version of Matrix on R-forge, see packageDescription("Matrix")[["URL"]] but it probably will be "real soon now". The problem with that R-forge version (1.3-0) of Matrix is that half a dozen CRAN packages at least need to be slightly fixed before that Matrix version becomes default on CRAN, as these packages make assumptions about unspecified behavior of some Matrix functions, notably Matrix::Matrix() which in that next version of Matrix will produce "diagonalMatrix" instead of "CsparseMatrix" objects in more cases.... a good thing, but not what those packages have assumed... @Spencer: Are you actively using 'giveCsparse = ..' somewhere in your code? If not, why would you be interested in the details of the changes (which would be entirely invisible to you as user) ? Martin
On 2020-07-21 09:00, Martin Maechler wrote:>>>>>> "AS" == Abby Spurdle >>>>>> on Wed, 22 Jul 2020 00:28:12 +1200 writes: > >> "No documentation for ?sparse.model.matrix? in > >> specified packages and libraries", but it's there after > >> "library(Ecfun)". I find that interesting, because "Matrix" does not > >> appear in the Ecfun DESCRIPTION file. > > AS> Not interesting. > AS> Note the imports and depends fields. > AS> (Of your own packages). > > >> AND I don't see 'repr = ("C", > >> "R", "T")' in the "sparse.model.matrix" help file I do see. > > AS> Martin's comment used future tense. > > Indeed. It's not even yet in the *development* version of Matrix > on R-forge, see > packageDescription("Matrix")[["URL"]] > but it probably will be "real soon now". > > The problem with that R-forge version (1.3-0) of Matrix is that > half a dozen CRAN packages at least need to be slightly fixed > before that Matrix version becomes default on CRAN, as these > packages make assumptions about unspecified behavior of some > Matrix functions, notably Matrix::Matrix() which in that next version > of Matrix will produce "diagonalMatrix" instead of > "CsparseMatrix" objects in more cases.... a good thing, but not > what those packages have assumed... > > @Spencer: Are you actively using 'giveCsparse = ..' somewhere > in your code? > If not, why would you be interested in the details of the changes > (which would be entirely invisible to you as user) ?????? Jim Ramsay is rewriting the code for fda::fRegress.? It requires a double iteration, which is already fairly expensive and often involves large matrices, especially if you want to estimate, e.g., more spline coefficients than observations by using some smoothness criterion to make the problem estimable.? I suggested he consider a singular value decomposition, which would preserve numerical precision AND maybe transform the problem into a series of univariate optimization problems. ????? By the way, Ecfun includes some 32 "suggests" and "imports". "Matrix" is not one of them, but it must be called by something else that's loaded by Ecfun, to get the result I got. ????? Thanks, ????? Spencer> > Martin
> By the way, Ecfun includes some 32 "suggests" and "imports". > "Matrix" is not one of them, but it must be called by something else > that's loaded by Ecfun, to get the result I got.Spencer, I find some of your comments/questions on R packages, extremely basic. (Sorry, if that sounds condescending, but I'm wondering if your comments/questions would be better R-package-devel?). You need to look at the imports and depends fields. (As stated in my previous post). The *first* package on the Ecfun imports list, is fda, which is *your* package (technically, contributor), and it has a dependency on the Matrix package. I'd recommend you read the documentation on writing R packages, and on how package namespaces are handled.