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