\Header{namedSparse-class}{Class "namedSparse" adds margin names to sparse matrices}
\alias{+,namedSparse,namedSparse-method}{namedSparse-class}
\alias{AMN}{namedSparse-class}
\alias{Arith,namedSparse,namedSparse-method}{namedSparse-class}
\alias{as.matrix,namedSparse-method}{namedSparse-class}
\alias{as.matrix.ok}{namedSparse-class}
\alias{colinds}{namedSparse-class}
\alias{colinds,namedSparse,character-method}{namedSparse-class}
\alias{colSums}{namedSparse-class}
\alias{colSums,namedSparse,missing,missing-method}{namedSparse-class}
\alias{colSumsSp}{namedSparse-class}
\alias{dimnames,namedSparse-method}{namedSparse-class}
\alias{dimnames<-,namedSparse,list-method}{namedSparse-class}
\alias{exns2}{namedSparse-class}
\alias{makeNamedSparse}{namedSparse-class}
\alias{makeSparseZero}{namedSparse-class}
\alias{mapNamesInds}{namedSparse-class}
\alias{mat}{namedSparse-class}
\alias{mat,namedSparse-method}{namedSparse-class}
\alias{maxval}{namedSparse-class}
\alias{maxval,matrix.csr-method}{namedSparse-class}
\alias{mkNS}{namedSparse-class}
\alias{ncol,namedSparse-method}{namedSparse-class}
\alias{nrow,namedSparse-method}{namedSparse-class}
\alias{nsparse}{namedSparse-class}
\alias{rowinds}{namedSparse-class}
\alias{rowinds,namedSparse,character-method}{namedSparse-class}
\alias{rowSums}{namedSparse-class}
\alias{rowSums,namedSparse,missing,missing-method}{namedSparse-class}
\alias{rowSumsSp}{namedSparse-class}
\alias{show,namedSparse-method}{namedSparse-class}
\alias{sumSp}{namedSparse-class}
\alias{sumSpSLOW}{namedSparse-class}
\alias{t,namedSparse-method}{namedSparse-class}
\alias{[,namedSparse-method}{namedSparse-class}
\alias{\%*\%,namedSparse,namedSparse-method}{namedSparse-class}
\alias{\%+\%}{namedSparse-class}
\keyword{classes}{namedSparse-class}
\begin{Description}\relax
manages margin names for sparse matrices
\end{Description}
\begin{Section}{Objects from the Class}
Objects can be created by calls of the form \code{new("namedSparse", ...)}.
These are S4 objects that include a SparseM::matrix.csr,
associated dimnames in the customary form, and two
lists of name-to-index mapping environments (for row and column name resolution,
with forward (name to index) and backward (index to name) mapping).
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{Dimnames}:] Object of class \code{"list"} ordinary
dimnames matrix metadata 
\item[\code{mat}:] Object of class \code{"matrix.csr"} sparse matrix 
}
\end{Section}
\begin{Section}{Methods}
\describe{
\item[Arith] \code{signature(e1 = "namedSparse", e2 = "namedSparse")}: ... 
\item[show] \code{signature(object = "namedSparse")}: ... 
}
\end{Section}
\begin{Note}\relax
A constructor makeNamedSparse is illustrated in the
example.
\end{Note}
\begin{Author}\relax
VJ Carey <stvjc@channing.harvard.edu>
\end{Author}
\begin{Examples}
\begin{ExampleCode}
data(A.csr)
namedA <- mkNS(A.csr) # installs default dimnames R{1:nrow}, C{1:ncol}
print(namedA)
print(colSums(namedA))
dimnames(namedA) <- list(paste("A",1:10,sep=""),paste("B",1:5,sep=""))
print(namedA)
print(namedA %*% t(namedA))
\end{ExampleCode}
\end{Examples}

