SCM

SCM Repository

[matrix] Annotation of /pkg/man/sparseMatrix-class.Rd
ViewVC logotype

Annotation of /pkg/man/sparseMatrix-class.Rd

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1903 - (view) (download) (as text)

1 : maechler 676 \name{sparseMatrix-class}
2 :     \docType{class}
3 : maechler 956 \title{Virtual Class "sparseMatrix" --- Mother of Sparse Matrices}
4 : maechler 676 \alias{sparseMatrix-class}
5 : maechler 1472 %% Group methods
6 :     \alias{Math,sparseMatrix-method}
7 :     %\alias{Math2,sparseMatrix,numeric-method}
8 : maechler 1799 \alias{Ops,sparseMatrix,sparseMatrix-method}
9 :     \alias{Ops,sparseMatrix,numeric-method}
10 :     \alias{Ops,numeric,sparseMatrix-method}
11 : maechler 1654 \alias{Ops,diagonalMatrix,sparseMatrix-method}
12 :     \alias{Ops,sparseMatrix,diagonalMatrix-method}
13 : maechler 1472 %
14 : maechler 1708 \alias{cbind2,sparseMatrix,sparseMatrix-method}
15 :     \alias{cbind2,sparseMatrix,matrix-method}
16 :     \alias{cbind2,matrix,sparseMatrix-method}
17 :     \alias{cbind2,sparseMatrix,numeric-method}
18 :     \alias{cbind2,numeric,sparseMatrix-method}
19 :     \alias{rbind2,sparseMatrix,sparseMatrix-method}
20 :     \alias{rbind2,sparseMatrix,matrix-method}
21 :     \alias{rbind2,matrix,sparseMatrix-method}
22 :     \alias{rbind2,sparseMatrix,numeric-method}
23 :     \alias{rbind2,numeric,sparseMatrix-method}
24 :     %
25 : maechler 1472 \alias{coerce,ANY,sparseMatrix-method}
26 : bates 1898 \alias{coerce,factor,sparseMatrix-method}
27 : maechler 1747 \alias{coerce,sparseMatrix,generalMatrix-method}
28 : maechler 1845 \alias{coerce,sparseMatrix,symmetricMatrix-method}
29 :     \alias{coerce,sparseMatrix,triangularMatrix-method}
30 : maechler 956 \alias{-,sparseMatrix,missing-method}
31 : maechler 1472 \alias{diag,sparseMatrix-method}
32 : maechler 1845 \alias{dim<-,sparseMatrix-method}
33 : maechler 1903 \alias{print,sparseMatrix-method}
34 : maechler 676 \alias{show,sparseMatrix-method}
35 : maechler 1852 \alias{summary,sparseMatrix-method}
36 : maechler 1887 %\alias{colMeans,..} etc are now in ./colSums.Rd
37 : maechler 1271 % graph stuff
38 : maechler 871 \alias{coerce,graph,sparseMatrix-method}
39 : bates 1479 \alias{coerce,graph,CsparseMatrix-method}
40 : maechler 1271 \alias{coerce,graphAM,sparseMatrix-method}
41 : bates 1479 \alias{coerce,graphNEL,CsparseMatrix-method}
42 : maechler 1565 \alias{coerce,graphNEL,TsparseMatrix-method}
43 : maechler 908 \alias{coerce,sparseMatrix,graph-method}
44 :     \alias{coerce,sparseMatrix,graphNEL-method}
45 : maechler 1271 \alias{coerce,TsparseMatrix,graphNEL-method}
46 : maechler 908 \alias{coerce,dgTMatrix,graphNEL-method}
47 : maechler 1271 %
48 : maechler 676 \description{Virtual Mother Class of All Sparse Matrices}
49 :     \section{Slots}{
50 : maechler 925 \describe{
51 :     \item{\code{Dim}:}{Object of class \code{"integer"} - the dimensions
52 :     of the matrix - must be an integer vector with exactly two
53 :     non-negative values.}
54 :     \item{\code{Dimnames}:}{a list of length two - inherited from class
55 : maechler 1281 \code{Matrix}, see \code{\linkS4class{Matrix}}.}
56 : maechler 925 \item{\code{factors}:}{Object of class \code{"list"} - a list
57 :     of factorizations of the matrix. }
58 :     }
59 : maechler 676 }
60 :     \section{Extends}{
61 :     Class \code{"Matrix"}, directly.
62 :     }
63 :     \section{Methods}{
64 :     \describe{
65 : maechler 1903 %% FIXME: better description of print() / show(); notably explain the
66 :     %% print() arguments !
67 : maechler 1855 \item{show}{\code{(object = "sparseMatrix")}: The
68 : maechler 676 \code{\link{show}} method for sparse matrices prints
69 : maechler 1737 \emph{\dQuote{structural}} zeroes as \code{"."} using the
70 :     non-exported \code{prSpMatrix} function which allows further
71 :     customization such as replacing \code{"."} by \code{" "} (blank).
72 :    
73 :     Note that \code{\link{options}(max.print)} will influence how many
74 :     entries of large matrices are printed at all.}
75 : maechler 1903 \item{print}{\code{signature(x = "sparseMatrix")}, extra arguments
76 :     \code{digits = getOption("digits"), maxp = getOption("max.print"),
77 :     zero.print = ".", col.names = FALSE, note.dropping.colnames = TRUE,
78 :     col.trailer = '', align = c("fancy", "right")}: The
79 :     \code{\link{print}} method for sparse matrices by default is the
80 :     same as \code{show()} but can be called with extra optional arguments.}
81 :    
82 : maechler 1855 \item{summary}{\code{(object = "sparseMatrix")}: Returns
83 :     an object of S3 class \code{"sparseSummary"} which is basically a
84 :     \code{\link{data.frame}} with columns \code{(i,j,x)} with the
85 :     non-zero entries. The \code{\link{print}} method resemble's
86 :     Matlab's way of printing sparse matrices.}
87 :     \item{diag}{\code{(x = "sparseMatrix")}: extracts the diagonal of a
88 :     sparse matrix.}
89 :     \item{dim<-}{\code{signature(x = "sparseMatrix", value = "ANY")}:
90 :     allows to \emph{reshape} a sparse matrix to a sparse matrix with
91 :     the same entries but different dimensions. \code{value} must be of
92 :     length two and fulfill \code{prod(value) == prod(dim(x))}.}
93 : maechler 1903 \item{coerce}{\code{signature(from = "factor", to = "sparseMatrix")}:
94 : bates 1898 Coercion of a factor to \code{"sparseMatrix"} produces the matrix
95 : maechler 1903 of indicator \bold{rows} stored as an object of class
96 :     \code{"dgCMatrix"}. To obtain columns representing the interaction
97 : bates 1898 of the factor and a numeric covariate, replace the \code{"x"} slot
98 :     of the result by the numeric covariate then take the transpose.}
99 : maechler 676 }
100 : maechler 1855 See also \code{\link{colSums}}, ... %% FIXME
101 :     for methods with separate help pages.
102 : maechler 676 }
103 : bates 685 \note{
104 :     In method selection for multiplication operations (i.e. \code{\%*\%}
105 : maechler 868 and the two-argument form of \code{\link[base]{crossprod}})
106 : bates 685 the sparseMatrix class takes precedence in the sense that if one
107 :     operand is a sparse matrix and the other is any type of dense matrix
108 :     then the dense matrix is coerced to a \code{dgeMatrix} and the
109 :     appropriate sparse matrix method is used.
110 :     }
111 : maechler 676 %\author{Martin}
112 :     \examples{
113 :     showClass("sparseMatrix") ## and look at the help() of its subclasses
114 : maechler 1737 M <- Matrix(0, 10000, 100)
115 :     M[1,1] <- M[2,3] <- 3.14
116 : maechler 1903 M ## show(.) method suppresses printing of the majority of rows
117 :    
118 :     ## factor -> t( <sparse design matrix> ) :
119 :     (fact <- gl(5, 3, 30, labels = LETTERS[1:5]))
120 :     (Xt <- as(fact, "sparseMatrix")) # indicator rows
121 :     X <- t(Xt)
122 :     ## printing :
123 :     X ## <==> show(X) <==> print(X)
124 :     print(X, zero.print = "", col.names = TRUE)
125 :    
126 : maechler 1737 \dontshow{% show() was slow in 0.9975-8 because of slow adjust="fancy"
127 :     op <- options(max.print = 25000, width = 80)
128 :     sink(print(tempfile()))
129 :     stopifnot((st <- system.time(show(M)))[1] < 1.0) # only 0.09 on cmath-3
130 :     sink()
131 :     st
132 :     options(op)
133 : maechler 676 }
134 : maechler 1737 }
135 : maechler 676 \keyword{classes}

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge