https://github.com/cran/Matrix
Raw File
Tip revision: d1f70fafa8319942d86b0e505d61e5146a4d1e5b authored by Martin Maechler on 13 October 2013, 00:00:00 UTC
version 1.1-0
Tip revision: d1f70fa
NAMESPACE
useDynLib(Matrix, .registration=TRUE)

## Import non-base functions we need explicitly,
## notably for which we define methods:
importFrom("lattice", levelplot, panel.levelplot.raster)
importFrom("graphics", image)
importFrom("utils", head, tail, assignInNamespace)
importFrom("stats", cov2cor, toeplitz, update#, vcov
	   )

importFrom("grid", grid.rect, gpar, grob)# others via 'grid::'

## try to import all we need, but not more
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")'
	   , callGeneric, as, is, extends, new
	   , getClass, getClassDef, validObject
	   , setClass, setClassUnion, setMethod, setOldClass
	   , setValidity, slot, "slot<-"
	   , signature, representation, prototype)


## Generics and functions defined in this package
export("Cholesky", ".SuiteSparse_version",
       "Diagonal", ".symDiagonal", ".sparseDiagonal",
       "Hilbert", "KhatriRao",
       "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()
       ## "mkDet", # <- useful in other packages (Rmpfr, gmp) .. hmm --> 'stats' ?
       ".diag.dsC",# -> R/dsCMatrix.R --has FIXME
       "diagN2U", "diagU2N", ".diagU2N", ".diag2tT", ".diag2sT",
       "drop0",
       "expand",
       "expm",
       "facmul", "fac2sparse", "fac2Sparse",
       "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"
       , "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",

	      "indMatrix",
	  "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",
	      "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"
	      )
if(getRversion() > "3.1.0")
exportMethods("anyNA")


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)
back to top