Rev 5010 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
This weekend, a new version of "the Matrix" (well, actually the Rpackage named "Matrix") will become available on the CRAN mirrors.As some of you have noticed, the version numbers (current is version0.999375-8) are converging to one, and we feel that we have solvedenough of the many (mostly small) problems to announce that release1.0-0 is imminent.In the DESCRIPTION of the package we say--------------------------------------------------------------Title: A Matrix package for RAuthor: Douglas Bates <....> and Martin Maechler <....>Maintainer: Doug and Martin <Matrix-authors@R-project.org>Description: Classes and methods for dense and sparse matrices andoperations on them using Lapack, CSparse and CHOLMOD--------------------------------------------------------------The Matrix package provides efficient methods for several formal(i.e. S4) classes of matrices where each of the actual classes aresome combination of the following three categories1) dense or sparse2) symmmetric, triangular, diagonal or "general" (or "permutation")3) numeric ("d"ouble), logical (TRUE/FALSE/NA) or "patter[n]" (0/1) matricesInterfaces to many efficient algorithms from Lapack (for "dense") and fromCHOLMOD / Csparse (for "sparse") are all implemented via method definitionsfor the customary linear algebra functions%*%, t(), crossprod(), tcrossprod(), chol(), qr(), solve(),colSums(), rowSums(), kronecker(), determinant(), ...and for various formal groups of generics, such as"Math" (sin,exp,gamma,..) "Arith" (+,-,*,...),"Logic" (>, <=, ..), "Summary" (sum, max, ...) etc;is.na()Furthermore, 'indexing' : "A[...]" and "A[..] <- value" ofall(!) kinds of S/R indexing and some new generic functions such aslu() {LU decomposition}Schur(), BunchKaufman(),norm(), rcond() {Matrix norms and condition numbers}expm() {Matrix exponential},band(), triu(), tril() {extract band-diagonal or triangular sub-matrices}symmpart(), skewpart() { (x + t(x))/2 and (x - t(x)) / 2 }are provided. Further, an extension to the xtabs functionxtabs(*, sparse=TRUE)for large sparse, two-way contingency tablesand coercion of one *factor* (possibly crossed with one <numeric>)to the corresponding (potentially huge) sparse model matrix for sparseleast squares and related computations.Further to the above, "Matrix" objects are also constructed byMatrix(), spMatrix(), bdiag() {block-diagonal}, Diagonal() and manyas(., "....Matrix") possibilities.The Matrix package also provides a C level API (header files ofexported C functions providing low-level functionality) to many of itsinternal algorithms that other packages can link to. Currently, the'lme4' package makes heavy use of these exported C functions.---------------------------------------------------------------------------One of the things we plan to improve considerably is the documentationfor the package. Currently there are four vignettes but all but theComparisons: Comparisons of Least Squares calculation speedsare really not complete in one way or another.---------------------------------------------------------------------------We would appreciate current users of the Matrix package (and alsogenerally interested useRs) exploring the package's capabilities andgiving us feedback about problems that they might encounter or missingfeatures, inefficiencies and maybe even "infelicities" (a.k.a. bugs).Fixing problems before the release of the 1.0-0 version of "The Matrix",rather than after its release, is our preferred approach