dupl.prod {fastmatrix} | R Documentation |
Matrix multiplication envolving the duplication matrix
Description
Given the order of a duplication and a conformable matrix , performs
one of the matrix-matrix operations:
-
, if
side = "left"
andtransposed = FALSE
, or -
, if
side = "left"
andtransposed = TRUE
, or -
, if
side = "right"
andtransposed = FALSE
, or -
, if
side = "right"
andtransposed = TRUE
,
where is the duplication matrix of order
. The main aim of
dupl.prod
is to do this matrix multiplication without forming the
duplication matrix.
Usage
dupl.prod(n = 1, x, transposed = FALSE, side = "left")
Arguments
n |
order of the duplication matrix. |
x |
numeric matrix (or vector). |
transposed |
logical. Duplication matrix should be transposed? |
side |
a string selecting if duplication matrix is pre-multiplying |
Details
Underlying C
code only uses information provided by dupl.info
to
performs the matrix multiplication. The duplication matrix is never created.
See Also
Examples
D4 <- duplication(n = 4, matrix = TRUE)
x <- matrix(1, nrow = 16, ncol = 2)
y <- crossprod(D4, x)
z <- dupl.prod(n = 4, x, transposed = TRUE) # D4 is not stored
all(z == y) # matrices y and z are equal!