https://github.com/cran/Matrix
Raw File
Tip revision: 4bba53ef49f312c7b61ceb34d92b5a48a52c8dc3 authored by Martin Maechler on 12 September 2013, 00:00:00 UTC
version 1.0-14
Tip revision: 4bba53e
NAMESPACE
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", "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()
       ".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",

	      "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",
##	       "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"
	      )
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