R: Matrix multiplication envolving the symmetrizer matrix

symm.prod {fastmatrix} | R Documentation

## Matrix multiplication envolving the symmetrizer matrix

### Description

Given the order of a symmetrizer and matrix `x`, performs one of the matrix-matrix operations:

- \bold{Y} = \bold{NX}, if `side = "left"`, or

- \bold{Y} = \bold{XN}, if `side = "right"`,

where \bold{N} is the symmetrizer matrix of order n. The main aim of `symm.prod` is to do this matrix multiplication without forming the symmetrizer matrix.

### Usage

    symm.prod(n = 1, x = NULL, side = "left")

### Arguments

`n` | order of the symmetrizer matrix.
`x` | numeric matrix (or vector).
`side` | a string selecting if symmetrizer 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 `symm.info` to performs the matrix multiplication. The symmetrizer matrix is never created.

### See Also

`symmetrizer`

### Examples

    N4 <- symmetrizer(n = 4, matrix = TRUE)
    x <- matrix(1:32, ncol = 2)
    y <- N4 %*% x

    z <- symm.prod(n = 4, x) # N4 is not stored
    all(z == y) # matrices y and z are equal!

[Package fastmatrix version 0.4 Index]