| unpack {Matrix} | R Documentation |
“Packed” matrix storage here applies to dense matrices
(denseMatrix) only, and there is available only
for symmetric (symmetricMatrix)
or triangular (triangularMatrix) matrices,
where only one triangle of the matrix needs to be stored.
unpack() unpacks “packed” matrices, where
pack() produces “packed” matrices.
pack(x, ...) ## S4 method for signature 'matrix' pack(x, symmetric = NA, upperTri = NA, ...) unpack(x, ...)
x |
|
symmetric |
logical (including |
upperTri |
(for the triangular case only) logical
(incl. |
... |
further arguments passed to or from other methods. |
These are generic functions with special methods for different types
of packed (or non-packed) symmetric or triangular dense
matrices. Use showMethods("unpack") to list
the methods for unpack(), and similarly for pack().
unpack():A Matrix object
containing the full-storage representation of x.
pack():A packed Matrix (i.e. of class "..pMatrix")
representation of x.
showMethods("unpack")
(cp4 <- chol(Hilbert(4))) # is triangular
tp4 <- as(cp4,"dtpMatrix")# [t]riangular [p]acked
str(tp4)
(unpack(tp4))
stopifnot(identical(tp4, pack(unpack(tp4))))
(s <- crossprod(matrix(sample(15), 5,3))) # traditional symmetric matrix
(sp <- pack(s))
mt <- as.matrix(tt <- tril(s))
(pt <- pack(mt))
stopifnot(identical(pt, pack(tt)),
dim(s ) == dim(sp), all(s == sp),
dim(mt) == dim(pt), all(mt == pt), all(mt == tt))
showMethods("pack")