Learn R Programming

fastmatrix (version 0.5-7721)

symm.prod: 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

Run this code
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!

Run the code above in your browser using DataLab