useDynLib(Matrix, .registration=TRUE) ## Import non-base functions we need explicitly, ## notably for which we define methods: importFrom("lattice", levelplot) importFrom("graphics", image) importFrom("utils", head, tail, assignInNamespace) importFrom("stats", cov2cor, toeplitz, update#, vcov ) importFrom("grid", grid.rect, gpar, grob)# others via 'grid::' importFrom("methods", ## still needed {group generics needed to be explicitly imported} ? Ops, Arith, Compare, Logic, Math, Math2, Summary, Complex, ## generics for which we export new methods: cbind2, rbind2, coerce, show , kronecker ## things we call,.. necessary when Matrix is loaded, but not attached, as in ## Rscript --vanilla -e 'require(methods);(M <- Matrix::Matrix(0:1,3,3));as(M,"sparseMatrix")' , is, as, new ) ## Generics and functions defined in this package export("Cholesky", "Diagonal", ".symDiagonal", ".sparseDiagonal", "Hilbert", "Matrix", "spMatrix", "sparseMatrix", "Schur", "abIseq", "abIseq1", "rep2abI", "band", "bandSparse", "bdiag", ".bdiag", ## no longer; implicit generics now ## "colMeans", "colSums", ## these needed a "..." added ## "rowMeans", "rowSums", "condest", "onenormest", "det",# << "identical" as base - but with correct determinant() ".diag.dsC",# -> R/dsCMatrix.R --has FIXME "diagN2U", "diagU2N", ".diagU2N", "drop0", "expand", "expm", "facmul", "forceSymmetric", # "isTriangular", # "isDiagonal", "isLDL", "is.null.DN", "invPerm", "lu", "nearPD", "nnzero", "formatSpMatrix", "formatSparseM", ".formatSparseSimple", "printSpMatrix", "printSpMatrix2", "qrR", "rankMatrix", "readHB", "readMM", "sparse.model.matrix", "sparseVector", "symmpart", "skewpart", "tcrossprod", "tril", "triu", "updown", "pack", "unpack" , ".updateCHMfactor" , ".validateCsparse" # "writeHB", , "writeMM" ) if(getRversion() < "2.15.0") export(".M.classEnv") ## substitute for using cbind() / rbind() export("cBind", "rBind") exportClasses( ## Class unions: "index", "replValue", # if we don't export it, things fail in dispatch "atomicVector", "number", ## LOGIC "logic", "abIndex", "rleDiff", ## --- 'Matrix' mother and all its daughters : --------------- "Matrix", ## also intermediate `virtual' ones: "dMatrix", "lMatrix", "nMatrix", ## not yet used, but as sub-classes; ## must provide them for 'hierarchy-analysis': "iMatrix", "zMatrix", "denseMatrix", "sparseMatrix", "compMatrix", "diagonalMatrix", "generalMatrix", "symmetricMatrix", "triangularMatrix", "dsparseMatrix", "lsparseMatrix", "nsparseMatrix", "TsparseMatrix", "CsparseMatrix", "RsparseMatrix", "ddenseMatrix", "ldenseMatrix", "ndenseMatrix", "dgCMatrix", "dgRMatrix", "dgTMatrix", "dgeMatrix", "dpoMatrix", "dppMatrix", "dsCMatrix", "dsRMatrix", "dsTMatrix", "dspMatrix", "dsyMatrix", "dtCMatrix", "dtRMatrix", "dtTMatrix", "dtpMatrix", "dtrMatrix", "ddiMatrix", "lgeMatrix", "lspMatrix", "lsyMatrix", "ltpMatrix", "ltrMatrix", "ldiMatrix", "ngeMatrix", "nspMatrix", "nsyMatrix", "ntpMatrix", "ntrMatrix", "lgCMatrix", "lgRMatrix", "lgTMatrix", "lsCMatrix", "lsRMatrix", "lsTMatrix", "ltCMatrix", "ltRMatrix", "ltTMatrix", "ngCMatrix", "ngRMatrix", "ngTMatrix", "nsCMatrix", "nsRMatrix", "nsTMatrix", "ntCMatrix", "ntRMatrix", "ntTMatrix", "pMatrix", "corMatrix", # unused ## --- inheriting "Matrix", but also factorizations: "BunchKaufman", "pBunchKaufman", "Cholesky", "pCholesky", ## "LDL", ## --- 'MatrixFactorization' mother and all its daughters : --- "MatrixFactorization", "CholeskyFactorization", "LU", "denseLU", "sparseLU", "CHMfactor", "CHMsuper", "CHMsimpl", "dCHMsuper", "dCHMsimpl", "nCHMsuper",# unused "nCHMsimpl",# unused "sparseQR", ## "SPQR", "Schur", "sparseVector", ## --- and daughters : --- "dsparseVector", "isparseVector", "lsparseVector", "nsparseVector", "zsparseVector", "xsparseVector" # the class union of all 'x' lost sparseVector's ) exportMethods(## for both own and "other" generics: ## Group Methods "Arith", "Compare", "Logic", "Math", "Math2", "Ops", "Summary", ## re-export S4 methods, for "stats"-S3-generics: "cov2cor", "toeplitz", "update", "!", "+",# for dgT(Matrix) only "%*%", "all", "any", "all.equal", "BunchKaufman", "Cholesky", "Schur", "as.array", "as.matrix", "as.vector", "as.numeric", "as.integer", "as.logical", "band", "chol", "chol2inv", "colMeans", "colSums", "coerce", "crossprod", "determinant", "diag", "diag<-", "diff", "dim", "dim<-", "dimnames", "dimnames<-", "drop", "expand", "expm", "format", "head", "image", "forceSymmetric", "isSymmetric", ## "isDiagonal", ## "isTriangular", "is.na", "is.finite", "is.infinite", "kronecker", "length", "mean", "norm", "nnzero", "print",# print(x, ...) when show(x) is not sufficient "qr", "qr.R", "qr.Q", "qr.qy", "qr.qty", "qr.coef", "qr.resid", "qr.fitted", "rep", "rcond", "rowMeans", "rowSums", "show", "solve", ## "spqr", "summary", "symmpart", "skewpart", "t", "tail", "tcrossprod", "tril", "triu", "updown", "unname", "which", "zapsmall" ) exportMethods("rbind2") exportMethods("cbind2") S3method(print, sparseSummary) S3method(print, diagSummary) S3method(c, abIndex)# < for now -- S4 method on c() seems "difficult" ## So that such dispatch also works inside base functions: S3method(as.array, Matrix) S3method(as.matrix, Matrix) S3method(as.vector, Matrix)