dupl.prod {fastmatrix}R Documentation

Matrix multiplication envolving the duplication matrix

Description

Given the order of a duplication and a conformable matrix \bold{X}, performs one of the matrix-matrix operations:

where \bold{D} is the duplication matrix of order n. 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 x, that is side = "left" or post-multiplying x, by using side = "right".

Details

Underlying C code only uses information provided by dupl.info to performs the matrix multiplication. The duplication matrix is never created.

See Also

duplication

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!

[Package fastmatrix version 0.5-772 Index]