symm.prod: Matrix multiplication envolving the symmetrizer matrix

View source: R/symmetrizer.R

symm.prodR Documentation

Matrix multiplication envolving the symmetrizer matrix

Description

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

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

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

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 \bold{X}, that is side = "left" or post-multiplying \bold{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!

fastmatrix documentation built on Oct. 12, 2023, 5:14 p.m.